Abstract
We provide a short introduction to the data parallel programming model. We argue that parallel computing often makes little distinction between the execution model and the programming model. This results in poor programming and low portability. Using the “GOTO considered harmful” analogy, we show that data parallelism can be seen as a way out of this difficulty. We show that important aspects of the data parallel model were already present in earlier approaches to parallel programming, and demonstrate that the data parallel programming model can be characterized by a small number of concepts with simple semantics.
This work has been partly supported by the French CNRS Coordinated Research Program on Parallelism C3/PRS and Department of Defense DRET Contract 91/1180. Luc Bougé is a member of the INRIA Project ReMaP.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
C. Bareau, B. Caillaud, C. Jard, and R. Thoraval. Correctness of automated distribution of sequential programs. In Parallel Architectures and Languages Europe (PARLE'93), number 694 in Lecture Notes in Computer Science, pages 517–528, 1993.
L. Bougé, D. Cachera, Y. Le Guyadec, G. Utard, and B. Virot. Formal Validation of Data Parallel Programs: Introducing the Assertional Approach. In A. Darte and G.-R. Perrin, editors, Infra, Lecture Notes in Computer Science, chapter 12. Springer Verlag, 1996.
L. Bougé and J.-L. Levaire. Control structures for data-parallel SIMD languages: semantics and implementation. Future Generation Computer Systems, 8(3/4):363–378, 1992.
T. Blank. The MasPar MP-1 architecture. In Proc. of the 35th IEEE Computer Society Int. Conf., Spring COMPCON'90, pages 20–24, San Francisco, 1990.
G.E. Blelloch. Vector models for data-parallel computing. MIT Press, Cambridge, 1990.
L. Bougé. On the semantics of languages for massively parallel SIMD architectures (extended abstract). In Proc. Parallel Arch. and Lang. Europe Conf., PARLE'91, number 506 in Lecture Notes in Computer Science, pages 166–183, Eindhoven, 1991. Springer Verlag.
N. Carreiro and D. Gelertner. Linda in context. Communications of the ACM, 32(4):323–357, 1989.
D. Callahan and K. Kennedy. Compiling programs for distributed-memory multiprocessors. Journal of SuperComputing, 2:151–169, 1988.
E.W.G. Dijkstra. GO TO statement considered harmful. Communications of the ACM, 11:147–148, 1968.
Tz. Elrad and N. Francez. Decomposition of distributed programs into communication-closed layers. Science of Computer Programming, 2:155–173, 1982.
R. Esser and R. Knecht. Intel Paragon XP/S — architecture and software environment. Technical Report KFA-ZAM-IB-9305, Central Institute for Mathemantics, Research Center Juelich, 1993.
P. Feautrier. Asymptotically efficient algorithms for parallel architectures. In Decentralized Systems, pages 273–284. IFIP Working Group 10.3, North-Holland, 1989.
Paul Feautrier. Automatic Parallelization in the Polytope Model. In A. Darte and G.-R. Perrin, editors, Infra, Lecture Notes in Computer Science, chapter 4. Springer Verlag, 1996.
M.J. Flynn. Some computer organizations and their effectiveness. IEEE Trans. on Computers, C-21(9):948–960, 1972.
High Performance Fortran Forum. High Performance Fortran language specification (draft version). CITI/CRPC, Rice Univ., Houston, January 1993. Version 1.0 Draft.
Ian Foster. Designing and Building Parallel Programs. Addison-Wesley, 1995.
Ian Foster. Task Parallelism and High-Performance Languages. In A. Darte and G.-R. Perrin, editors, Infra, Lecture Notes in Computer Science, chapter 9. Springer Verlag, 1996.
C.A.R. Hoare. Communicating sequential processes. Communications of the ACM, 21:666–677, 1978.
Ph.J. Hatcher and M. Quinn. DataParallel C: Compiling DataParallel Languages on MIMD architectures. MIT Press, 1992.
W.D. Hillis and G.L. Steele, Jr. Data-parallel algorithms. Communications of the ACM, 29(12):1170–1183, 1986.
Intel Corporation, Beaverton, OR. Paragon XP/S Product Overview, 1991.
K.E. Iverson. A programming langage. Wiley, New-York, 1962.
R. Keryell, Ph. Matherat, and N. Paris. POMP, or how to design a massively parallel machine with small developments. In Proc. Conf. on Parallel Arch. and Lang. Europe, PARLE'91, number 505 in Lecture Notes in Computer Science, Eindhoven, 1991. Springer Verlag.
Bjørn Lisper. Data Parallelism and Functional Programming. In A. Darte and G.-R. Perrin, editors, Infra, Lecture Notes in Computer Science, chapter 11. Springer Verlag, 1996.
MasPar Computer Corporation, Sunnyvale, CA. Maspar Parallel Application Language Reference Manual, 1990.
MasPar Computer Corporation, Sunnyvale, CA. MP-Fortran Reference Manual, 1990.
N. Paris. Définition de POMPC (version 1.99). Technical Report 92–5, LIENS, Paris, 1992. English version in preparation.
R.H. Perrot. A language for array and vector processors. ACM Trans. on Progr. Lang. and Syst., 1(2):177–195, 1979.
G.L. Steele, Jr. and W.D. Hillis. Connection machine lisp: Fine-grain parallel symbolic processing. In Proc. 1986 ACM Conf. on Lisp and Funct. Progr., pages 279–297, Cambridge, Mass., 1986.
ThinkingMachine Corporation, Cambridge MA. C * Programming Guide, 1990.
Thinking Machine Corporation, Cambridge, MA. CM-FORTRAN Programming Guide, 1990.
Thinking Machine Corporation, Cambridge, MA. CM-2 Technical Summary, 1991.
Thinking Machine Corporation, Cambridge, MA, CM-5 Technical Summary, 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Bougé, L. (1996). The data parallel programming model: A semantic perspective. In: Perrin, GR., Darte, A. (eds) The Data Parallel Programming Model. Lecture Notes in Computer Science, vol 1132. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61736-1_40
Download citation
DOI: https://doi.org/10.1007/3-540-61736-1_40
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61736-5
Online ISBN: 978-3-540-70646-5
eBook Packages: Springer Book Archive