DeepAI AI Chat
Log In Sign Up

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

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...
12/01/2016

Near-Memory Address Translation

Memory and logic integration on the same chip is becoming increasingly c...
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...
01/28/2018

Virtual Breakpoints for x86/64

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

eBPF-based Working Set Size Estimation in Memory Management

Working set size estimation (WSS) is of great significance to improve th...
05/09/2011

User Mode Memory Page Allocation: A Silver Bullet For Memory Allocation?

This paper proposes a novel solution: the elimination of paged virtual m...
01/12/2017

VESPA: VIPT Enhancements for Superpage Accesses

L1 caches are critical to the performance of modern computer systems. Th...