Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Hierarchical computation in the SPMD programming model

Conference ·
Large-scale parallel machines are programmed mainly with the single program, multiple data (SPMD) model of parallelism. While this model has advantages of scalability and simplicity, it does not fit well with divide-and-conquer parallelism or hierarchical machines that mix shared and distributed memory. In this paper, we define the recursive single program, multiple data model (RSPMD) that extends SPMD with a hierarchical team mechanism to support hierarchical algorithms and machines. We implement this model in the Titanium language and describe how to eliminate a class of deadlocks by ensuring alignment of collective operations. We present application case studies evaluating the RSPMD model, showing that it enables divide-and-conquer algorithms such as sorting to be elegantly expressed and that team collective operations increase performance of conjugate gradient by up to a factor of two. The model also facilitates optimizations for hierarchical machines, improving scalability of particle in cell by 8x and performance of sorting and a stencil code by up to 40% and 14%, respectively.
Research Organization:
Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States)
Sponsoring Organization:
USDOE Office of Science (SC)
DOE Contract Number:
AC02-05CH11231;
OSTI ID:
1523918
Conference Information:
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Country of Publication:
United States
Language:
English

References (12)

Titanium: a high-performance Java dialect journal September 1998
Concurrency Analysis for Parallel Programs with Textually Aligned Barriers book January 2006
Titanium Performance and Potential: An NPB Experimental Study book January 2006
Hierarchical Pointer Analysis for Distributed Programs book January 2007
Harnessing the Multicores: Nested Data Parallelism in Haskell book January 2008
Hierarchical Place Trees: A Portable Abstraction for Task Parallelism and Data Movement book January 2010
Enforcing Textual Alignment of Collectives Using Dynamic Checks book January 2010
Sequoia: Programming the Memory Hierarchy conference November 2006
Designing a unified programming model for heterogeneous machines
  • Garland, Michael; Kudlur, Manjunath; Zheng, Yili
  • 2012 SC - International Conference for High Performance Computing, Networking, Storage and Analysis, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis https://doi.org/10.1109/SC.2012.48
conference November 2012
Programming for parallelism and locality with hierarchically tiled arrays
  • Bikshandi, Ganesh; Guo, Jia; Hoeflinger, Daniel
  • Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '06 https://doi.org/10.1145/1122971.1122981
conference January 2006
Co-array Fortran for parallel programming journal August 1998
The Nas Parallel Benchmarks journal September 1991

Similar Records

Visualizing the performance of SPMD and data-parallel programs
Journal Article · 1993 · Journal of Parallel and Distributed Computing; (United States) · OSTI ID:6432710

Supporting divide-and-conquer algorithms for image processing
Journal Article · 1987 · J. Parallel Distrib. Comput.; (United States) · OSTI ID:6984858

CilkSpec: Optimistic Concurrency for Cilk
Conference · 2015 · OSTI ID:1236312

Related Subjects