{"title":"Enabling Practical Transparent Checkpointing for MPI: A Topological Sort Approach","authors":"Yao Xu, Gene Cooperman","doi":"arxiv-2408.02218","DOIUrl":null,"url":null,"abstract":"MPI is the de facto standard for parallel computing on a cluster of\ncomputers. Checkpointing is an important component in any strategy for software\nresilience and for long-running jobs that must be executed by chaining together\ntime-bounded resource allocations. This work solves an old problem: a practical\nand general algorithm for transparent checkpointing of MPI that is both\nefficient and compatible with most of the latest network software. Transparent\ncheckpointing is attractive due to its generality and ease of use for most MPI\napplication developers. Earlier efforts at transparent checkpointing for MPI,\none decade ago, had two difficult problems: (i) by relying on a specific MPI\nimplementation tied to a specific network technology; and (ii) by failing to\ndemonstrate sufficiently low runtime overhead. Problem (i) (network dependence) was already solved in 2019 by MANA's\nintroduction of split processes. Problem (ii) (efficient runtime overhead) is\nsolved in this work. This paper introduces an approach that avoids these\nlimitations, employing a novel topological sort to algorithmically determine a\nsafe future synchronization point. The algorithm is valid for both blocking and\nnon-blocking collective communication in MPI. We demonstrate the efficacy and\nscalability of our approach through both micro-benchmarks and a set of five\nreal-world MPI applications, notably including the widely used VASP (Vienna Ab\nInitio Simulation Package), which is responsible for 11% of the workload on the\nPerlmutter supercomputer at Lawrence Berkley National Laboratory. VASP was\npreviously cited as a special challenge for checkpointing, in part due to its\nmulti-algorithm codes.","PeriodicalId":501422,"journal":{"name":"arXiv - CS - Distributed, Parallel, and Cluster Computing","volume":"58 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-08-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Distributed, Parallel, and Cluster Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2408.02218","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
MPI is the de facto standard for parallel computing on a cluster of
computers. Checkpointing is an important component in any strategy for software
resilience and for long-running jobs that must be executed by chaining together
time-bounded resource allocations. This work solves an old problem: a practical
and general algorithm for transparent checkpointing of MPI that is both
efficient and compatible with most of the latest network software. Transparent
checkpointing is attractive due to its generality and ease of use for most MPI
application developers. Earlier efforts at transparent checkpointing for MPI,
one decade ago, had two difficult problems: (i) by relying on a specific MPI
implementation tied to a specific network technology; and (ii) by failing to
demonstrate sufficiently low runtime overhead. Problem (i) (network dependence) was already solved in 2019 by MANA's
introduction of split processes. Problem (ii) (efficient runtime overhead) is
solved in this work. This paper introduces an approach that avoids these
limitations, employing a novel topological sort to algorithmically determine a
safe future synchronization point. The algorithm is valid for both blocking and
non-blocking collective communication in MPI. We demonstrate the efficacy and
scalability of our approach through both micro-benchmarks and a set of five
real-world MPI applications, notably including the widely used VASP (Vienna Ab
Initio Simulation Package), which is responsible for 11% of the workload on the
Perlmutter supercomputer at Lawrence Berkley National Laboratory. VASP was
previously cited as a special challenge for checkpointing, in part due to its
multi-algorithm codes.