Presentation
SIGN IN TO VIEW THIS PRESENTATION Sign In
MPI Progress for All
DescriptionThe progression of communication in the Message Passing Interface (MPI) is not well defined, yet it is critical for applications to achieve effective computation and communication overlapping. The opaque nature of MPI progress poses significant challenges in advancing MPI within HPC practices.
First, the lack of clarity hinders the development of explicit guidelines for enhancing computation and communication overlap in applications. Second, it prevents MPI from seamlessly integrating with contemporary programming paradigms. Third, it limits the extension of MPI functionalities from user space.
In this paper, we examine the role of MPI progress by analyzing the implementation of MPI messaging. We generalize the asynchronous communication pattern and identify key factors influencing application performance. We propose a set of MPI extensions designed to enable users to construct and manage an efficient progress engine explicitly. We compare our approach to previous efforts in the field, highlighting its reduced complexity and increased effectiveness.
First, the lack of clarity hinders the development of explicit guidelines for enhancing computation and communication overlap in applications. Second, it prevents MPI from seamlessly integrating with contemporary programming paradigms. Third, it limits the extension of MPI functionalities from user space.
In this paper, we examine the role of MPI progress by analyzing the implementation of MPI messaging. We generalize the asynchronous communication pattern and identify key factors influencing application performance. We propose a set of MPI extensions designed to enable users to construct and manage an efficient progress engine explicitly. We compare our approach to previous efforts in the field, highlighting its reduced complexity and increased effectiveness.