Par: an approach to architecture-independent parallel programming
Michael H. Coffin, Gregory R. Andrews · UA Campus Repository (The University of Arizona) · 1990
This dissertation addresses the problem of writing portable programs for parallel computers, including shared memory, distributed, and non-uniform memory access architectures. The basis of our approach is to separate the expression of the algorithm from the machine-dependent details that are necessary to achieve good performance. The method begins with a statement of the algorithm in a classic, explicitly parallel, manner. This basic program is then annotated to specify architecture-dependent details such as scheduling and mapping. These ideas have been cast in terms of a programming language, Par, which provides flexible facilities for a range of programming styles, from shared memory to message passing. Par is used to specify both the algorithm and the implementation of the annotations.