GLU: A High-Level System for Granular Data-Parallel Programming

We describe a high-level system for granular data-parallel programming called GLU in which parallel applications are described as succinct implicitly parallel intensional compositions using sequential imperative functions. We show how di erent architecture-independent parallel programs can be generated from the high-level application description. We also show how GLU enables functional debugging of parallel applications without requiring their parallel execution. To illustrate the e ciency of parallel programs generated in GLU, we consider the results of a performance study of three real parallel GLU applications, executed on two di erent parallel computers. Finally, we compare GLU to other very high-level systems for granular data-parallel programming. ii

[1]  Jack J. Dongarra,et al.  Graphical development tools for network-based concurrent supercomputing , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[2]  S. Deans The Radon Transform and Some of Its Applications , 1983 .

[3]  P.J. Hurst,et al.  High-speed computation of the Radon transform and backprojection using an expandable multiprocessor architecture , 1992, IEEE Trans. Circuits Syst. Video Technol..

[4]  Didier Le Gall,et al.  MPEG: a video compression standard for multimedia applications , 1991, CACM.

[5]  Geoffrey C. Fox,et al.  Developing Interactive PVM-based Parallel Programs on Distributed Computing Systems within AVS Framework , 1994 .

[6]  Chris Dodd,et al.  An application experience with an implicitly parallel composition language , 1994 .

[7]  John Thornley Integrating functional and imperative parallel programming: CC++ solutions to the Salishan problems , 1994, Proceedings of 8th International Parallel Processing Symposium.

[8]  Jenq Kuen Lee,et al.  Object oriented parallel programming: experiments and results , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[9]  R. Jagannathan,et al.  Multidimensional programming , 1995 .

[10]  David B. Loveman High performance Fortran , 1993, IEEE Parallel & Distributed Technology: Systems & Applications.

[11]  Jorge L. C. Sanz,et al.  P3E: New Life for Projection-Based Image Processing , 1987, J. Parallel Distributed Comput..

[12]  Stephen Gerard Azevedo Model-based computed tomography for nondestructive evaluation , 1991 .

[13]  James C. Browne,et al.  The CODE 2.0 graphical parallel programming language , 1992, ICS '92.

[14]  Gordon Bell,et al.  Ultracomputers: a teraflop before its time , 1992, CACM.

[15]  Edward A. Ashcroft,et al.  Dataflow and Education: Data-driven and Demand-driven Distributed Computation , 1986, Current Trends in Concurrency.

[16]  Jack Dongarra,et al.  PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing , 1995 .

[17]  Vaidy S. Sunderam,et al.  PVM: A Framework for Parallel Distributed Computing , 1990, Concurr. Pract. Exp..

[18]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[19]  K. Mani Chandy,et al.  An introduction to parallel programming , 1992 .

[20]  Lars Nyland,et al.  Prototyping High-Performance Parallel Computing Applications in Proteus , 1992 .

[21]  Albert Macovski,et al.  The use of a priori information in image reconstruction from limited data , 1983, ICASSP.