Results 1 -
5 of
5
Prototyping Parallel and Distributed Programs in Proteus
- IN PROCEEDINGS OF THE THIRD IEEE SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING
, 1991
"... 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 t ..."
Abstract
-
Cited by 27 (6 self)
- Add to MetaCart
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 controlparallelism, 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.
Prototyping N-body Simulation in Proteus
, 1992
"... This paper explores the use of 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 communicating through sha ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
This paper explores the use of 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 communicating through shared memory. Several different parallel algorithms for N-body simulation are presented in Proteus, illustrating how Proteus provides a common foundation for expressing the various parallel programming models. This common foundation allows prototype parallel programs to be tested and evolved without the use of machine-specific languages. To transform prototypes to implementations on specific architectures, program refinement techniques are utilized. Refinement strategies are illustrated that target broad-spectrum parallel intermediate languages, and their viability is demonstrated by refining an N-body algorithm to data-parallel CVL code.
Prototyping High-Performance Parallel Computing Applications in Proteus
- In Proceedings of 1992 DARPA Software Technology Conference
, 1992
"... This paper explores the use of Proteus, an architecture-independent language suitable for prototyping time-sensitive parallel and distributed programs. Proteus is a high-level imperative notation based on sets and sequences with succinct yet powerful constructs for the parallel composition of proce ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
This paper explores the use of Proteus, an architecture-independent language suitable for prototyping time-sensitive parallel and distributed programs. Proteus is a high-level imperative notation based on sets and sequences with succinct yet powerful constructs for the parallel composition of processes communicating through shared memory. Several different parallel algorithms for N-body simulation in molecular dynamics are presented in Proteus, illustrating how Proteus provides a common foundation for expressing the various parallel programming models. This common foundation supports the construction of high-performance computing applications across a wide range of parallel machines through a development methodology in which prototype parallel programs can be tested and evolved without the use of machine-specific languages. To transform prototypes to implementations on specific architectures, program refinement techniques are utilized. Refinement strategies are illustrated that target...
Prototyping N-body Simulation in
- Proceedings of the Sixth International Parallel Processing Symposium (Beverly Hills
, 1992
"... This paper explores the use of Proteus, an architecture-independent language suitable for prototyping parallel and distributed programs. Proteus is a highlevel imperative notation based on sets and sequences with a single construct for the parallel composition of processes communicating through shar ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
This paper explores the use of Proteus, an architecture-independent language suitable for prototyping parallel and distributed programs. Proteus is a highlevel imperative notation based on sets and sequences with a single construct for the parallel composition of processes communicating through shared memory. Several different parallel algorithms for N-body simulation are presented in Proteus, illustrating how Proteus provides a common foundation for expressing the various parallel programming models. This common foundation allows prototype parallel programs to be tested and evolved without the use of machine-specific languages. To transform prototypes to implementations on specific architectures, program refinement techniques are utilized. Refinement strategies are illustrated that target broad-spectrum parallel intermediate languages, and their viability is demonstrated by refining an N-body algorithm to data-parallel CVL code. 1. Introduction Over the past twenty years many diverse...

