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