Publication | Closed Access
Efficient Memory Virtualization: Reducing Dimensionality of Nested Page Walks
102
Citations
51
References
2014
Year
Unknown Venue
Cluster ComputingEngineeringComputer ArchitectureHardware SecurityHardware VirtualizationParallel ComputingMemory ManagementEscape FilterTranslation LookComputer EngineeringVirtualization SupportComputer ScienceVirtual MemoryExternal-memory AlgorithmDirect SegmentProgram AnalysisParallel ProgrammingEfficient Memory VirtualizationSystem SoftwareVirtual Machine
Virtualization provides value for many workloads, but its cost rises for workloads with poor memory access locality. This overhead comes from translation look aside buffer (TLB) misses where the hardware performs a 2D page walk (up to 24 memory references on x86-64) rather than a native TLB miss (up to only 4 memory references). The first dimension translates guest virtual addresses to guest physical addresses, while the second translates guest physical addresses to host physical addresses. This paper proposes new hardware using direct segments with three new virtualized modes of operation that significantly speed-up virtualized address translation. Further, this paper proposes two novel techniques to address important limitations of original direct segments. First, self-ballooning reduces fragmentation in physical memory, and addresses the architectural input/output (I/O) gap in x86-64. Second, an escape filter provides alternate translations for exceptional pages within a direct segment (e.g., Physical pages with permanent hard faults). We emulate the proposed hardware and prototype the software in Linux with KVM on x86-64. One mode -- VMM Direct -- reduces address translation overhead to near-native without guest application or OS changes (2% slower than native on average), while a more aggressive mode -- Dual Direct -- on big-memory workloads performs better-than-native with near-zero translation overhead.
| Year | Citations | |
|---|---|---|
Page 1
Page 1