Abstract
Virtualization provides benefits for many workloads, but the overheads of virtualizing memory are still high. The cost comes from managing two levels of address translation--one in the guest virtual machine (VM) and the other in the host virtual machine monitor (VMM)--with either nested or shadow paging. This article introduces agile paging, which combines the best of both nested and shadow paging within a page walk and exceeds the performance of both techniques.