Albert Cohen
Babak Falsafi
Edouard Bugnion
Guang Gao
Hillery Hunter
Joe Tucek
Josep Torrellas
Kishore Ramachandran
Maria Garzaran
Martin Vechev
Peng Wu
Rajeev Balasubramonian
Santosh Pande
Sarita Adve
Steve Ko
Terence Kelly
Tim Harris
Vikram Adve
Galen Hunt
Submission (382kB)
12 Aug 2015 11:56:20pm EDT
e6ca9d8908de8bc40a6be26dee9c9464a5eb8537
A traditional operating system process consists of a single virtual address space that maps into available physical memory. Virtual memory management was introduced over fifty years ago to overcome the scarcity of physical memory by providing an abstraction presenting a larger address space to user processes through virtualization. With the advances of memory and interconnect technology, high-end systems are entering a different world: there is an abundance of physical memory, but a limited number of virtual and physical address bits that prevents directly accessing all the available memory. In this context, mapping available physical address ranges in and out of virtual address spaces becomes a frequent and important operation.
We propose a new operating system design that promotes virtual address spaces to first-class citizens, enabling process threads to attach to, detach from, and switch into multiple virtual address spaces. Our work enables data-centric applications to fully utilize vast physical memory. It optimizes several important use cases, such as leveraging persistent memory, sharing large pointer-based data structures among processes in a workflow, and efficiently accessing very large memory with random patterns.
In this paper, we describe our prototype implementations in the DragonFly BSD and in Barrelfish operating systems. We also present programming semantics and a compiler transformation to ensure safety in pointer-based programming. Finally, we demonstrate the benefits using data-intensive applications. Using the Redis key-value store, GUPS, and SAMTools, we show that our design removes the serialization overhead and improves throughput by 36% over a traditional file-based approach.
Accepted
| OveMer | RevExpCon | Nov | WriQua | ||
|---|---|---|---|---|---|
| Review #36A | 4 | 2 | 3 | 4 | |
| Review #36B | 4 | 3 | 3 | 3 | |
| Review #36C | 2 | 2 | 2 | 4 | |
| Review #36D | 3 | 3 | 2 | 4 | |
| Review #36E | 3 | 3 | 3 | 3 | |