Skip to main content

SPMD Computational Model

  • Reference work entry
Encyclopedia of Parallel Computing

Definition of the Subject

The Single Program – Multiple Data (SPMD) parallel programming paradigm is premised on the concept that all processes participating in the execution of a program work cooperatively to execute that program, but at any given instance different processes may execute different instruction-streams, and act on different data and on different sections in the program, and whereby these processes dynamically self-schedule themselves, according to the program workflow and through synchronization constructs embedded in the application program. SPMD programs comprise of serial, parallel, and replicate sections.

Introduction

The (SPMD) Single Program-Multiple Data model [1–6] is premised on the concept that all processes participating in the (parallel) execution of a program work cooperatively to execute this program, but at any given instance, through synchronization constructs embedded in the application program, different processes may execute different...

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 1,600.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 1,799.99
Price excludes VAT (USA)
  • Durable hardcover 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

Bibliography

  1. Darema-Rogers F (1984) IBM Internal Communication, Jan 1984

    Google Scholar 

  2. Darema-Rogers F, George D, Norton VA, Pfister G (1984) A VM parallel environment. Proceedings of the IBM Kingston Parallel Processing Symposium, 27–29 Nov 1984 (IBM Confidential)

    Google Scholar 

  3. Darema-Rogers F, George DA, Norton VA, Pfister GF (1985) A VM based parallel environment. IBM research report, RC11225

    Google Scholar 

  4. Darema-Rogers F, George DA, Norton VA, Pfister GF (1985) Environment and system interface for VM/EPEX. IBM research report R11381, 9/19/1985

    Google Scholar 

  5. Darema-Rogers F, George DA, Norton VA, Pfister GF (1985) Using a single-program-multiple-data model for parallel execution of scientific applications. SIAM Conference on Parallel Processing for Scientific Computing, November, 1985, and IBM research report R11552, 11/19/1985

    Google Scholar 

  6. Darema F, George DA, Norton VA, Pfister GF (1988) A single-program-multiple-data computational model for EPEX/FORTRAN. Parallel Comput 7:11–24 (received April 1987 upon publication release by IBM - IBM Technical Disclosure Bulletin 29(9) February 1987)

    MATH  Google Scholar 

  7. Pfister G et al (1984) The research parallel processor prototype (RP3). Proceedings of the IBM Kingston Parallel Processing Symposium, 27–29 Nov 1984 (IBM Confidential); and Proceedings of the ICPP, August 1985

    Google Scholar 

  8. Darema F Historical and future perspectives on the SPMD computational model. – Forthcoming Publication

    Google Scholar 

  9. MPI standard – draft released by the MPI Forum. http://www.mcs.anl.gov/Projects/mpi/standard.html

  10. PVM – Parallel Visrtual Machine. http://www.csm.ornl.gov/pvm/pvm_home.html

  11. Foster I, Kesselman C (eds) (1999) The grid: blueprint for a new computing infrastructure. Morgan Kaufmann

    Google Scholar 

  12. OpenMP. http://openmp.org/wp/

  13. Yelick KA, Semenzato L, Pike G, Miyamoto C, Liblit B, Krishnamurthy A, Hilfinger PN, Graham SL, Gay D, Colella P, Aiken A (1998) Concurrency: practice and experience. vol 10, No. 11–13, September-November. An earlier version was presented at the Workshop on Java for High-Performance Network Computing, Palo Alto, CA, Feb 1998

    Google Scholar 

  14. Culler DE, Arpaci-Dusseau AC, Goldstein SC, Krishnamurthy A, Lumetta S, Eicken T, Yelick KA (1993) Parallel programming in Split-C. SC, pp 262–273

    Google Scholar 

  15. El-Ghazawi T, Carlson W, Sterling T, Yelick KA (2005) UPC: distributed shared-memory programming. Wiley, Hoboken

    Google Scholar 

  16. Bronevetsky G, Marques D, Pingali K, Stodghill P (2000) Automated application-level checkpointing of MPI programs. ACM SIGPLAN 38(10):84–94

    Google Scholar 

  17. Bronevetsky G, Marques D, Pingali K, Szwed P, Schulz M (2004) Application-level checkpointing for shared memory programs. ACM Comp Ar 32(5):235–247

    Google Scholar 

  18. George DA MVS/XA EPEX – Environment for parallel execution. IBM research report RC 13158, 9/28/87

    Google Scholar 

  19. VM/System Product (VM/SP). http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3081.html (and MVS/XA also supported)

  20. Stone JM, Darema-Rogers F, Norton VA, Pfister GF Introduction to the VM/EPEX FORTRAN Preprocessor. IBM research report RC 11407, 9/30/85

    Google Scholar 

  21. Stone JM, Darema-Rogers F, Norton VA, Pfister GF The VM/EPEX FORTRAN Preprocessor Reference. IBM research report RC 11408, 9/30/85

    Google Scholar 

  22. Bolmarcich T, Darema-Rogers F Tutorial for EPEX/FORTRAN Program Parallelization and Execution. IBM research report RC12515, 2/18/87

    Google Scholar 

  23. Whet-Ling C, Norton A (1986) VM/EPEX C preprocessor user’s manual. Version 1.0. Technical report RC 12246, IBM T.J. Watson Research Center, Yorktown Heights, NY, October 1986

    Google Scholar 

  24. Gottlieb A, Kruskal CP (1981) Coordinating parallel processors: a partial unification. Computer Architecture News, pp 16–24, October 1981

    Google Scholar 

  25. Darema-Rogers F I/O capabilities in the VM/EPEX system. IBM research report, RC 12219, 10/9/86

    Google Scholar 

  26. Darema F (1987) Applications environment for the IBM research parallel processor prototype (RP3). IBM research report RC 12627, 3/27/87; and Proceedings of the International Conference on Supercomputing (ICS), (published by Springer, Athens, Greece, June 1988

    Google Scholar 

  27. GPFS:http://www.almaden.ibm.com/StorageSystems/projects/gpfs

  28. Schmuck F, Haskin R (2002) GPFS: a shared-disk file system for large computing clusters. (pdf). Proceedings of the FAST’02 Conference on File and Storage Technologies. USENIX, Monterey, California, USA, pp 231–244. ISBN 1-880446-03-0. http://www.usenix.org/events/fast02/full_papers/schmuck/schmuck.pdf Accessed 18 Jan 2008

  29. ARC3D: Pulliam TH Euler and thin layer navier stokes codes: ARC2D, ARC3D. Computational fluid dynamics, A workshop held at the University of Tennessee Space Institute, UTSI publ. E02-4005-023-84, 1984 {other related application programs parallelized included: SIMPLE and HYDRO-1}

    Google Scholar 

  30. Darema-Rogers F, Kirkpatrick S, Norton VA (1987) Parallel techniques for chip placement by simulated annealing. Proceedings of the International Conference on Computer-Aided Design. pp 91–94

    Google Scholar 

  31. Darema F, Kirkpatrick S, Norton VA (1987) Simulated annealing on shared memory parallel systems. IBM Journal of R&D 31:391–402

    Google Scholar 

  32. Jayaraman R, Darema F Error analysis of parallel simulated annealing techniques. Proceedings of the ICCD’88, Rye, NY, 10/3-5/88

    Google Scholar 

  33. Greening D, Darema F Rectangular spatial decomposition methods for parallel simulated annealing. IBM research report, RC14636, 5/2/89, and in the Proceedings of the International Conference on Supercomputing ‘89. Crete-Greece

    Google Scholar 

  34. Darema F (2009) Report on cyberifrastructures of cyber-applications-systems & cyber-systems-software, submitted for external publication

    Google Scholar 

  35. DDDAS. www.cise.nsf.gov/dddas

  36. DDDAS. www.dddas.org

  37. Darema F (2005) Grid computing and beyond: the context of dynamic data driven applications systems. Proc IEEE (Special Issue on Grid Computing) 93(3):692– 697

    Google Scholar 

  38. Darema F (2000) New software architecture for complex applications development and runtime support. Int J High-Perform Comput (Special Issue on Programming Environments, Clusters, and Computational Grids For Scientific Computing) 14(3)

    Google Scholar 

  39. GRADS project. http://www.hipersoft.rice.edu/grads/

  40. Adve VS, Sanders WH A compiler-enabled model- and measurement-driven adaptation environment for dependability and performance. – http://www.perform.csl.illinois.edu/projects/newNSFNGS.html LLVL compiler – http://llvlm.org

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer Science+Business Media, LLC

About this entry

Cite this entry

Darema, F. (2011). SPMD Computational Model. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_26

Download citation

Publish with us

Policies and ethics