Skip to main content

The Collective Semantics in Functional SPMD Programming

  • Conference paper
  • First Online:
Implementation of Functional Languages (IFL 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2011))

Included in the following conference series:

  • 198 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. G. Akl. Parallel Computation Models and Methods. Prentice Hall, 1997.

    Google Scholar 

  2. K. Hammond and G. Michaelson, editors. Research Directions in Parallel Functional Programming. Springer Verlag, 1999.

    Google Scholar 

  3. John O'Donnell. Research Directions in Parallel Functional Programming, chapter Data Parallelism. Springer Verlag, 1999.

    Google Scholar 

  4. John O'Donnell and Gudula RĂ¼nger. Abstract parallel machines. Computers and Artificial Intelligence (continued as Computing and Informatics), 19(2):105–129, 2000.

    MATH  Google Scholar 

  5. Thomas Rauber and Gudula RĂ¼nger. Deriving structured parallel implementations for numerical methods. Microprocessing and Microprogramming, 41:589–608, 1996.

    Article  Google Scholar 

  6. D. Skillicorn and D. Talia. Models and languages for parallel computation. ACM Computing Surveys, 30(2):123–169, 1998.

    Article  Google Scholar 

  7. M. Snir, S. W. Otto, S. Huss-Lederman, D. Walker, and J. Dongarra. MPI The Complete Reference. MIT Press, 1995.

    Google Scholar 

  8. D. Walker. The design of a standard message-passing interface for distributed memory concurrent computers. Parallel Computing, 20(4):657–673, April 1994.

    Google Scholar 

  9. Michael Weber. hMPI, a Haskell binding for MPI. http://www-i2.informatik.rwthaachen. de/Software/Haskell/libs, 2000.

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics