Compiler-Implemented Differential Checksums: Effective Detection and Correction of Transient and Permanent Memory Errors.

DSN(2023)

引用 0|浏览5
暂无评分
摘要
The detection of memory errors is common practice in safety-critical software, for example in the automotive and avionics industry. International safety standards recommend using checksums for protecting critical data in computer memories. Typical implementations verify the checksum before data access and recompute it after modification using the same algorithm. However, we show that this approach can sometimes dramatically worsen the reliability of computer systems with regard to transient memory faults, and also permanent faults remain undetected. A solution with significant conceptual advantages is constituted by differential checksum algorithms, which update the respective checksum without full recomputation on data modification. We present a compiler-based solution that inserts differential checksums into C/C++ data structures automatically to cope with their increased complexity. An extensive fault-injection campaign with the TACLeBench benchmark collection shows that differential checksums reduce silent data corruptions by 95% on average whereas non-differential checksums turn out to be mostly ineffective because they introduce a window of vulnerability.
更多
查看译文
关键词
Dependability,Fault Tolerance,Checksum,Compiler,Memory Error,Soft Error,Transient Fault,Permanent Fault,Software Implemented Hardware Fault Tolerance,Safety,Fault Injection
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要