Language constructs and runtime systems for compositional parallel programming
- Argonne National Lab., IL (United States)
- California Institute of Technology, Pasadena, CA (United States). Beckman Institute
In task-parallel programs, diverse activities can take place concurrently, and communication and synchronization patterns are complex and not easily predictable. Previous work has identified compositionality as an important design principle for task-parallel programs. In this paper, we discuss alternative approaches to the realization of this principle. We first provide a review and critical analysis of Strand, an early compositional programming language. We examine the strengths of the Strand approach and also its weaknesses, which we attribute primarily to the use of a specialized language. Then, we present an alternative programming language framework that overcomes these weaknesses. This framework uses simple extensions to existing sequential languages (C++ and Fortran) and a common runtime system to provide a basis for the construction of large, task-parallel programs. We also discuss the runtime system techniques required to support these languages on parallel and distributed computer systems.
- Research Organization:
- Argonne National Lab., IL (United States)
- Sponsoring Organization:
- USDOE, Washington, DC (United States); National Science Foundation, Washington, DC (United States)
- DOE Contract Number:
- W-31109-ENG-38
- OSTI ID:
- 32551
- Report Number(s):
- ANL/MCS/CP--85720; CONF-9408222--1; ON: DE95008298
- Country of Publication:
- United States
- Language:
- English
Similar Records
Transparent runtime parallelization of the R scripting language
The Nexus task-parallel runtime system