TY - GEN
T1 - Mixing ranks, tasks, progress and nonblocking collectives
AU - Besnard, Jean Baptiste
AU - Shende, Sameer
AU - Jaeger, Julien
AU - Taboada, Hugo
AU - Carribault, Patrick
AU - Malony, Allen D.
AU - Pérache, Marc
N1 - Publisher Copyright:
© 2019 Association for Computing Machinery.
PY - 2019/9/11
Y1 - 2019/9/11
N2 - Since the beginning, MPI has defined the rank as an implicit attribute associated with the MPI process' environment. In particular, each MPI process generally runs inside a given UNIX process and is associated with a fixed identifier in its WORLD communicator. However, this state of things is about to change with the rise of new abstractions such as MPI Sessions. In this paper, we propose to outline how such evolution could enable optimizations which were previously linked to specific MPI runtimes executing MPI processes in shared memory (e.g. thread-based MPI). By implementing runtime-level work-sharing through what we define as MPI tasks, enabling the ability to progress indifferently from stream context we show that there is potential for improved asynchronous progress. In the absence of a Session implementation, this assumption is validated in the context of a thread-based MPI where nonblocking Collective (NBC) were implemented on top of Extended Generic Requests progressed by any rank on the node thanks to an MPI extension enabling threads to dynamically share their MPI context.
AB - Since the beginning, MPI has defined the rank as an implicit attribute associated with the MPI process' environment. In particular, each MPI process generally runs inside a given UNIX process and is associated with a fixed identifier in its WORLD communicator. However, this state of things is about to change with the rise of new abstractions such as MPI Sessions. In this paper, we propose to outline how such evolution could enable optimizations which were previously linked to specific MPI runtimes executing MPI processes in shared memory (e.g. thread-based MPI). By implementing runtime-level work-sharing through what we define as MPI tasks, enabling the ability to progress indifferently from stream context we show that there is potential for improved asynchronous progress. In the absence of a Session implementation, this assumption is validated in the context of a thread-based MPI where nonblocking Collective (NBC) were implemented on top of Extended Generic Requests progressed by any rank on the node thanks to an MPI extension enabling threads to dynamically share their MPI context.
KW - Hybrid MPI
KW - MPI Sessions
KW - Nonblocking collectives
KW - Progress
KW - Thread-based MPI
UR - https://www.scopus.com/pages/publications/85075867047
U2 - 10.1145/3343211.3343221
DO - 10.1145/3343211.3343221
M3 - Conference contribution
AN - SCOPUS:85075867047
T3 - ACM International Conference Proceeding Series
BT - Proceedings of the 26th European MPI Users'' Group Meeting, EuroMPI 2019
A2 - Hoefler, Torsten
A2 - Traff, Jesper Larsson
PB - Association for Computing Machinery
T2 - 26th European MPI Users'' Group Meeting, EuroMPI 2019
Y2 - 11 September 2019 through 13 September 2019
ER -