Prototyping parallel and distributed programs in Proteus


Conference Paper

© 1991 IEEE. This paper presents Proteus, an architecture-independent language suitable for prototyping parallel and distributed programs. Proteus is a high-level imperative notation based on sets and sequences with a single construct for the parallel composition of processes. Although a shared-memory model is the basis for communication between processes, this memory can be partitioned into shared and private variables. Parallel processes operate on individual copies of private variables, which are independently updated and may be merged into the shared state at specifiable barrier synchronization points. Several examples are given to illustrate how the various parallel programming models, such as synchronous data-parallelism and asynchronous control-parallelism, can be expressed in terms of this foundation. This common foundation allows prototypes to be tested, evolved and finally implemented through refinement techniques targeting specific architectures.

Full Text

Duke Authors

Cited Authors

  • Mills, PH; Nyland, LS; Prins, JF; Reif, JH; Wagner, RA

Published Date

  • January 1, 1991

Published In

  • Proceedings of the 3rd Ieee Symposium on Parallel and Distributed Processing 1991

Start / End Page

  • 26 - 34

International Standard Book Number 10 (ISBN-10)

  • 0818623101

International Standard Book Number 13 (ISBN-13)

  • 9780818623103

Digital Object Identifier (DOI)

  • 10.1109/SPDP.1991.218300

Citation Source

  • Scopus