A Compiler Approach to Scalable Concurrent-Program Design

7Citations
Citations of this article
18Readers
Mendeley users who have this article in their library.

Abstract

We describe a compilation system for the concurrent programming language Program Composition Notation 1994. 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. © 1994, ACM. All rights reserved.

Cite

CITATION STYLE

APA

Foster, I., & Taylor, S. (1994). A Compiler Approach to Scalable Concurrent-Program Design. ACM Transactions on Programming Languages and Systems (TOPLAS), 16(3), 577–604. https://doi.org/10.1145/177492.177612

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free