CHAOS: Controlled Hardware fAult injectOr System for gem5
Elio Vinciguerra, Enrico Russo, Giuseppe Ascia, Maurizio Palesi
TL;DR
CHAOS introduces an open-source, modular fault injection framework for gem5 that supports all ISAs and enables fine-grained injections into architectural registers, caches, and memory. It demonstrates low runtime overhead and rich fault dynamics across MiBench workloads, including crashes, silent data corruption, masked outcomes, and timeouts under various injection probabilities. By leveraging hardware performance counters, CHAOS reveals that silent faults often perturb micro-architectural activity even when final outputs appear correct, underscoring the importance of observability in dependability research. The work provides a practical tool for reliability studies in high-performance systems and suggests directions for expanding fault models and integration with future architectures.
Abstract
Fault injectors are essential tools for evaluating the reliability and resilience of computing systems. They enable the simulation of hardware and software faults to analyze system behavior under error conditions and assess its ability to operate correctly despite disruptions. Such analysis is critical for identifying vulnerabilities and improving system robustness. CHAOS is a modular, open-source, and fully configurable fault injection framework designed for the gem5 simulator. It facilitates precise and systematic fault injection across multiple architectural levels, supporting comprehensive evaluations of fault tolerance mechanisms and resilience strategies. Its high configurability and seamless integration with gem5 allow researchers to explore a wide range of fault models and complex scenarios, making CHAOS a valuable tool for advancing research in dependable and high-performance computing systems.
