@inproceedings{af271755c1d74dd9a9034a1b580eec11,
title = "Direct Memory Translation for Virtualized Clouds",
abstract = "Virtual memory translation has become a key performance bottleneck of memory-intensive workloads in virtualized cloud environments. On the x86 architecture, a nested translation needs to sequentially fetch up to 24 page table entries (PTEs). This paper presents Direct Memory Translation (DMT), a hardware-software extension for x86-based virtual memory that minimizes translation overhead while maintaining backward compatibility with x86. In DMT, the OS manages last-level PTEs in a contiguous physical memory region, termed Translation Entry Areas (TEAs). DMT establishes a direct mapping from each virtual page in a Virtual Memory Area (VMA) to the corresponding PTE in a TEA. Since processes manage memory with a handful of major VMAs, the mapping can be maintained per VMA and effectively stored in a few dedicated registers. DMT further optimizes virtualized memory translation via guest-host cooperation by directly allocating guest TEAs in physical memory, bypassing intermediate virtualization layers. DMT is inherently scalable - -it takes one, two, and three memory references in native, virtualized, and nested virtualized setups. Its scalability enables hardware-assisted translation for nested virtualization. Our evaluation shows that DMT significantly speeds up page walks by an average of 1.58x (1.65x with THP) in a virtualized setup, resulting in 1.20x (1.14x with THP) speedup of application execution on average.",
keywords = "address translation, cloud computing, virtual memory, virtualization",
author = "Jiyuan Zhang and Weiwei Jia and Siyuan Chai and Peizhe Liu and Jongyul Kim and Tianyin Xu",
note = "Publisher Copyright: {\textcopyright} 2024 Copyright is held by the owner/author(s). Publication rights licensed to ACM.; 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2024 ; Conference date: 27-04-2024 Through 01-05-2024",
year = "2024",
month = apr,
day = "27",
doi = "10.1145/3620665.3640358",
language = "English (US)",
series = "International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS",
publisher = "Association for Computing Machinery",
pages = "287--304",
booktitle = "Summer Cycle",
address = "United States",
}