Give MPI Threading a Fair Chance: A Study of Multithreaded MPI Designs

TitleGive MPI Threading a Fair Chance: A Study of Multithreaded MPI Designs
Publication TypeConference Paper
Year of Publication2019
AuthorsPatinyasakdikul, T., D. Eberius, G. Bosilca, and N. Hjelm
Conference NameIEEE Cluster
Date Published2019-09
Conference LocationAlbuquerque, NM
Keywordscommunication contention, MPI, thread

The Message Passing Interface (MPI) has been one of the most prominent programming paradigms in highperformance computing (HPC) for the past decade. Lately, with changes in modern hardware leading to a drastic increase in the number of processor cores, developers of parallel applications are moving toward more integrated parallel programming paradigms, where MPI is used along with other, possibly node-level, programming paradigms, or MPI+X. MPI+threads emerged as one of the favorite choices in HPC community, according to a survey of the HPC community. However, threading support in MPI comes with many compromises to the overall performance delivered, and, therefore, its adoption is compromised. This paper studies in depth the MPI multi-threaded implementation design in one of the leading MPI implementations, Open MPI, and expose some of the shortcomings of the current design. We propose, implement, and evaluate a new design of the internal handling of communication progress which allows for a significant boost in multi-threading performance, increasing the viability of MPI in the MPI+X programming paradigm.

Project Tags: 
External Publication Flag: