Checkpoint/restart approaches for a thread-based MPI runtime

Julien Adam, Maxime Kermarquer, Jean Baptiste Besnard, Leonardo Bautista-Gomez, Marc Pérache, Patrick Carribault, Julien Jaeger, Allen D. Malony, Sameer Shende

Research output: Contribution to journalArticlepeer-review

Abstract

Fault-tolerance has always been an important topic when it comes to running massively parallel programs at scale. Statistically, hardware and software failures are expected to occur more often on systems gathering millions of computing units. Moreover, the larger jobs are, the more computing hours would be wasted by a crash. In this paper, we describe the work done in our MPI runtime to enable both transparent and application-level checkpointing mechanisms. Unlike the MPI 4.0 User-Level Failure Mitigation (ULFM)interface, our work targets solely Checkpoint/Restart and ignores other features such as resiliency. We show how existing checkpointing methods can be practically applied to a thread-based MPI implementation given sufficient runtime collaboration. The two main contributions are the preservation of high-speed network performance during transparent C/R and the over-subscription of checkpoint data replication thanks to a dedicated user-level scheduler support. These techniques are measured on MPI benchmarks such as IMB, Lulesh and Heatdis, and associated overhead and trade-offs are discussed.

Original languageEnglish
Pages (from-to)204-219
Number of pages16
JournalParallel Computing
Volume85
DOIs
Publication statusPublished - 1 Jul 2019
Externally publishedYes

Keywords

  • Checkpoint-restart
  • DMTCP
  • Fault-tolerance
  • Infiniband
  • MPI oversubscribing
  • Multilevel checkpointing

Fingerprint

Dive into the research topics of 'Checkpoint/restart approaches for a thread-based MPI runtime'. Together they form a unique fingerprint.

Cite this