RedThreads: An Interface for Application-Level Fault Detection/Correction Through Adaptive Redundant Multithreading

Research output: Contribution to journalArticlepeer-review

18 Scopus citations

Abstract

In the presence of accelerated fault rates, which are projected to be the norm on future exascale systems, it will become increasingly difficult for high-performance computing (HPC) applications to accomplish useful computation. Due to the fault-oblivious nature of current HPC programming paradigms and execution environments, HPC applications are insufficiently equipped to deal with errors. We believe that HPC applications should be enabled with capabilities to actively search for and correct errors in their computations. The redundant multithreading (RMT) approach offers lightweight replicated execution streams of program instructions within the context of a single application process. However, the use of complete redundancy incurs significant overhead to the application performance. In this paper we present RedThreads, an interface that provides application-level fault detection and correction based on RMT, but applies the thread-level redundancy adaptively. We describe the RedThreads syntax and semantics, and the supporting compiler infrastructure and runtime system. Our approach enables application programmers to scope the extent of redundant computation. Additionally, the runtime system permits the use of RMT to be dynamically enabled, or disabled, based on the resiliency needs of the application and the state of the system. Our experimental results demonstrate how adaptive RMT exploits programmer insight and runtime inference to dynamically navigate the trade-off space between an application’s resilience coverage and the associated performance overhead of redundant computation.

Original languageEnglish
Pages (from-to)225-251
Number of pages27
JournalInternational Journal of Parallel Programming
Volume46
Issue number2
DOIs
StatePublished - Apr 1 2018
Externally publishedYes

Funding

The authors would like to acknowledge the support for this work provided through Scientific Discovery through Advanced Computing (SciDAC) program funded by U.S. Department of Energy, Office of Science, Advanced Scientific Computing Research under Award Number DE-SC0006844. Partial support for this work was also provided by the US Army Research Office (Award W911NF-13-1-0219). Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000. The authors would like to acknowledge the support for this work provided through Scientific Discovery through Advanced Computing (SciDAC) program funded by U.S. Department of Energy, Office of Science, Advanced Scientific Computing Research under Award Number DE-SC0006844. Partial support for this work was also provided by the US Army Research Office (Award W911NF-13-1-0219). Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy?s National Nuclear Security Administration under contract DE-AC04-94AL85000.

Keywords

  • Exascale
  • Fault tolerance
  • Programming models
  • Redundant multithreading
  • Resilience
  • Runtime systems

Fingerprint

Dive into the research topics of 'RedThreads: An Interface for Application-Level Fault Detection/Correction Through Adaptive Redundant Multithreading'. Together they form a unique fingerprint.

Cite this