The Case for ABI Interoperability in a Fault Tolerant MPI

📅 2025-03-14
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work addresses the challenge of MPI application portability and fault tolerance stemming from ABI incompatibility, which binds applications at compile time to specific MPI implementations and hinders cross-library migration and restart. We propose a fault-tolerant MPI runtime framework supporting ABI interoperability. Methodologically, we pioneer the tight integration of MPI ABI interoperability with transparent checkpointing—leveraging the Mukautuva ABI specification and the MANA checkpointing framework—via dynamic symbol redirection and runtime interface adaptation to decouple application compilation, MPI library selection, and checkpoint tooling. Our key contribution is establishing a tripartite fault-tolerance paradigm balancing performance, portability, and elasticity: experiments demonstrate seamless cross-library checkpointing and recovery between OpenMPI and MPICH, with <2% runtime overhead, no dependency on any particular checkpointing tool, and full support for “compile once, run and restart across libraries.”

Technology Category

Application Category

📝 Abstract
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.
Problem

Research questions and friction points this paper is trying to address.

Enabling ABI interoperability for MPI to separate compilation from runtime library choice.
Supporting independent selection of compilers, MPI libraries, and checkpointing packages.
Demonstrating runtime flexibility and portability without performance loss using ABI-compliant MPI.
Innovation

Methods, ideas, or system contributions that make the work stand out.

ABI interoperability enables independent MPI library choice.
Transparent checkpointing enhances runtime flexibility and resilience.
Mukautuva ABI library supports cross-library MPI application execution.
🔎 Similar Papers
No similar papers found.