skip to main content
research-article

Understanding the propagation of hard errors to software and implications for resilient system design

Published: 01 March 2008 Publication History

Abstract

With continued CMOS scaling, future shipped hardware will be increasingly vulnerable to in-the-field faults. To be broadly deployable, the hardware reliability solution must incur low overheads, precluding use of expensive redundancy. We explore a cooperative hardware-software solution that watches for anomalous software behavior to indicate the presence of hardware faults. Fundamental to such a solution is a characterization of how hardware faults indifferent microarchitectural structures of a modern processor propagate through the application and OS.
This paper aims to provide such a characterization, resulting in identifying low-cost detection methods and providing guidelines for implementation of the recovery and diagnosis components of such a reliability solution. We focus on hard faults because they are increasingly important and have different system implications than the much studied transients. We achieve our goals through fault injection experiments with a microarchitecture-level full system timing simulator. Our main results are: (1) we are able to detect 95% of the unmasked faults in 7 out of 8 studied microarchitectural structures with simple detectors that incur zero to little hardware overhead; (2) over 86% of these detections are within latencies that existing hardware checkpointing schemes can handle, while others require software checkpointing; and (3) a surprisingly large fraction of the detected faults corrupt OS state, but almost all of these are detected with latencies short enough to use hardware checkpointing, thereby enabling OS recovery in virtually all such cases.

Supplementary Material

JPG File (1346315.jpg)
index.html (index.html)
Slides from the presentation
ZIP File (p265-mli-slides.zip)
Supplemental material for Understanding the propagation of hard errors to software and implications for resilient system design
Audio only (1346315.mp3)
Video (1346315.mp4)

References

[1]
J. Arlat et al. Fault Injection and Dependability Evaluation of Fault-Tolerant Systems. IEEE Computer, 42(8), 1993.
[2]
Todd M. Austin. DIVA: A Reliable Substrate for Deep Submicron Microarchitecture Design. In International Symposium on Microarchitecture (MICRO), 1998.
[3]
David Bernick et al. NonStop Advanced Architecture. In International Conference on Dependable Systems and Networks (DSN), 2005.
[4]
Shekhar Borkar. Designing Reliable Systems from Unreliable Components: The Challenges of Transistor Variability and Degradation. IEEE Micro, 25(6), 2005.
[5]
Shekhar Borkar. Microarchitecture and Design Challenges for Gigascale Integration. In International Symposium on Microarchitecture (MICRO), 2005. Keynote Address.
[6]
Fred Bower et al. A Mechanism for Online Diagnosis of Hard Faults in Microprocessors. In International Symposium on Microarchitecture (MICRO), 2005.
[7]
Fred A. Bower et al. Tolerating Hard Faults in Microprocessor Array Structures. In International Conference on Dependable Systems and Networks (DSN), 2004.
[8]
Kypros Constantinides et al. Software-Based On-Line Detection of Hardware Defects: Mechanisms, Architectural Support, and Evaluation. In International Symposium on Microarchitecture (MICRO), 2007.
[9]
Edward W. Czeck and Daniel P. Siewiorek. Effects of Transient Gate-Level Faults on Program Behavior. In International Symposium on Fault-Tolerant Computing (FTCS), 1990.
[10]
George W. Dunlap, Samuel T. King, Sukru Cinar, Murtaza A. Basrai, and Peter M. Chen. ReVirt: Enabling Intrusion Analysis through Virtual-Machine Logging and Replay. In Symposium on Operating Systems Design and Implmentation (OSDI), 2002.
[11]
Michael D. Ernst et al. The Daikon System for Dynamic Detection of Likely Invariants. Science of Computer Programming, 2007.
[12]
O. Goloubeva et al. Soft-Error Detection Using Control Flow Assertions. In Proc. of 18th IEEE Intl. Symp. on Defect and Fault Tolerance in VLSI Systems, 2003.
[13]
Mohamed Gomaa et al. Transient-Fault Recovery for Chip Multiprocessors. In International Symposium on Computer Architecture (ISCA), 2003.
[14]
Weining Gu et al. Error Sensitivity of the Linux Kernel Executing on PowerPC G4 and Pentium 4 Processors. In International Conference on Dependable Systems and Networks (DSN), 2004.
[15]
Sudheendra Hangal and Monica S. Lam. Tracking Down Software Bugs Using Automatic Anomaly Detection. In International Conference on Software Engineering (ICSE), May 2002.
[16]
Mei-Chen Hsueh et al. Fault Injection Techniques and Tools. IEEE Computer, 30(4), 1997.
[17]
G. Kanawati et al. FERRARI: A Flexible Software-based Fault and Error Injection System. IEEE Computer, 44(2), 1995.
[18]
Hue-Sung Kim, Arun K. Somani, and Akhilesh Tyagi. A Reconfigurable Multi-function Computing Cache Architecture. In International Symposium on Field Programmable Gate Arrays, 2000.
[19]
Chris Lattner and Vikram Adve. LLVM: A Compilation Framework for Lifelong Program Analysis and Transformation. In Proc. Int'l Symposium on Code Generation and Optimization (CGO), 2004.
[20]
X. Li, S. V. Adve, P. Bose, and J. A. Rivers. SoftArch: An Architecture-Level Tool for Modeling and Analyzing Soft Errors. In International Conference on Dependable Systems and Networks (DSN), June 2005.
[21]
Ben Liblit,Mayur Naik, Alice Zheng, Alex Aiken, and Micael Jordan. Scalable Statistical Bug Isolation. In Conference on Programming Language Design and Implementation (PLDI), 2005.
[22]
Shan Lu, Joseph Tucek, Feng Qin, and Yuanyuan Zhou. AVIO: Detecting Atomicity Violations via Access Interleaving Invariants. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2006.
[23]
Milo Martin et al. Multifacet's General Execution-Driven Multiprocessor Simulator (GEMS) Toolset. SIGARCH Computer Architecture News, 33(4), 2005.
[24]
Carl J. Mauer, Mark D. Hill, and David A. Wood. Full-System Timing-First Simulation. SIGMETRICS Performance Evaluation Rev., 30(1), 2002.
[25]
Albert Meixner, Michael E. Bauer, and Daniel Sorin. Argus: Low-Cost, Comprehensive Error Detection in Simple Cores. In International Symposium on Microarchitecture (MICRO), 2007.
[26]
Albert Meixner and Daniel Sorin. Error Detection Using Dynamic Dataflow Verification. In Parallel Architecture and Compilation Techniques (PACT), 2007.
[27]
M. Mueller et al. RAS Strategy for IBM S/390 G5 and G6. IBM Journal on Research and Development, 43(5/6), Sept/Nov 1999.
[28]
Shubhendu S. Mukherjee, Christopher Weaver, Joel Emer, Steven K. Reinhardt, and Todd Austin. A Systematic Methodology to Compute the Architectural Vulnerability Factors for a High-Performance Microprocessor. In International Symposium on Microarchitecture (MICRO), 2003.
[29]
Jun Nakano et al. ReViveI/O: Efficient Handling of I/O in Highly-Available Rollback-Recovery Servers. In International Symposium on High Performance Computer Architecture (HPCA), 2006.
[30]
Nithin Nakka et al. An Architectural Framework for Detecting Process Hangs/Crashes. In European Dependable Computing Conference (EDCC), 2005.
[31]
Karthik Pattabiraman et al. Dynamic Derivation of Application-Specific Error Detectors and their Implementation in Hardware. In European Dependable Computing Conference, 2006.
[32]
Milos Prvulovic et al. ReVive: Cost-Effective Architectural Support for Rollback Recovery in Shared-Memory Multiprocessors. In International Symposium on Computer Architecture (ISCA), 2002.
[33]
Paul Racunas et al. Perturbation-based Fault Screening. In International Symposium on High Performance Computer Architecture (HPCA), 2007.
[34]
V. Reddy et al. Assertion-Based Microarchitecture Design for Improved Fault Tolerance. In International Conference on Computer Design, 2006.
[35]
Steven K. Reinhardt and Shubhendu S. Mukherjee. Transient Fault Detection via Simultaneous Multithreading. In International Symposium on Computer Architecture (ISCA), 2000.
[36]
George A. Reis et al. Software-Controlled Fault Tolerance. ACM Transactions on Architectural Code Optimization, 2(4), 2005.
[37]
R. Rodriguez et al. Modeling and Experimental Verification of the Effect of Gate Oxide Breakdown on CMOS Inverters. In International Reliability Physics Symposium (IRPS), 2003.
[38]
Eric Rotenberg. AR-SMT: A Microarchitectural Approach to Fault Tolerance in Microprocessors. In International Symposium on Fault-Tolerant Computing (FTCS), 1999.
[39]
Giacinto P. Saggese et al. An Experimental Study of Soft Errors in Microprocessors. IEEE Micro, 25(6), 2005.
[40]
Design Panel, SELSE II -- Reverie, 2006. http://www.selse.org/selse2.org/recap.pdf.
[41]
Smitha Shyam et al. Ultra Low-Cost Defect Protection for Microprocessor Pipelines. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2006.
[42]
Daniel Sorin et al. Fast Checkpoint/Recovery to Support Kilo-Instruction Speculation and Hardware Fault Tolerance. Technical Report 1420, Computer Sciences Department, University of Wisconsin, Madison, 2000.
[43]
Daniel Sorin et al. SafetyNet: Improving the Availability of Shared Memory Multiprocessors with Global Checkpoint/Recovery. In International Symposium on Computer Architecture (ISCA), 2002.
[44]
Jayanth Srinivasan et al. The Impact of Scaling on Processor Lifetime Reliability. In International Conference on Dependable Systems and Networks (DSN), 2004.
[45]
SudarshanM. Srinivasan, Srikanth Kandula, Christopher R. Andrews, and Yuanyuan Zhou. Flashback: A Lightweight Extension for Rollback and Deterministic Replay for Software Debugging. In USENIX Annual Technical Conference, General Track, pages 29--44, 2004.
[46]
Rajesh Venkatasubramanian et al. Low-Cost On-Line Fault Detection Using Control Flow Assertions. In International On-Line Test Symposium, 2003.
[47]
Virtutech. Simics Full System Simulator. Website, 2006. http://www.simics.net.
[48]
Nicholas Wang et al. Characterizing the Effects of Transient Faults on a High-Performance Processor Pipeline. In International Conference on Dependable Systems and Networks (DSN), 2004.
[49]
N.J. Wang and S.J. Patel. ReStore: Symptom-Based Soft Error Detection in Microprocessors. IEEE Transactions on Dependable and Secure Computing, 3(3), July-Sept 2006.
[50]
David Yen. Chip Multithreading Processors Enable Reliable High Throughput Computing. In International Reliability Physics Symposium (IRPS), 2005. Keynote Address.
[51]
Pin Zhou, Wei Liu, Fei Long, Shan Lu, Feng Qin, Yuanyuan Zhou, Sam Midkiff, and Josep Torrellas. AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-based Invariants. In International Symposium on Microarchitecture (MICRO), 2004.
[52]
Pin Zhou, Feng Qin, Wei Liu, Yuanyuan Zhou, and Josep Torrellas. iWatcher: Simple, General Architectural Support for Software Debugging. IEEE Micro Special Issue: Micro's Top Picks from Computer Architecture Conferences, 2004.
[53]
Pin Zhou, Radu Teodorescu, and Yuanyuan Zhou. HARD: Hardware-Assisted Lockset-based Race Detection. In International Symposium on High Performance Computer Architecture (HPCA), 2007.

Cited By

View all

Index Terms

  1. Understanding the propagation of hard errors to software and implications for resilient system design

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 43, Issue 3
      ASPLOS '08
      March 2008
      339 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/1353536
      Issue’s Table of Contents
      • cover image ACM Conferences
        ASPLOS XIII: Proceedings of the 13th international conference on Architectural support for programming languages and operating systems
        March 2008
        352 pages
        ISBN:9781595939586
        DOI:10.1145/1346281
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 01 March 2008
      Published in SIGPLAN Volume 43, Issue 3

      Check for updates

      Author Tags

      1. architecture
      2. error detection
      3. fault injection
      4. permanent fault

      Qualifiers

      • Research-article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)60
      • Downloads (Last 6 weeks)15
      Reflects downloads up to 30 Dec 2024

      Other Metrics

      Citations

      Cited By

      View all

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media