Makalu: fast recoverable allocation of non-volatile memory
- Rice Univ., Houston, TX (United States); Hewlett Packard Labs., Palo Alto, CA (United States); Rice University and Hewlett Packard Labs, USA
- Hewlett Packard Labs., Palo Alto, CA (United States)
- Google Inc., Mountain View, CA (United States)
Byte addressable non-volatile memory (NVRAM) is likely to supplement, and perhaps eventually replace, DRAM. Applications can then persist data structures directly in memory instead of serializing them and storing them onto a durable block device. However, failures during execution can leave data structures in NVRAM unreachable or corrupt. In this paper, we present Makalu, a system that addresses non-volatile memory management. Makalu offers an integrated allocator and recovery-time garbage collector that maintains internal consistency, avoids NVRAM memory leaks, and is efficient, all in the face of failures. We show that a careful allocator design can support a less restrictive and a much more familiar programming model than existing persistent memory allocators. Our allocator significantly reduces the per allocation persistence overhead by lazily persisting non-essential metadata and by employing a post-failure recovery-time garbage collector. Experimental results show that the resulting online speed and scalability of our allocator are comparable to well-known transient allocators, and significantly better than state-of-the-art persistent allocators.
- Research Organization:
- Hewlett Packard Labs., Palo Alto, CA (United States); Rice Univ., Houston, TX (United States)
- Sponsoring Organization:
- USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR) (SC-21)
- Grant/Contract Number:
- SC0012199
- OSTI ID:
- 1425366
- Journal Information:
- SIGPLAN, Journal Name: SIGPLAN Journal Issue: 10 Vol. 51; ISSN 0362-1340
- Publisher:
- ACMCopyright Statement
- Country of Publication:
- United States
- Language:
- English
An Analysis of Persistent Memory Use with WHISPER
|
journal | May 2017 |
| A Case for Asymmetric Non-Volatile Memory Architecture | preprint | January 2018 |
| PUMA: A Programmable Ultra-efficient Memristor-based Accelerator for Machine Learning Inference | preprint | January 2019 |
| Fine-Grain Checkpointing with In-Cache-Line Logging | text | January 2019 |
| An Empirical Guide to the Behavior and Use of Scalable Persistent Memory | preprint | January 2019 |
| Transactions on Red-black and AVL trees in NVRAM | preprint | January 2020 |
| WITCHER : Detecting Crash Consistency Bugs in Non-volatile Memory Programs | preprint | January 2020 |
| Flat-Combining-Based Persistent Data Structures for Non-Volatile Memory | preprint | January 2020 |
An Analysis of Persistent Memory Use with WHISPER
|
conference | April 2017 |
An Analysis of Persistent Memory Use with WHISPER
|
journal | April 2017 |
An Analysis of Persistent Memory Use with WHISPER
|
journal | May 2017 |
Espresso: Brewing Java For More Non-Volatility with Non-volatile Memory
|
conference | March 2018 |
A persistent lock-free queue for non-volatile memory
|
conference | February 2018 |
A persistent lock-free queue for non-volatile memory
|
journal | March 2018 |
PUMA: A Programmable Ultra-efficient Memristor-based Accelerator for Machine Learning Inference
|
conference | April 2019 |
Similar Records
Persistent Octrees for Parallel Mesh Refinement Through Non-Volatile Byte-Addressable Memory
Single-node Partitioned-Memory for Huge Graph Analytics: Cost and Performance Trade-offs