Cichlid: Explicit physical memory management for large machines

11/19/2019
by   Simon Gerber, et al.
1

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/30/2018

Mosaic: An Application-Transparent Hardware-Software Cooperative Memory Manager for GPUs

Modern GPUs face a trade-off on how the page size used for memory manage...
research
12/01/2016

Near-Memory Address Translation

Memory and logic integration on the same chip is becoming increasingly c...
research
05/19/2020

The Virtual Block Interface: A Flexible Alternative to the Conventional Virtual Memory Framework

Computers continue to diversify with respect to system designs, emerging...
research
01/28/2018

Virtual Breakpoints for x86/64

Efficient, reliable trapping of execution in a program at the desired lo...
research
01/17/2023

eBPF-based Working Set Size Estimation in Memory Management

Working set size estimation (WSS) is of great significance to improve th...
research
07/26/2023

Modal Abstractions for Virtualizing Memory Addresses

Operating system kernels employ virtual memory management (VMM) subsyste...
research
07/22/2023

As if Time Had Stopped – Checking Memory Dumps for Quasi-Instantaneous Consistency

Memory dumps that are acquired while the system is running often contain...

Please sign up or login with your details

Forgot password? Click here to reset