Timothy Roscoe gives the following talk at VMware in Palo Alto, CA, USA:
Title: "Physical Memory Management for Modern Hardware"
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, and distinguish very different kinds of memory (such as NVRAM). 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.
In the Barrelfish OS, we rethink how an OS supports virtual memory. The Barrelfish memory system which inverts the traditional model:. Applications explicitly manage their physical RAM of different types, and directly (though safely) program the translation hardware. The approach requires no virtualization support, and outperforms VMM-based approaches for all but the smallest working sets. I'll talk about use-cases for virtual memory not possible in Linux-like systems today, and show that other use-cases are simple to program and significantly faster.