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.
Thu 3 Nov
|13:30 - 13:55|
Benoit DalozeJKU Linz, Austria, Stefan MarrJohannes Kepler University Linz, Daniele BonettaOracle Labs, Hanspeter MössenböckJKU Linz, AustriaDOI Pre-print Media Attached
|13:55 - 14:20|
Keith ChapmanPurdue University, Tony HoskingAustralian National University, Data61, and Purdue University, Eliot MossUniversity of Massachusetts AmherstLink to publication DOI Pre-print Media Attached
|14:20 - 14:45|
|DOI Pre-print Media Attached|
|14:45 - 15:10|
Diogenes NunezTufts University, Sam GuyerTufts University, Emery BergerUniversity of Massachusetts, AmherstDOI Pre-print Media Attached