Transient hardware faults during the execution of a program can cause data corruptions. We present HAFT, a fault tolerance technique using hardware extensions of commodity CPUs to protect unmodified multithreaded applications against such corruptions. HAFT utilizes instruction-level redundancy for fault detection and hardware transactional memory for fault recovery. We evaluated HAFT with Phoenix and PARSEC benchmarks. The observed normalized runtime is 2×, with 98.9% of the injected data corruptions being detected and 91.2% being corrected. To demonstrate the effectiveness of HAFT, we applied it to realworld case studies including Memcached, Apache, and SQLite.
The hardware-assisted fault tolerance approach REF employs instruction-level redundancy for error detection and HTM for recovery with compilerbased code instrumentation.
HAFT: hardware-assisted fault tolerance
EuroSys '16
Computer Science