Enhancing Virtualized Application Performance Through Dynamic Adaptive Paging Mode Selection
Virtual address translation in a Virtual Machine Monitor (VMM) for modern x86 processors can be implemented using a software approach known as shadow paging or a hardware approach known as nested paging. Most VMMs, including the Palacios VMM, support both. Using a range of benchmark measurements, the authors show that which approach is preferable for achieving high application performance under virtualization is workload dependent, and that the performance differences between the two approaches can be substantial. They have developed an algorithm, based on measuring the TLB miss rate and the VMM exit rate for paging-related exits, for measuring the performance of the current paging approach during normal execution and predicting when switching approaches is likely to be beneficial to the application.