TY - GEN
T1 - MPI Finally Needs to Deal with Threads
AU - Schuchart, Joseph
AU - Jenke, Joachim
AU - Schwitanski, Simon
N1 - Publisher Copyright:
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2026.
PY - 2026
Y1 - 2026
N2 - The Message Passing Interface (MPI) standard has long been a cornerstone of parallel computing, enabling multi-threaded processes to communicate effectively. However, integrating multi-threading with MPI is not as straightforward as it might seem. MPI must function optimally in a multi-threaded environment, which requires robust thread support. The description provided by MPI about how multiple application threads may interact with MPI forms a contract for guarantees that applications can rely on and that implementations must provide, and vice versa. We find that the definitions regarding multi-threaded behavior provided by MPI are imprecise, which leads to differing interpretations and potential over- or undercommitment of computational resources in order to provide their perceived semantics. We provide an analysis of relevant parts of the MPI standard dealing with multi-threading and provide proposals for definitions of concurrency, conflicts, and race conditions, which we hope will clarify the guarantees that are part of the contract between MPI multi-threaded applications and implementations.
AB - The Message Passing Interface (MPI) standard has long been a cornerstone of parallel computing, enabling multi-threaded processes to communicate effectively. However, integrating multi-threading with MPI is not as straightforward as it might seem. MPI must function optimally in a multi-threaded environment, which requires robust thread support. The description provided by MPI about how multiple application threads may interact with MPI forms a contract for guarantees that applications can rely on and that implementations must provide, and vice versa. We find that the definitions regarding multi-threaded behavior provided by MPI are imprecise, which leads to differing interpretations and potential over- or undercommitment of computational resources in order to provide their perceived semantics. We provide an analysis of relevant parts of the MPI standard dealing with multi-threading and provide proposals for definitions of concurrency, conflicts, and race conditions, which we hope will clarify the guarantees that are part of the contract between MPI multi-threaded applications and implementations.
UR - https://www.scopus.com/pages/publications/105020381521
U2 - 10.1007/978-3-032-07194-1_6
DO - 10.1007/978-3-032-07194-1_6
M3 - Conference contribution
AN - SCOPUS:105020381521
SN - 9783032071934
T3 - Lecture Notes in Computer Science
SP - 89
EP - 105
BT - Recent Advances in the Message Passing Interface - 32nd European MPI Users' Group Meeting, EuroMPI 2025, Proceedings
A2 - Schuchart, Joseph
A2 - Bouteiller, Aurelien
A2 - Hunold, Sascha
A2 - Jaeger, Julien
A2 - Niethammer, Christoph
A2 - Smith, Brian
PB - Springer Science and Business Media Deutschland GmbH
T2 - 32nd European MPI Users Group Meeting, EuroMPI 2025
Y2 - 1 October 2025 through 3 October 2025
ER -