An Overview of Dino -- A New Language for Numerical Computation on Distributed Memory Multiprocessors

Abstract

The authors briefly discuss the design of a new programming language, called DINO, for programming parallel numerical algorithms on distributed memory multiprocessors. A significant difficulty with most current approaches to programming such computers is that interprocess communication and process control must be specified explicitly through messages, thereby making the parallel program difficult to write, debug, and understand. The authors' approach is to add several high-level constructs to the standard C programming language that allows the programmer to describe the parallel algorithm to the computer in a natural way, similar to the way in which the algorithm designer might informally describe the algorithm. These constructs include the specification of a data structure of virtual processors that is appropriate for the problem, and the ability to map data and procedures to this virtual parallel machine. Parallelism is achieved through a concurrent procedure call that utilizes these data and procedure mappings. All the necessary interprocess communication and process control results implicitly through these constructs. The paper includes a sample DINO program for parallel solution of Poisson's Equation.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Mar 01, 1988
Accession Number
ADA446132

Entities

People

  • Matthew Rosing
  • Robert B. Schnabel

Organizations

  • University of Colorado Boulder

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • C Programming Language
  • Computations
  • Computer Programming
  • Computers
  • Information Operations
  • Language
  • Mathematical Analysis
  • Mathematics
  • Multiprocessors
  • Parallel Computing
  • Parallel Processing
  • Processing Equipment
  • Programming Languages

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Computer Engineering
  • Database Systems and Applications