Cichlid: Explicit physical memory management for large machines
Simon Gerber, Gerd Zellweger, Reto Achermann, Moritz Hoffmann,, Kornilios Kourtis, Timothy Roscoe, Dejan Milojicic

TL;DR
Cichlid is a novel OS-level memory management system that allows applications to explicitly control physical memory and hardware translation, outperforming traditional virtual memory approaches in large machine environments.
Contribution
Cichlid introduces explicit physical memory management and direct hardware programming, challenging traditional virtual memory abstractions in OS design.
Findings
Outperforms VMM-based approaches for large working sets
Enables new use-cases for virtual memory in large machines
Simplifies programming of memory management features
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Parallel Computing and Optimization Techniques · Cloud Computing and Resource Management
