Accelerating Two-Dimensional Page Walks for Virtualized Systems Ravi Bhargava Benjamin Serebrin Francesco Spadini Srilatha Manne Computing Solutions Group Computing Solutions Group Computing Solutions Group Advanced Architecture & Technology Lab Advanced Micro Devices Advanced Micro Devices Advanced Micro Devices Advanced Micro Devices Austin, TX Sunnyvale, CA Austin, TX Bellevue, WA
[email protected] [email protected] [email protected] [email protected] Abstract pervisor is the underlying software that inserts abstractions into a Nested paging is a hardware solution for alleviating the software virtualized system: an operating system (OS) becomes a guest OS, memory management overhead imposed by system virtualization. physical addresses become guest physical addresses,and,ingen- Nested paging complements existing page walk hardware to form eral, system elements that the OS presumed were real or physical a two-dimensional (2D) page walk,whichreducestheneedfor are converted into virtualized resources under control or manipula- hypervisor intervention in guest page table management. However, tion of the hypervisor [14, 16]. the extra dimension also increases the maximum number of archi- Ideally, a virtualized guest system will have comparable per- tecturally-required page table references. formance to an equivalent native, non-virtualized system. This can This paper presents an in-depth examination of the 2D page indeed be the case for compute-intensive applications. For exam- ple, the performance overhead for a virtualized system running table walk overhead and options for decreasing it. These options R include using the AMD OpteronTM processor’s page walk cache SPECint!2000 benchmarks can be less than 5% because the hy- to exploit the strong reuse of page entry references.