SWIFT: Software Implemented Fault Tolerance

  • Authors:
  • George A. Reis;Jonathan Chang;Neil Vachharajani;Ram Rangan;David I. August

  • Affiliations:
  • Princeton University, NJ;Princeton University, NJ;Princeton University, NJ;Princeton University, NJ;Princeton University, NJ

  • Venue:
  • Proceedings of the international symposium on Code generation and optimization
  • Year:
  • 2005

Quantified Score

Hi-index 0.01

Visualization

Abstract

To improve performance and reduce power, processor designers employ advances that shrink feature sizes, lower voltage levels, reduce noise margins, and increase clock rates. However, these advances make processors more susceptible to transient faults that can affect correctness. While reliable systems typically employ hardware techniques to address soft-errors, software techniques can provide a lower-cost and more flexible alternative. This paper presents a novel, software-only, transient-fault-detection technique, called SWIFT. SWIFT efficiently manages redundancy by reclaiming unused instruction-level resources present during the execution of most programs. SWIFT also provides a high level of protection and performance with an enhanced control-flow checking mechanism. We evaluate an implementation of SWIFT on an Itanium 2 which demonstrates exceptional fault coverage with a reasonable performance cost. Compared to the best known single-threaded approach utilizing an ECC memory system, SWIFT demonstrates a 51% average speedup.