A virtual machine emulator for performance evaluation (Summary)

Virtual machines have long been used for functional testing of operating systems and to obtain the services of multiple operating systems from a single machine. They have not been used for performance evaluation however, because the timing observed by a program executing in a virtual machine is unpredictable and dependent on such factors as system load, real operating system overhead, real scheduling, etc. System level performance evaluation of hardware and operating systems has typically been done by hardware prototyping and dedicated machine benchmarking. This paper introduces the notion of virtual hardware prototyping for system performance evaluation. The approach makes use of the virtual machine concept by adding timing simulation to virtual machine support. The resulting virtual machines reproduce both machine timing and machine architecture. They are then useful for system performance evaluation.