Modeling Soft-Error Propagation in Programs

Modeling Soft-Error Propagation in Programs
复制标题

DOI:
10.1109/dsn.2018.00016
复制
发表时间:
2018-06
期刊:
2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)
影响因子:
--
通讯作者:
Guanpeng Li;K. Pattabiraman;S. Hari;Michael B. Sullivan;Timothy Tsai
Guanpeng Li;K. Pattabiraman;S. Hari;Michael B. Sullivan;Timothy Tsai
中科院分区:
其他
文献类型:
--
作者:
Guanpeng Li;K. Pattabiraman;S. Hari;Michael B. Sullivan;Timothy Tsai

文献摘要

被引文献

相似文献

随着技术向更小的特征尺寸扩展,设备变得更容易受到软错误的影响。软错误可能导致静默数据损坏(SDC),严重损害系统的可靠性。传统的硬件技术,以避免SDC是能源消耗,因此不适合商品系统。研究人员提出了选择性的基于软件的保护技术,以较低的成本容忍硬件故障。然而,这些技术要么使用昂贵的故障注入或不准确的分析模型来确定程序的哪些部分必须被保护以防止SDC。在这项工作中,我们构建了一个三级模型,TRIDENT,捕获错误传播的静态数据依赖,控制流和内存级别,根据经验观察程序中的错误传播。TRIDENT是作为一个编译器模块实现的,它可以预测给定程序的整体SDC概率和单个指令的SDC概率,而无需故障注入。我们发现,TRIDENT是几乎一样准确的故障注入,它是更快,更可扩展。我们还演示了使用TRIDENT来指导选择性指令复制,以有效地减轻SDC在给定的性能开销约束。
As technology scales to lower feature sizes, devices become more susceptible to soft errors. Soft errors can lead to silent data corruptions (SDCs), seriously compromising the reliability of a system. Traditional hardware-only techniques to avoid SDCs are energy hungry, and hence not suitable for commodity systems. Researchers have proposed selective software-based protection techniques to tolerate hardware faults at lower costs. However, these techniques either use expensive fault injection or inaccurate analytical models to determine which parts of a program must be protected for preventing SDCs. In this work, we construct a three-level model, TRIDENT, that captures error propagation at the static data dependency, control-flow and memory levels, based on empirical observations of error propagations in programs. TRIDENT is implemented as a compiler module, and it can predict both the overall SDC probability of a given program and the SDC probabilities of individual instructions, without fault injection. We find that TRIDENT is nearly as accurate as fault injection and it is much faster and more scalable. We also demonstrate the use of TRIDENT to guide selective instruction duplication to efficiently mitigate SDCs under a given performance overhead bound.