Reto Achermann
Assistant Professor
Systems Research Group
TUM School of Computation, Information and Technology
Cichlid: Explicit physical memory management for large machines
Authors
Simon Gerber, Gerd Zellweger, Reto Achermann, Moritz Hoffmann, Kornilios Kourtis, Timothy Roscoe and Dejan Milojicic
Venue
arXiv Preprint
Links
Abstract
In this paper, we rethink how an OS supports virtual memory. Classical VM is an opaque abstraction of RAM, backed by demand paging. However, most systems today (from phones to data-centers) do not page, and indeed may require the performance benefits of non-paged physical memory, precise NUMA allocation, etc. Moreover, MMU hardware is now useful for other purposes, such as detecting page access or providing large page translation. Accordingly, the venerable VM abstraction in OSes like Windows and Linux has acquired a plethora of extra APIs to poke at the policy behind the illusion of a virtual address space.
Instead, we present Cichlid, a memory system which inverts this model. Applications explicitly manage their physical RAM of different types, and directly (though safely) program the translation hardware. Cichlid is implemented in Barrelfish, requires no virtualization support, and outperforms VMM-based approaches for all but the smallest working sets. We show that Cichlid enables use-cases for virtual memory not possible in Linux today, and other use-cases are simple to program and significantly faster.
Bibtex
@article{Gerber:2019:CEP,
author = {Simon Gerber and Gerd Zellweger and Reto Achermann and Moritz Hoffmann and Kornilios Kourtis and Timothy Roscoe and Dejan Milojicic},
doi = {10.48550/arXiv.1911.08367},
eprint = {1911.08367},
eprintclass = {cs.OS},
eprinttype = {preprint},
id = {Gerber:2019:CEP},
journal = {arXiv Preprint},
publisher = {1911.08367},
title = {Cichlid: Explicit physical memory management for large machines},
url = {https://doi.org/10.48550/arXiv.1911.08367},
year = {2019}
}
Prof. Reto Achermann
I01: Chair of Distributed Systems and Operating Systems (aka Systems Research Group)
1st Floor, 7th Finger
School of Computation, Information, and Technology (CIT)
Technical University of Munich (TUM)
Boltzmannstr. 3
85748 Garching bei München
Germany
firstname.lastname [at] cit.tum.de


