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

Logically Parallel Communication for Fast MPI+Threads Applications

Journal Article · · IEEE Transactions on Parallel and Distributed Systems
 [1];  [2];  [3];  [2];  [1];  [3]
  1. University of California, Irvine, CA (United States)
  2. University of Utah, Salt Lake City, UT (United States)
  3. Argonne National Laboratory (ANL), Argonne, IL (United States)

Supercomputing applications are increasingly adopting the MPI+threads programming model over the traditional "MPI everywhere" approach to better handle the disproportionate increase in the number of cores compared with other on-node resources. In practice, however, most applications observe a slower performance with MPI+threads primarily because of poor communication performance. Recent research efforts on MPI libraries address this bottleneck by mapping logically parallel communication, that is, operations that are not subject to MPI's ordering constraints to the underlying network parallelism. Domain scientists, however, typically do not expose such communication independence information because the existing MPI-3.1 standard's semantics can be limiting. Researchers had initially proposed user-visible endpoints to combat this issue, but such a solution requires intrusive changes to the standard (new APIs). The upcoming MPI-4.0 standard, on the other hand, allows applications to relax unneeded semantics and provides them with many opportunities to express logical communication parallelism. Here in this article, we show how MPI+threads applications can achieve high performance with logically parallel communication. Through application case studies, we compare the capabilities of the new MPI-4.0 standard with those of the existing one and user-visible endpoints (upper bound). Logical communication parallelism can boost the overall performance of an application by over 2x.

Research Organization:
Argonne National Laboratory (ANL), Argonne, IL (United States)
Sponsoring Organization:
USDOE Office of Science; National Science Foundation (NSF); University of Utah
Grant/Contract Number:
AC02-06CH11357
OSTI ID:
1846741
Journal Information:
IEEE Transactions on Parallel and Distributed Systems, Journal Name: IEEE Transactions on Parallel and Distributed Systems Journal Issue: 12 Vol. 32; ISSN 1045-9219
Publisher:
IEEECopyright Statement
Country of Publication:
United States
Language:
English

References (36)

Scalable large-scale fluid-structure interaction solvers in the Uintah framework via hybrid task-based parallelism algorithms: UINTAH HYBRID TASK-BASED PARALLELISM ALGORITHMS journal July 2013
OpenMP in VASP: Threading and SIMD journal December 2018
hypre: A Library of High Performance Preconditioners
  • Falgout, Robert D.; Yang, Ulrike Meier; Goos, Gerhard
  • Computational Science — ICCS 2002: International Conference Amsterdam, The Netherlands, April 21–24, 2002 Proceedings, Part III https://doi.org/10.1007/3-540-47789-6_66
book April 2002
Scaling Hypre’s Multigrid Solvers to 100,000 Cores book January 2012
Finepoints: Partitioned Multithreaded MPI Communication
  • Grant, Ryan E.; Dosanjh, Matthew G. F.; Levenhagen, Michael J.
  • High Performance Computing: 34th International Conference, ISC High Performance 2019, Frankfurt/Main, Germany, June 16–20, 2019, Proceedings, p. 330-350 https://doi.org/10.1007/978-3-030-20656-7_17
book May 2019
A Scalable Algorithm for Radiative Heat Transfer Using Reverse Monte Carlo Ray Tracing book January 2015
Toward Efficient Support for Multithreaded MPI Communication book January 2008
MPI + MPI: a new hybrid approach to parallel programming with MPI plus shared memory journal May 2013
Smilei : A collaborative, open-source, multi-purpose particle-in-cell code for plasma simulation journal January 2018
High performance computing using MPI and OpenMP on multi-core parallel systems journal September 2011
Collectives in hybrid MPI+MPI code: Design, practice and performance journal November 2020
The energy band memory server algorithm for parallel Monte Carlo transport calculations
  • Felker, Kyle G.; Siegel, Andrew R.; Smith, Kord S.
  • SNA + MC 2013 - Joint International Conference on Supercomputing in Nuclear Applications + Monte Carlo https://doi.org/10.1051/snamc/201404207
conference January 2014
Give MPI Threading a Fair Chance: A Study of Multithreaded MPI Designs conference September 2019
An Evaluation of An Asynchronous Task Based Dataflow Approach For Uintah conference July 2019
UCX: An Open Source Framework for HPC Network APIs and Beyond conference August 2015
A Brief Introduction to the OpenFabrics Interfaces - A New Network API for Maximizing High Performance Application Efficiency conference August 2015
Improved MPI Multi-Threaded Performance using OFI Scalable Endpoints conference August 2019
An Approach for Indirectly Adopting a Performance Portability Layer in Large Legacy Codes conference November 2019
Scalable Communication Endpoints for MPI+Threads Applications conference December 2018
Hybrid MPI/OpenMP Parallel Programming on Clusters of Multi-Core SMP Nodes
  • Rabenseifner, Rolf; Hager, Georg; Jost, Gabriele
  • 2009 17th Euromicro International Conference on Parallel, Distributed and Network-based Processing https://doi.org/10.1109/PDP.2009.43
conference February 2009
Legion: Expressing locality and independence with logical regions
  • Bauer, Michael; Treichler, Sean; Slaughter, Elliott
  • 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.71
conference November 2012
Enabling Efficient Multithreaded MPI Communication through a Library-Based Implementation of MPI Endpoints
  • Sridharan, Srinivas; Dinan, James; Kalamkar, Dhiraj D.
  • SC14: International Conference for High Performance Computing, Networking, Storage and Analysis https://doi.org/10.1109/SC.2014.45
conference November 2014
Extending the Uintah Framework through the Petascale Modeling of Detonation in Arrays of High Explosive Devices journal January 2016
Productivity and performance using partitioned global address space languages conference January 2007
Using hybrid parallelism to improve memory use in the Uintah framework conference January 2011
Enabling MPI interoperability through flexible communication endpoints conference January 2013
Language support for dynamic, hierarchical data partitioning journal November 2013
Realm conference August 2014
MPI+Threads: runtime contention and remedies journal January 2015
Why is MPI so slow?: analyzing the fundamental limits in implementing MPI-3.1
  • Raffenetti, Ken; Blocksome, Michael; Si, Min
  • Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis on - SC '17 https://doi.org/10.1145/3126908.3126963
conference January 2017
Paths to Fast Barrier Synchronization on the Node
  • Hetland, Conor; Tziantzioulis, Georgios; Suchy, Brian
  • Proceedings of the 28th International Symposium on High-Performance Parallel and Distributed Computing https://doi.org/10.1145/3307681.3325402
conference June 2019
Multi-criteria partitioning of multi-block structured grids conference June 2019
Software combining to mitigate multithreaded MPI contention conference June 2019
Fine-Grained Multithreading Support for Hybrid Threaded MPI Programming journal February 2010
Enabling communication concurrency through flexible MPI endpoints journal September 2014
WOMBAT: A Scalable and High-performance Astrophysical Magnetohydrodynamics Code journal February 2017

Similar Records

Thread safety in an MPI implementation : requirements and analysis.
Journal Article · Sat Sep 01 00:00:00 EDT 2007 · Parallel Comput. · OSTI ID:920216

MPI as a coordination layer for communicating HPF tasks
Conference · Mon Dec 30 23:00:00 EST 1996 · OSTI ID:418494

Optimizing point‐to‐point communication between adaptive MPI endpoints in shared memory
Journal Article · Mon Mar 12 00:00:00 EDT 2018 · Concurrency and Computation. Practice and Experience · OSTI ID:1582085