2007 IEEE International Symposium on Performance Analysis of Systems&Software
Combining Simulation and Virtualization through Dynamic Sampling
San Jose, CA
April 25-April 27
ISBN: 1-4244-1081-9
A. Falcon, Adv. Archit. Lab., Hewlett-Packard Labs., Barcelona
P. Faraboschi, Adv. Archit. Lab., Hewlett-Packard Labs., Barcelona
D. Ortega, Adv. Archit. Lab., Hewlett-Packard Labs., Barcelona
The high speed and faithfulness of state-of-the-art virtual machines (VMs) make them the ideal front-end for a system simulation framework. However, VMs only emulate the functional behavior and just provide the minimal timing for the system to run correctly. In a simulation framework supporting the exploration of different configurations, a timing backend is still necessary to accurately determine the performance of the simulated target. As it has been extensively researched, sampling is an excellent approach for fast timing simulation. However, existing sampling mechanisms require capturing information for every instruction and memory access. Hence, coupling a standard sampling technique to a VM implies disabling most of the "tricks" used by a VM to accelerate execution, such as the caching and linking of dynamically compiled code. Without code caching, the performance of a VM is severely impacted. In this paper we present a novel dynamic sampling mechanism that overcomes this problem and enables the use of VMs for timing simulation. By making use of the internal information collected by the VM during functional simulation, we can quickly assess important characteristics of the simulated applications (such as phase changes), and activate or deactivate the timing simulation accordingly. This allows us to run unmodified OS and applications over emulated hardware at near-native speed, yet providing a way to insert timing measurements that yield a final accuracy similar to state-of-the-art sampling methods
Index Terms:
code caching, virtualization, dynamic sampling, virtual machines, fast timing simulation
Citation:
A. Falcon, P. Faraboschi, D. Ortega, "Combining Simulation and Virtualization through Dynamic Sampling," ispass, pp.72-83, 2007 IEEE International Symposium on Performance Analysis of Systems&Software, 2007