Published May 1994 | Version public
Journal Article

A Compiler Approach to Scalable Concurrent-Program Design

  • 1. ROR icon Argonne National Laboratory
  • 2. ROR icon California Institute of Technology

Abstract

We describe a compilation system for the concurrent programming language Program Composition Notation (PCN). This notation provides a single-assignment programming model that permits concurrent-programming concerns such as decomposition, communication, synchronization, mapping, granularity, and load balancing to be addressed separately in a design. PCN is also extensible with programmer-defined operators, allowing common abstractions to be encapsulated and reused in different contexts. The compilation system incorporates a concurrent-transformation system that allows abstractions to be defined through concurrent source-to-source transformations; these convert programmer-defined operators into a core notation. Run-time techniques allow the core notation to be compiled into a simple concurrent abstract machine which can be implemented in a portable fashion using a run-time library. The abstract machine provides a uniform treatment of single-assignment and mutable data structures, allowing data sharing between concurrent and sequential program segments and permitting integration of sequential C and Fortran code into concurrent programs. This compilation system forms part of a program development toolkit that operates on a wide variety of networked workstations, multicomputers, and shared-memory multiprocessors. The toolkit has been used both to develop substantial applications and to teach introductory concurrent-programming classes, including a freshman course at Caltech.

Additional Information

© 1994 ACM. Received May 1992; revised May 1993; accepted August 1993. This research is sponsored by the Advanced Research Projects Agency, ARPA Order 8176, monitored by the Office of Naval Research under contract N00014-91-J-1986, and by the National Science Foundation under contracts NSF CCR-8809615 and ASC-9157650.

Additional details

Identifiers

Eprint ID
71324
DOI
10.1145/177492.177612
Resolver ID
CaltechAUTHORS:20161020-135051459

Related works

Describes
10.1145/177492.177612 (DOI)

Funding

Advanced Research Projects Agency (ARPA)
8176
Office of Naval Research (ONR)
N00014-91-J-1986
NSF
CCR-8809615
NSF
ASC-9157650

Dates

Created
2016-10-20
Created from EPrint's datestamp field
Updated
2021-11-11
Created from EPrint's last_modified field