The Case for ABI Interoperability in a Fault Tolerant MPI
By: Yao Xu , Grace Nansamba , Anthony Skjellum and more
Potential Business Impact:
Lets computer programs run on any system.
There is new momentum behind an interoperable ABI for MPI, which will be a major component of MPI-5. This capability brings true separation of concerns to a running MPI computation. The linking and compilation of an MPI application becomes completely independent of the choice of MPI library. The MPI application is compiled once, and runs everywhere. This ABI allows users to independently choose: the compiler for the MPI application; the MPI runtime library; and, with this work, the transparent checkpointing package. Arbitrary combinations of the above are supported. The result is a "three-legged stool", which supports performance, portability, and resilience for long-running computations. An experimental proof-of-concept is presented, using the MANA checkpointing package and the Mukautuva ABI library for MPI interoperability. The result demonstrates that the combination of an ABI-compliant MPI and transparent checkpointing can bring extra flexibility in portability and dynamic resource management at runtime without compromising performance. For example, an MPI application can execute and checkpoint under one MPI library, and later restart under another MPI library. The work is not specific to the MANA package, since the approach using Mukautuva can be adapted to other transparent checkpointing packages.
Similar Papers
FTHP-MPI: Towards Providing Replication-based Fault Tolerance in a Fault-Intolerant Native MPI Library
Distributed, Parallel, and Cluster Computing
Keeps supercomputers running when parts break.
Concepts for designing modern C++ interfaces for MPI
Distributed, Parallel, and Cluster Computing
Makes supercomputers work better with new code.
DafnyMPI: A Dafny Library for Verifying Message-Passing Concurrent Programs
Programming Languages
Helps programmers write error-free parallel computer programs.