Parallel virtualized memory translation with nested elastic cuckoo page tables

17Citations
Citations of this article
31Readers
Mendeley users who have this article in their library.
Get full text

Abstract

A major reason why nested or virtualized address translations are slow is because current systems organize page tables in a multi-level tree that is accessed in a sequential manner. A nested translation may potentially require up to twenty-four sequential memory accesses. To address this problem, this paper presents the first page table design that supports parallel nested address translation. The design is based on using hashed page tables (HPTs) for both guest and host. However, directly extending a native HPT design to a nested environment leads to minor gains. Instead, our design solves a new set of challenges that appear in nested environments. Our scheme eliminates all but three of the potentially twenty-four sequential steps of a nested translation-while judiciously limiting the number of parallel memory accesses issued to avoid over-consuming cache bandwidth. As a result, compared to conventional nested radix tables, our design speeds-up the execution of a set of applications by an average of 1.19x (for 4KB pages) and 1.24x (when huge pages are used). In addition, we also show a migration path from current nested radix page tables to our design.

Cite

CITATION STYLE

APA

Stojkovic, J., Skarlatos, D., Kokolis, A., Xu, T., & Torrellas, J. (2022). Parallel virtualized memory translation with nested elastic cuckoo page tables. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (pp. 84–97). Association for Computing Machinery. https://doi.org/10.1145/3503222.3507720

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free