Experimental framework for injecting logic errors in a virtual machine to profile applications for soft error resilience

  • Authors:
  • Nathan DeBardeleben;Sean Blanchard;Qiang Guan;Ziming Zhang;Song Fu

  • Affiliations:
  • High Performance Computing Division, Los Alamos National Laboratory, Ultrascale Systems Research Center, Los Alamos, NM;High Performance Computing Division, Los Alamos National Laboratory, Ultrascale Systems Research Center, Los Alamos, NM;High Performance Computing Division, Los Alamos National Laboratory, Ultrascale Systems Research Center, Los Alamos, NM, USA and Department of Computer Science and Engineering, University of North ...;High Performance Computing Division, Los Alamos National Laboratory, Ultrascale Systems Research Center, Los Alamos, NM, USA and Department of Computer Science and Engineering, University of North ...;Department of Computer Science and Engineering, University of North Texas, Dependable Computing Systems Lab, Denton, TX

  • Venue:
  • Euro-Par'11 Proceedings of the 2011 international conference on Parallel Processing - Volume 2
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

As the high performance computing (HPC) community continues to push for ever larger machines, reliability remains a serious obstacle. Further, as feature size and voltages decrease, the rate of transient soft errors is on the rise. HPC programmers of today have to deal with these faults to a small degree and it is expected this will only be a larger problem as systems continue to scale. In this paper we present SEFI, the Soft Error Fault Injection framework, a tool for profiling software for its susceptibility to soft errors. In particular, we focus in this paper on logic soft error injection. Using the open source virtual machine and processor emulator (QEMU), we demonstrate modifying emulated machine instructions to introduce soft errors. We conduct experiments by modifying the virtual machine itself in a way that does not require intimate knowledge of the tested application. With this technique, we show that we are able to inject simulated soft errors in the logic operations of a target application without affecting other applications or the operating system sharing the VM. We present some initial results and discuss where we think this work will be useful in next generation hardware/software co-design.