Flexible Language Constructs for Large Parallel Programs
Abstract
The goal of the research described in this article is to develop flexible language constructs for writing large data parallel numerical programs for distributed memory (multiple instruction multiple data [MIMD]) multiprocessors. Previously, several models have been developed to support synchronization and communication. Models for global synchronization include single instruction multiple data (SIMD), single program multiple data (SPMD), 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 article, 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 article, we give an overview of the language and discuss some of the critical implementation details.
- Authors:
-
- Pacific Northwest Laboratory, Richland, WA 99352, USA
- University of Colorado, Boulder, CO 80309, USA
- Publication Date:
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1228139
- Grant/Contract Number:
- AC06-76RLO 183
- Resource Type:
- Published Article
- Journal Name:
- Scientific Programming
- Additional Journal Information:
- Journal Name: Scientific Programming Journal Volume: 3 Journal Issue: 3; Journal ID: ISSN 1058-9244
- Publisher:
- Hindawi Publishing Corporation
- Country of Publication:
- Egypt
- Language:
- English
Citation Formats
Rosing, Matt, and Schnabel, Robert. Flexible Language Constructs for Large Parallel Programs. Egypt: N. p., 1994.
Web. doi:10.1155/1994/209864.
Rosing, Matt, & Schnabel, Robert. Flexible Language Constructs for Large Parallel Programs. Egypt. https://doi.org/10.1155/1994/209864
Rosing, Matt, and Schnabel, Robert. Sat .
"Flexible Language Constructs for Large Parallel Programs". Egypt. https://doi.org/10.1155/1994/209864.
@article{osti_1228139,
title = {Flexible Language Constructs for Large Parallel Programs},
author = {Rosing, Matt and Schnabel, Robert},
abstractNote = {The goal of the research described in this article is to develop flexible language constructs for writing large data parallel numerical programs for distributed memory (multiple instruction multiple data [MIMD]) multiprocessors. Previously, several models have been developed to support synchronization and communication. Models for global synchronization include single instruction multiple data (SIMD), single program multiple data (SPMD), 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 article, 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 article, we give an overview of the language and discuss some of the critical implementation details.},
doi = {10.1155/1994/209864},
journal = {Scientific Programming},
number = 3,
volume = 3,
place = {Egypt},
year = {Sat Jan 01 00:00:00 EST 1994},
month = {Sat Jan 01 00:00:00 EST 1994}
}
https://doi.org/10.1155/1994/209864