Application-level checkpointing for shared memory programs

  • Greg Bronevetsky
  • , Daniel Marques
  • , Keshav Pingali
  • , Peter Szwed
  • , Martin Schulz

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

56 Scopus citations

Abstract

Trends in high-performance computing are making it necessary for long-running applications to tolerate hardware faults. The most commonly used approach is checkpoint and restart (CPR) - the state of the computation is saved periodically on disk, and when a failure occurs, the computation is restarted from the last saved state. At present, it is the responsibility of the programmer to instrument applications for CPR. Our group is investigating the use of compiler technology to instrument codes to make them self-checkpointing and self-restarting, thereby providing an automatic solution to the problem of making long-running scientific applications resilient to hardware faults. Our previous work focused on message-passing programs. In this paper, we describe such a system for shared-memory programs running on symmetric multiprocessors. This system has two components: (i) a pre-compiler for source-to-source modification of applications, and (ii) a runtime system that implements a protocol for coordinating CPR among the threads of the parallel application. For the sake of concreteness, we focus on a non-trivial subset of OpenMP that includes barriers and locks. One of the advantages of this approach is that the ability to tolerate faults becomes embedded within the application itself, so applications become self-checkpointing and self-restarting on any platform. We demonstrate this by showing that our transformed benchmarks can checkpoint and restart on three different platforms (Windows/x86, Linux/x86, and Tru64/Alpha). Our experiments show that the overhead introduced by this approach is usually quite small; they also suggest ways in which the current implementation can be tuned to reduced overheads further.

Original languageEnglish
Title of host publication11th International Conference on Architectural Support for Programming, Languages and Operating Systems, ASPLOS XI
PublisherAssociation for Computing Machinery
Pages235-247
Number of pages13
ISBN (Print)1581138040, 9781581138047
DOIs
StatePublished - 7 Oct 2004
Externally publishedYes
Event11th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2004 - Boston, MA, United States
Duration: 9 Oct 200413 Oct 2004

Publication series

Name11th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XI

Conference

Conference11th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2004
Country/TerritoryUnited States
CityBoston, MA
Period9/10/0413/10/04

Keywords

  • Checkpointing
  • Fault-tolerance
  • OpenMP
  • Sharedmemory Programs

Fingerprint

Dive into the research topics of 'Application-level checkpointing for shared memory programs'. Together they form a unique fingerprint.

Cite this