Flux Research Group / School of Computing

Abstractions for Practical Virtual Machine Replay

Anton Burtsev, David Johnson, Mike Hibler, Eric Eide, and John Regehr

12th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE) 2016.

DOI: 10.1145/2892242.2892257



Efficient deterministic replay of whole operating systems is feasible and useful, so why isn't replay a default part of the software stack? While implementing deterministic replay is hard, we argue that the main reason is the lack of general abstractions for understanding and addressing the significant engineering challenges involved in the development of a replay engine for a modern VMM. We present a design blueprint—a set of abstractions, general principles, and low-level implementation details—for efficient deterministic replay in a modern hypervisor. We build and evaluate our architecture in Xen, a full-featured hypervisor. Our architecture can be readily followed and adopted, enabling replay as a ubiquitous part of a modern virtualization stack.