2015/04/24 by Sparsh Mittal, Jeffrey S. Vetter · 1 citation
Computer Science · Engineering · #Distributed systems and fault tolerance #Radiation Effects in Electronics #Security and Verification in Computing
paper · doi:10.1109/tpds.2015.2426179
openalex publication_date 2015/04/24 · openalex created_date 2025/10/10 · openalex updated_date 2026/06/11
Recent trends of aggressive technology scaling have greatly exacerbated the occurrences and impact of faults in computing systems. This has made `reliability' a first-order design constraint. To address the challenges of reliability, several techniques have been proposed. This paper provides a survey of architectural techniques for improving resilience of computing systems. We especially focus on techniques proposed for microarchitectural components, such as processor registers, functional units, cache and main memory etc. In addition, we discuss techniques proposed for non-volatile memory, GPUs and 3D-stacked processors. To underscore the similarities and differences of the techniques, we classify them based on their key characteristics. We also review the metrics proposed to quantify vulnerability of processor structures. We believe that this survey will help researchers, system-architects and processor designers in gaining insights into the techniques for improving reliability of computing systems.