Abstract
SPMD programs are usually written from the perspective of a single processor, yet the intended behaviour is an aggregate computation comprising many processors running the same program on local data. Combinators, suchas map, fold, scan and multibroadcast, provide a flexible way to express SPMD programs more naturally and more abstractly at the collective level. A good SPMD programming methodology begins with a specification at the collective level, where many significant transformations and optimisations can be introduced. Eventually, however, this collective level program must be transformed to the individual level in order to make it executable on an SPMD system. This paper introduces a technique needed to make the transformation possible within a formal framework: a special collective semantics for the individual level program is required in order to justify a transformation from the collective level to the individual level. The collective semantics defines the meanings of the collective communication operations, and it allows equational reasoning to be used for deriving and implementing SPMD programs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
S. G. Akl. Parallel Computation Models and Methods. Prentice Hall, 1997.
K. Hammond and G. Michaelson, editors. Research Directions in Parallel Functional Programming. Springer Verlag, 1999.
John O'Donnell. Research Directions in Parallel Functional Programming, chapter Data Parallelism. Springer Verlag, 1999.
John O'Donnell and Gudula RĂ¼nger. Abstract parallel machines. Computers and Artificial Intelligence (continued as Computing and Informatics), 19(2):105–129, 2000.
Thomas Rauber and Gudula RĂ¼nger. Deriving structured parallel implementations for numerical methods. Microprocessing and Microprogramming, 41:589–608, 1996.
D. Skillicorn and D. Talia. Models and languages for parallel computation. ACM Computing Surveys, 30(2):123–169, 1998.
M. Snir, S. W. Otto, S. Huss-Lederman, D. Walker, and J. Dongarra. MPI The Complete Reference. MIT Press, 1995.
D. Walker. The design of a standard message-passing interface for distributed memory concurrent computers. Parallel Computing, 20(4):657–673, April 1994.
Michael Weber. hMPI, a Haskell binding for MPI. http://www-i2.informatik.rwthaachen. de/Software/Haskell/libs, 2000.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
O’Donnell, J. (2001). The Collective Semantics in Functional SPMD Programming. In: Mohnen, M., Koopman, P. (eds) Implementation of Functional Languages. IFL 2000. Lecture Notes in Computer Science, vol 2011. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45361-X_15
Download citation
DOI: https://doi.org/10.1007/3-540-45361-X_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41919-8
Online ISBN: 978-3-540-45361-1
eBook Packages: Springer Book Archive