Invited Lecture: Foundations of Practical Parallel Programming Languages

A practical formulation of parallel programming languages is presented based on an analogy with sequential programming languages. The essential components are a machine model, a programming model and a programming language. For the parallel case, the CTA is used as the machine model, Phase Abstractions are used as the programming model, and the Orca family of languages are used to illustrate language design.

[1]  Joel H. Saltz,et al.  Solving Unstructured Mesh Problems with Domain Decomposed GMRES/ILU , 1991, PPSC.

[2]  Harry F. Jordan,et al.  Report of the Purdue Workshop on Grand Challenges in Computer Architecture for the Support of High Performance Computing , 1992, J. Parallel Distributed Comput..

[3]  William G. Griswold,et al.  How Port Ensembles Aid the Efficient Retargeting of Reduction Algorithms , 1990, ICPP.

[4]  William G. Griswold,et al.  A flexible communication abstraction for nonshared memory parallel computing , 1990, Proceedings SUPERCOMPUTING '90.

[5]  Lawrence Snyder,et al.  ZPL: An Array Sublanguage , 1993, LCPC.

[6]  Lawrence Snyder,et al.  Type architectures, shared memory, and the corollary of modest potential , 1986 .

[7]  William G. Griswold,et al.  Scalable Abstractions for Parallel Programming , 1990, Proceedings of the Fifth Distributed Memory Computing Conference, 1990..

[8]  Lawrence Snyder,et al.  Data Ensemles in Orca C , 1992, LCPC.

[9]  Anant Agarwal,et al.  Limits on Interconnection Network Performance , 1991, IEEE Trans. Parallel Distributed Syst..

[10]  Lawrence Snyder,et al.  A Comparison of Programming Models for Shared Memory Multiprocessors , 1990, ICPP.

[11]  Smaragda Konstantinidou,et al.  On the Comparison of Hypercube and Torus Networks , 1992, ICPP.

[12]  Richard J. Anderson,et al.  A comparison of shared and nonshared memory models of parallel computation , 1991 .

[13]  Robert H. Halstead,et al.  MULTILISP: a language for concurrent symbolic computation , 1985, TOPL.

[14]  Lawrence Snyder Applications of the “phase abstractions” for portable and scalable parallel programming , 1992 .

[15]  Lawrence Snyder The XYZ abstraction levels of Poker-like languages , 1990 .

[16]  Lawrence Snyder,et al.  On the influence of programming models on shared memory computer performance , 1992, Proceedings Scalable High Performance Computing Conference SHPCC-92..