Execution replay of multiprocessor virtual machines

George W. Dunlap, Dominic G. Lucchetti, Michael A. Fetterman, Peter M. Chen
2008 Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments - VEE '08  
Execution replay of virtual machines is a technique which has many important applications, including debugging, fault-tolerance, and security. Execution replay for single processor virtual machines is well-understood, and available commercially. With the advancement of multi-core architectures, however, multiprocessor virtual machines are becoming more important. Our system, SMP-ReVirt, is the first system to log and replay a multiprocessor virtual machine on commodity hardware. We use hardware
more » ... page protection to detect and accurately replay sharing between virtual cpus of a multi-cpu virtual machine, allowing us to replay the entire operating system and all applications. We have tested our system on a variety of workloads, and find that although sharing under SMP-ReVirt is expensive, for many workloads and applications, including debugging, the overhead is acceptable.
doi:10.1145/1346256.1346273 dblp:conf/vee/DunlapLFC08 fatcat:fhdjxhyltjf7diqbjyhg4nlgnq