Prototyping parallel and distributed programs in Proteus
© 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.
Mills, PH; Nyland, LS; Prins, JF; Reif, JH; Wagner, RA
Proceedings of the 3rd Ieee Symposium on Parallel and Distributed Processing 1991
Start / End Page
International Standard Book Number 10 (ISBN-10)
International Standard Book Number 13 (ISBN-13)
Digital Object Identifier (DOI)