MPI + MPI: a new hybrid approach to parallel programming with MPI plus shared memory

Hybrid parallel programming with the message passing interface (MPI) for internode communication in conjunction with a shared-memory programming model to manage intranode parallelism has become a dominant approach to scalable parallel programming. While this model provides a great deal of flexibilit...

Full description

Saved in:
Bibliographic Details
Published inComputing Vol. 95; no. 12; pp. 1121 - 1136
Main Authors Hoefler, Torsten, Dinan, James, Buntinas, Darius, Balaji, Pavan, Barrett, Brian, Brightwell, Ron, Gropp, William, Kale, Vivek, Thakur, Rajeev
Format Journal Article
LanguageEnglish
Published Vienna Springer Vienna 01.12.2013
Springer Nature B.V
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Hybrid parallel programming with the message passing interface (MPI) for internode communication in conjunction with a shared-memory programming model to manage intranode parallelism has become a dominant approach to scalable parallel programming. While this model provides a great deal of flexibility and performance potential, it saddles programmers with the complexity of utilizing two parallel programming systems in the same application. We introduce an MPI-integrated shared-memory programming model that is incorporated into MPI through a small extension to the one-sided communication interface. We discuss the integration of this interface with the MPI 3.0 one-sided semantics and describe solutions for providing portable and efficient data sharing, atomic operations, and memory consistency. We describe an implementation of the new interface in the MPICH2 and Open MPI implementations and demonstrate an average performance improvement of 40 % to the communication component of a five-point stencil solver.
ISSN:0010-485X
1436-5057
DOI:10.1007/s00607-013-0324-2