A Caltech Library Service

A compiler approach to scalable concurrent program design

Foster, Ian and Taylor, Stephen (1992) A compiler approach to scalable concurrent program design. California Institute of Technology , Pasadena, CA.

See Usage Policy.


Use this Persistent URL to link to this item:


The programmer's most powerful tool for controlling complexity in program design is abstraction. We seek to use abstraction in the design of concurrent programs, so as to separate design decisions concerned with decomposition, communication, synchronization, mapping, granularity, and load balancing. This paper describes programming and compiler techniques intended to facilitate this design strategy. The programming techniques are based on a core programming notation with two important properties: the ability to separate concurrent programming concerns, and extensibility with reusable programmer-defined abstractions. The compiler techniques are based on a simple transformation system together with a set of compilation transformations and portable run-time support. The transformation system allows programmer-defined abstractions to be defined as source-to-source transformations that convert abstractions into the core notation. The same transformation system is used to apply compilation transformations that incrementally transform the core notation toward an abstract concurrent machine. This machine can be implemented on a variety of concurrent architectures using simple run-time support. The transformation, compilation, and run-time system techniques have been implemented and are incorporated in a public-domain program development toolkit. This toolkit operates on a wide variety of networked workstations, multicomputers, and shared-memory multiprocessors. It includes a program transformer, concurrent compiler, syntax checker, debugger, performance analyzer, and execution animator. A variety of substantial applications have been developed using the toolkit, in areas such as climate modeling and fluid dynamics.

Item Type:Report or Paper (Technical Report)
Additional Information:This research is sponsored by the Defense Advanced Research Projects Agency, DARPA Order 8176, monitored by the Office of Naval Research under contract N00014-91-J-1986, and by the National Science Foundation under Contract NSF CCR-8809615.
Group:Computer Science Technical Reports
Record Number:CaltechCSTR:1992.cs-tr-92-07
Persistent URL:
Usage Policy:You are granted permission for individual, educational, research and non-commercial reproduction, distribution, display and performance of this work in any format.
ID Code:27090
Deposited By: Imported from CaltechCSTR
Deposited On:29 May 2008
Last Modified:03 Oct 2019 03:20

Repository Staff Only: item control page