Foster, Ian and Taylor, Stephen (1994) A Compiler Approach to Scalable Concurrent-Program Design. ACM Transactions on Programming Languages and Systems (TOPLAS), 16 (3). pp. 577-604. ISSN 0164-0925. doi:10.1145/177492.177612. https://resolver.caltech.edu/CaltechAUTHORS:20161020-135051459
Full text is not posted in this repository. Consult Related URLs below.
Use this Persistent URL to link to this item: https://resolver.caltech.edu/CaltechAUTHORS:20161020-135051459
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.
Item Type: | Article | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Related URLs: |
| ||||||||||
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. | ||||||||||
Funders: |
| ||||||||||
Subject Keywords: | Design, Languages, Monotonicity, program composition, programming abstractions, source-to-source transformations | ||||||||||
Issue or Number: | 3 | ||||||||||
Classification Code: | Categories and Subject Descriptors: D. 1.3 [Programming Techniques]: Concurrent Program- ming; D.2. 10 [Software Engineering]: Design—methodologies; D.3.4 [Programming Lan- guages]: Processors—compilers; run-time environments | ||||||||||
DOI: | 10.1145/177492.177612 | ||||||||||
Record Number: | CaltechAUTHORS:20161020-135051459 | ||||||||||
Persistent URL: | https://resolver.caltech.edu/CaltechAUTHORS:20161020-135051459 | ||||||||||
Official Citation: | Ian Foster and Stephen Taylor. 1994. A compiler approach to scalable concurrent-program design. ACM Trans. Program. Lang. Syst. 16, 3 (May 1994), 577-604. DOI=http://dx.doi.org/10.1145/177492.177612 | ||||||||||
Usage Policy: | No commercial reproduction, distribution, display or performance rights in this work are provided. | ||||||||||
ID Code: | 71324 | ||||||||||
Collection: | CaltechAUTHORS | ||||||||||
Deposited By: | INVALID USER | ||||||||||
Deposited On: | 20 Oct 2016 22:02 | ||||||||||
Last Modified: | 11 Nov 2021 04:43 |
Repository Staff Only: item control page