Skip to main content
SHARE
Project

OMPI-X

Project Details

Principal Investigator

The Message Passing Interface (MPI) is a community standard for inter-process communication and is used by the majority of DOE’s parallel scientific applications running on pre-exascale systems. The MPI standard can be implemented on all the large systems. The OMPI-X project ensures that the MPI standard and its specific implementation in Open MPI meet the needs of the ECP community in terms of performance, scalability, and capabilities.

Since its inception, the MPI standard has evolved in response to the changing needs of massively parallel libraries and applications, as well as the systems on which they are run. With the impending exascale era, the pace of change and growing diversity and complexity of architectures pose new challenges that the MPI standard must address. The OMPI-X project team is active in the MPI Forum standards organization and works within it to raise and resolve key issues facing exascale applications and libraries. 

The OMPI-X team also developed Open MPI, an open-source, community-based implementation of the MPI standard that is freely available and used by several prominent vendors as the basis for their commercial MPI offerings. The OMPI-X team is focused on prototyping and demonstrating exascale-relevant proposals under consideration by the MPI Forum, as well as improving the fundamental performance and scalability of Open MPI, particularly for exascale-relevant platforms and job sizes. MPI users will be able to take advantage of these enhancements simply by linking against recent builds of the Open MPI library. 

In addition to Open MPI, the OMPI-X project will deliver two more products. The Process Management Interface—Exascale (PMIx) is a specification and reference implementation that Open MPI relies upon for the underlying startup and wire-up of the processes involved. It also provides key capabilities that can underpin work on runtime. Qthreads is a library for lightweight userlevel threads which, as part of the OMPI-X project, is being integrated into MPI implementations to improve support for and performance of threading within MPI libraries

Progress to date

  • The OMPI-X team has delivered performance and scalability enhancements to the Open MPI implementation. Improvements have been made to the remote memory access implementation to provide both improved performance and scalability. The team has prototyped an improved message matching implementation that can provide up to 2× performance improvement and memory savings. Progress has been made on incorporating topology and congestion awareness. 
  • The team has demonstrated that Qthreads can achieve equivalent performance to OpenMP. 
  • The team has made a concerted effort to enhance the quality assurance and testing of the products of this project, including improvements to the Open MPI testing and continuous integration infrastructure, deployment of that testing infrastructure on pre-exascale platforms, and the addition of tests to the test suite that are relevant for exascale libraries and applications.