Flexible Language Constructs for Large Parallel Programs

Abstract

The goal of the research described in this paper is to develop flexible language constructs for writing large data parallel numerical programs for distributed memory (MIMD) multiprocessors. Previously, several models have been developed to support synchronization and communication. Models for global synchronization include SIMD (Single Instruction Multiple Data), SPMD (Single Program Multiple Data), and sequential programs annotated with data distribution statements. The two primary models for communication include implicit communication based on shared memory and explicit communication based on messages. None of these models by themselves seem sufficient to permit the natural and efficient expression of the variety of algorithms that occur in large scientific computations. In this paper, we give an overview of a new language that combines many of these programming models in a clean manner. This is done in a modular fashion such that different models can be combined to support large programs. Within a module, the selection of a model depends on the algorithm and its efficiency requirements. In this paper, we give an overview of the language and discuss some of the critical implementation details.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jun 01, 1993
Accession Number
ADA268783

Entities

People

  • Matthew Rosing
  • Robert Schnabel

Tags

DTIC Thesaurus Topics

  • Algorithms
  • Computational Fluid Dynamics
  • Computations
  • Computer Programming
  • Computer Science
  • Computers
  • Contracts
  • Differential Equations
  • Eigenvalues
  • Engineering
  • Equations
  • High Performance Computing
  • Language
  • Parallel Computing
  • Parallel Processing
  • Programming Languages
  • Virtual Machines

Fields of Study

  • Computer science

Readers

  • Computer Science.
  • Parallel and Distributed Computing.