As we move towards higher-density, larger-scale, and lowerpower
computing hardware, new types of failures are being experienced
with increasing frequency. Hardware designed for the post-Moore generation
are also bringing about novel resiliency challenges. In order to
improve the efficiency of resiliency methods, fault injection plays an important
role in understanding how errors affect the OS and application.
Memory-state-aware fault injection, in particular, can be used to investigate
the memory-related faults caused by using current and future
hardware under extreme conditions and assess the costs/benefit trade-off
of resiliency methods. We introduce MH-QEMU, a memory-state-aware
fault injection platform implemented by extending a virtual machine
(VM) to intercepting memory accesses. MH-QEMU supports collecting
the physical and virtual addresses of memory accesses and defining
appropriate injections condition using the collected information. MHQEMU
incurs a 3.4× overhead, and we demonstrate how row-hammer
faults can be injected using MH-QEMU to analyzing the resiliency modified
NPB CG’s algorithm.