CARAT CAKE: Replacing Paging via Compiler/Kernel Cooperation

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

Abstract

Virtual memory, specifically paging, is undergoing significant innovation due to being challenged by new demands from modern workloads. Recent work has demonstrated an alternative software only design that can result in simplified hardware requirements, even supporting purely physical addressing. While we have made the case for this Compiler-And Runtime-based Address Translation (CARAT) concept, its evaluation was based on a user-level prototype. We now report on incorporating CARAT into a kernel, forming Compiler-And Runtime-based Address Translation for CollAborative Kernel Environments (CARAT CAKE). In our implementation, a Linux-compatible x64 process abstraction can be based either on CARAT CAKE, or on a sophisticated paging implementation. Implementing CARAT CAKE involves kernel changes and compiler optimizations/transformations that must work on all code in the system, including kernel code. We evaluate CARAT CAKE in comparison with paging and find that CARAT CAKE is able to achieve the functionality of paging (protection, mapping, and movement properties) with minimal overhead. In turn, CARAT CAKE allows significant new benefits for systems including energy savings, larger L1 caches, and arbitrary granularity memory management.

Cite

CITATION STYLE

APA

Suchy, B., Ghosh, S., Kersnar, D., Chai, S., Huang, Z., Nelson, A., … Dinda, P. (2022). CARAT CAKE: Replacing Paging via Compiler/Kernel Cooperation. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (pp. 98–114). Association for Computing Machinery. https://doi.org/10.1145/3503222.3507771

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