Back to Search Start Over

Elzar: Triple Modular Redundancy using Intel Advanced Vector Extensions (technical report)

Authors :
Kuvaiskii, Dmitrii
Oleksenko, Oleksii
Bhatotia, Pramod
Felber, Pascal
Fetzer, Christof
Publication Year :
2016

Abstract

Instruction-Level Redundancy (ILR) is a well-known approach to tolerate transient CPU faults. It replicates instructions in a program and inserts periodic checks to detect and correct CPU faults using majority voting, which essentially requires three copies of each instruction and leads to high performance overheads. As SIMD technology can operate simultaneously on several copies of the data, it appears to be a good candidate for decreasing these overheads. To verify this hypothesis, we propose Elzar, a compiler framework that transforms unmodified multithreaded applications to support triple modular redundancy using Intel AVX extensions for vectorization. Our experience with several benchmark suites and real-world case-studies yields mixed results: while SIMD may be beneficial for some workloads, e.g., CPU-intensive ones with many floating-point operations, it exhibits higher overhead than ILR in many applications we tested. We study the sources of overheads and discuss possible improvements to Intel AVX that would lead to better performance.<br />Comment: Short version of this report appeared in the 46th IEEE/IFIP International Conference on Dependable Systems and Networks (DSN'2016) under the title "ELZAR: Triple Modular Redundancy using Intel Advanced Vector Extensions (practical experience report)"

Details

Database :
arXiv
Publication Type :
Report
Accession number :
edsarx.1604.00500
Document Type :
Working Paper