CRAFT: A Library for Easier Application-Level Checkpoint/Restart and Automatic Fault Tolerance.

Saved in:
Bibliographic Details
Title: CRAFT: A Library for Easier Application-Level Checkpoint/Restart and Automatic Fault Tolerance.
Authors: Shahzad, Faisal, Thies, Jonas, Kreutzer, Moritz, Zeiser, Thomas, Hager, Georg, Wellein, Gerhard
Source: IEEE Transactions on Parallel & Distributed Systems. 3/1/2019, Vol. 30 Issue 3, p501-514. 14p.
Subjects: Fault-tolerant computing, Performance of supercomputers, C (Computer program language), Data types (Computer science), User interfaces
Abstract: In order to efficiently use the future generations of supercomputers, fault tolerance and power consumption are two of the prime challenges anticipated by the High Performance Computing (HPC) community. Checkpoint/Restart (CR) has been and still is the most widely used technique to deal with hard failures. Application-level CR is the most effective CR technique in terms of overhead efficiency but it takes a lot of implementation effort. This work presents the implementation of our C++ based library CRAFT (Checkpoint-Restart and Automatic Fault Tolerance), which serves two purposes. First, it provides an extendable library that significantly eases the implementation of application-level checkpointing. The most basic and frequently used checkpoint data-types are already part of CRAFT and can be directly used out of the box. The library can be easily extended to add more data-types. As means of overhead reduction, the library offers a built-in asynchronous checkpointing mechanism and also supports the Scalable Checkpoint/Restart (SCR) library for node level checkpointing. Second, CRAFT provides an easier interface for User-Level Failure Mitigation (ULFM) based dynamic process recovery, which significantly reduces the complexity and effort of failure detection and communication recovery mechanism. By utilizing both functionalities together, applications can write application-level checkpoints and recover dynamically from process failures with very limited programming effort. This work presents the challenges addressed by the library, its design, and its use. The associated overheads are analyzed using benchmarks. [ABSTRACT FROM AUTHOR]
Copyright of IEEE Transactions on Parallel & Distributed Systems is the property of IEEE and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 134734530
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: CRAFT: A Library for Easier Application-Level Checkpoint/Restart and Automatic Fault Tolerance.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Shahzad%2C+Faisal%22">Shahzad, Faisal</searchLink><br /><searchLink fieldCode="AR" term="%22Thies%2C+Jonas%22">Thies, Jonas</searchLink><br /><searchLink fieldCode="AR" term="%22Kreutzer%2C+Moritz%22">Kreutzer, Moritz</searchLink><br /><searchLink fieldCode="AR" term="%22Zeiser%2C+Thomas%22">Zeiser, Thomas</searchLink><br /><searchLink fieldCode="AR" term="%22Hager%2C+Georg%22">Hager, Georg</searchLink><br /><searchLink fieldCode="AR" term="%22Wellein%2C+Gerhard%22">Wellein, Gerhard</searchLink>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22IEEE+Transactions+on+Parallel+%26+Distributed+Systems%22">IEEE Transactions on Parallel & Distributed Systems</searchLink>. 3/1/2019, Vol. 30 Issue 3, p501-514. 14p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Fault-tolerant+computing%22">Fault-tolerant computing</searchLink><br /><searchLink fieldCode="DE" term="%22Performance+of+supercomputers%22">Performance of supercomputers</searchLink><br /><searchLink fieldCode="DE" term="%22C+%28Computer+program+language%29%22">C (Computer program language)</searchLink><br /><searchLink fieldCode="DE" term="%22Data+types+%28Computer+science%29%22">Data types (Computer science)</searchLink><br /><searchLink fieldCode="DE" term="%22User+interfaces%22">User interfaces</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: In order to efficiently use the future generations of supercomputers, fault tolerance and power consumption are two of the prime challenges anticipated by the High Performance Computing (HPC) community. Checkpoint/Restart (CR) has been and still is the most widely used technique to deal with hard failures. Application-level CR is the most effective CR technique in terms of overhead efficiency but it takes a lot of implementation effort. This work presents the implementation of our C++ based library CRAFT (Checkpoint-Restart and Automatic Fault Tolerance), which serves two purposes. First, it provides an extendable library that significantly eases the implementation of application-level checkpointing. The most basic and frequently used checkpoint data-types are already part of CRAFT and can be directly used out of the box. The library can be easily extended to add more data-types. As means of overhead reduction, the library offers a built-in asynchronous checkpointing mechanism and also supports the Scalable Checkpoint/Restart (SCR) library for node level checkpointing. Second, CRAFT provides an easier interface for User-Level Failure Mitigation (ULFM) based dynamic process recovery, which significantly reduces the complexity and effort of failure detection and communication recovery mechanism. By utilizing both functionalities together, applications can write application-level checkpoints and recover dynamically from process failures with very limited programming effort. This work presents the challenges addressed by the library, its design, and its use. The associated overheads are analyzed using benchmarks. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of IEEE Transactions on Parallel & Distributed Systems is the property of IEEE and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=134734530
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1109/TPDS.2018.2866794
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 14
        StartPage: 501
    Subjects:
      – SubjectFull: Fault-tolerant computing
        Type: general
      – SubjectFull: Performance of supercomputers
        Type: general
      – SubjectFull: C (Computer program language)
        Type: general
      – SubjectFull: Data types (Computer science)
        Type: general
      – SubjectFull: User interfaces
        Type: general
    Titles:
      – TitleFull: CRAFT: A Library for Easier Application-Level Checkpoint/Restart and Automatic Fault Tolerance.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Shahzad, Faisal
      – PersonEntity:
          Name:
            NameFull: Thies, Jonas
      – PersonEntity:
          Name:
            NameFull: Kreutzer, Moritz
      – PersonEntity:
          Name:
            NameFull: Zeiser, Thomas
      – PersonEntity:
          Name:
            NameFull: Hager, Georg
      – PersonEntity:
          Name:
            NameFull: Wellein, Gerhard
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 03
              Text: 3/1/2019
              Type: published
              Y: 2019
          Identifiers:
            – Type: issn-print
              Value: 10459219
          Numbering:
            – Type: volume
              Value: 30
            – Type: issue
              Value: 3
          Titles:
            – TitleFull: IEEE Transactions on Parallel & Distributed Systems
              Type: main
ResultId 1