Examining ACE analysis reliability estimates using fault-injection
Authors:
Open Access
- 9 June 2007
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 35 (2) , 460-469
Abstract
ACE analysis is a technique to provide an early reliability estimate for microprocessors. ACE analysis couples data from abstract performance models with low level design details to identify and rule out transient faults that will not cause incorrect execution. While many transient faults are analyzable in ACE analysis frameworks, some are not. As a result, ACE analysis is conservative and provides a lower bound for the reliability of a processor design. Bounding the reliability of a design is useful since it can guarantee that the given design will meet reliability goals. In this work, we quantify and identify the sources of ACE analysis conservatism by comparing an ACE analysis methodology against a rigorous fault-injection study. We evaluate two flavors of ACE analysis: a "simple" analysis and a refined analysis, finding that even the refined analysis overestimates the soft error vulnerability of an instruction scheduler by 2-3x. The conservatism stems from two key sources: from lack of detail in abstract performance models and from what we term Y-Bits, a result of the single-pass simulation methodology that is typical of ACE analysis. We also examine the efficacy of applying ACE analysis to a class of "partial coverage" error mitigation techniques. In particular, we perform a case study on one such technique and extrapolate our findings to others.Keywords
This publication has 7 references indexed in Scilit:
- Perturbation-based Fault Screening2007
- Computing Architectural Vulnerability Factors for Address-Based Structures2005
- Opportunistic Transient-Fault Detection2005
- Design and Evaluation of Hybrid Fault-Detection Systems2005
- ReStore: Symptom Based Soft Error Detection in Microprocessors2005
- Effects of transient gate-level faults on program behavior2002
- Transient fault detection via simultaneous multithreading2000