skip to main content
research-article

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

Authors Info & Claims
Published:01 March 2008Publication History
Skip Abstract Section

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.

Skip Supplemental Material Section

Supplemental Material

1346315.mp4

mp4

116.4 MB

References

  1. J. Arlat et al. Fault Injection and Dependability Evaluation of Fault-Tolerant Systems. IEEE Computer, 42(8), 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Todd M. Austin. DIVA: A Reliable Substrate for Deep Submicron Microarchitecture Design. In International Symposium on Microarchitecture (MICRO), 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. David Bernick et al. NonStop Advanced Architecture. In International Conference on Dependable Systems and Networks (DSN), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Shekhar Borkar. Designing Reliable Systems from Unreliable Components: The Challenges of Transistor Variability and Degradation. IEEE Micro, 25(6), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Shekhar Borkar. Microarchitecture and Design Challenges for Gigascale Integration. In International Symposium on Microarchitecture (MICRO), 2005. Keynote Address. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Fred Bower et al. A Mechanism for Online Diagnosis of Hard Faults in Microprocessors. In International Symposium on Microarchitecture (MICRO), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Fred A. Bower et al. Tolerating Hard Faults in Microprocessor Array Structures. In International Conference on Dependable Systems and Networks (DSN), 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Michael D. Ernst et al. The Daikon System for Dynamic Detection of Likely Invariants. Science of Computer Programming, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Mohamed Gomaa et al. Transient-Fault Recovery for Chip Multiprocessors. In International Symposium on Computer Architecture (ISCA), 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Sudheendra Hangal and Monica S. Lam. Tracking Down Software Bugs Using Automatic Anomaly Detection. In International Conference on Software Engineering (ICSE), May 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Mei-Chen Hsueh et al. Fault Injection Techniques and Tools. IEEE Computer, 30(4), 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. G. Kanawati et al. FERRARI: A Flexible Software-based Fault and Error Injection System. IEEE Computer, 44(2), 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Milo Martin et al. Multifacet's General Execution-Driven Multiprocessor Simulator (GEMS) Toolset. SIGARCH Computer Architecture News, 33(4), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Carl J. Mauer, Mark D. Hill, and David A. Wood. Full-System Timing-First Simulation. SIGMETRICS Performance Evaluation Rev., 30(1), 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Albert Meixner and Daniel Sorin. Error Detection Using Dynamic Dataflow Verification. In Parallel Architecture and Compilation Techniques (PACT), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  30. Nithin Nakka et al. An Architectural Framework for Detecting Process Hangs/Crashes. In European Dependable Computing Conference (EDCC), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Karthik Pattabiraman et al. Dynamic Derivation of Application-Specific Error Detectors and their Implementation in Hardware. In European Dependable Computing Conference, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Paul Racunas et al. Perturbation-based Fault Screening. In International Symposium on High Performance Computer Architecture (HPCA), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. V. Reddy et al. Assertion-Based Microarchitecture Design for Improved Fault Tolerance. In International Conference on Computer Design, 2006.Google ScholarGoogle Scholar
  35. Steven K. Reinhardt and Shubhendu S. Mukherjee. Transient Fault Detection via Simultaneous Multithreading. In International Symposium on Computer Architecture (ISCA), 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. George A. Reis et al. Software-Controlled Fault Tolerance. ACM Transactions on Architectural Code Optimization, 2(4), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  38. Eric Rotenberg. AR-SMT: A Microarchitectural Approach to Fault Tolerance in Microprocessors. In International Symposium on Fault-Tolerant Computing (FTCS), 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Giacinto P. Saggese et al. An Experimental Study of Soft Errors in Microprocessors. IEEE Micro, 25(6), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Design Panel, SELSE II -- Reverie, 2006. http://www.selse.org/selse2.org/recap.pdf.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Jayanth Srinivasan et al. The Impact of Scaling on Processor Lifetime Reliability. In International Conference on Dependable Systems and Networks (DSN), 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Rajesh Venkatasubramanian et al. Low-Cost On-Line Fault Detection Using Control Flow Assertions. In International On-Line Test Symposium, 2003.Google ScholarGoogle Scholar
  47. Virtutech. Simics Full System Simulator. Website, 2006. http://www.simics.net.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. David Yen. Chip Multithreading Processors Enable Reliable High Throughput Computing. In International Reliability Physics Symposium (IRPS), 2005. Keynote Address.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • 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

        Copyright © 2008 ACM

        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: 1 March 2008

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader