Flexible language constructs for large parallel programs

  • Authors:
  • Matt Rosing;Robert Schnabel

  • Affiliations:
  • -;-

  • Venue:
  • Scientific Programming
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

The goal of the research described in this article is to developflexible language constructs for writing large data parallelnumerical programs for distributed memory (multiple instructionmultiple data [MIMD]) multiprocessors. Previously, several modelshave been developed to support synchronization and communication.Models for global synchronization include single instructionmultiple data (SIMD), single program multiple data (SPMD), andsequential programs annotated with data distribution statements.The two primary models for communication include implicitcommunication based on shared memory and explicit communicationbased on messages. None of these models by themselves seemsufficient to permit the natural and efficient expression of thevariety of algorithms that occur in large scientific computations.In this article, we give an overview of a new language thatcombines many of these programming models in a clean manner. Thisis done in a modular fashion such that different models can becombined to support large programs. Within a module, the selectionof a model depends on the algorithm and its efficiencyrequirements. In this article, we give an overview of the languageand discuss some of the critical implementation details.