skip to main content
DOE PAGES title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Makalu: fast recoverable allocation of non-volatile memory

Abstract

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.

Authors:
 [1];  [2];  [3]
  1. Rice Univ., Houston, TX (United States); Hewlett Packard Labs., Palo Alto, CA (United States)
  2. Hewlett Packard Labs., Palo Alto, CA (United States)
  3. Google Inc., Mountain View, CA (United States)
Publication Date:
Research Org.:
Hewlett Packard Labs., Palo Alto, CA (United States); Rice Univ., Houston, TX (United States)
Sponsoring Org.:
USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR) (SC-21)
OSTI Identifier:
1425366
Grant/Contract Number:  
SC0012199
Resource Type:
Accepted Manuscript
Journal Name:
ACM SIGPLAN Notices
Additional Journal Information:
Journal Volume: 51; Journal Issue: 10; Conference: 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, Amsterdam (Netherlands), 31 Oct-4 Nov 2016; Journal ID: ISSN 0362-1340
Publisher:
ACM
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING; languages; performance; reliability; non-volatile memory; persistent memory management; allocation; deallocation; garbage collection

Citation Formats

Bhandari, Kumud, Chakrabarti, Dhruva R., and Boehm, Hans-J. Makalu: fast recoverable allocation of non-volatile memory. United States: N. p., 2016. Web. doi:10.1145/2983990.2984019.
Bhandari, Kumud, Chakrabarti, Dhruva R., & Boehm, Hans-J. Makalu: fast recoverable allocation of non-volatile memory. United States. doi:10.1145/2983990.2984019.
Bhandari, Kumud, Chakrabarti, Dhruva R., and Boehm, Hans-J. Wed . "Makalu: fast recoverable allocation of non-volatile memory". United States. doi:10.1145/2983990.2984019. https://www.osti.gov/servlets/purl/1425366.
@article{osti_1425366,
title = {Makalu: fast recoverable allocation of non-volatile memory},
author = {Bhandari, Kumud and Chakrabarti, Dhruva R. and Boehm, Hans-J.},
abstractNote = {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.},
doi = {10.1145/2983990.2984019},
journal = {ACM SIGPLAN Notices},
number = 10,
volume = 51,
place = {United States},
year = {2016},
month = {10}
}

Journal Article:
Free Publicly Available Full Text
Publisher's Version of Record

Citation Metrics:
Cited by: 10 works
Citation information provided by
Web of Science

Save / Share:

Works referenced in this record:

The missing memristor found
journal, May 2008

  • Strukov, Dmitri B.; Snider, Gregory S.; Stewart, Duncan R.
  • Nature, Vol. 453, Issue 7191
  • DOI: 10.1038/nature06932

Fast, multicore-scalable, low-fragmentation memory allocation through large virtual memory and global data structures
conference, January 2015

  • Aigner, Martin; Kirsch, Christoph M.; Lippautz, Michael
  • Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications - OOPSLA 2015
  • DOI: 10.1145/2814270.2814294

Scalable high performance main memory system using phase-change memory technology
conference, January 2009

  • Qureshi, Moinuddin K.; Srinivasan, Vijayalakshmi; Rivers, Jude A.
  • Proceedings of the 36th annual international symposium on Computer architecture - ISCA '09
  • DOI: 10.1145/1555754.1555760

Using managed runtime systems to tolerate holes in wearable memories
conference, January 2013

  • Gao, Tiejun; Strauss, Karin; Blackburn, Stephen M.
  • Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation - PLDI '13
  • DOI: 10.1145/2491956.2462171

Hoard: a scalable memory allocator for multithreaded applications
conference, January 2000

  • Berger, Emery D.; McKinley, Kathryn S.; Blumofe, Robert D.
  • Proceedings of the ninth international conference on Architectural support for programming languages and operating systems - ASPLOS-IX
  • DOI: 10.1145/378993.379232

Disaggregated memory for expansion and sharing in blade servers
conference, January 2009

  • Lim, Kevin; Chang, Jichuan; Mudge, Trevor
  • Proceedings of the 36th annual international symposium on Computer architecture - ISCA '09
  • DOI: 10.1145/1555754.1555789

Architecting phase change memory as a scalable dram alternative
conference, January 2009

  • Lee, Benjamin C.; Ipek, Engin; Mutlu, Onur
  • Proceedings of the 36th annual international symposium on Computer architecture - ISCA '09
  • DOI: 10.1145/1555754.1555758

Garbage collection in an uncooperative environment
journal, September 1988

  • Boehm, Hans-Juergen; Weiser, Mark
  • Software: Practice and Experience, Vol. 18, Issue 9
  • DOI: 10.1002/spe.4380180902

Atlas: leveraging locks for non-volatile memory consistency
conference, January 2014

  • Chakrabarti, Dhruva R.; Boehm, Hans-J.; Bhandari, Kumud
  • Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications - OOPSLA '14
  • DOI: 10.1145/2660193.2660224

McRT-Malloc: a scalable transactional memory allocator
conference, January 2006

  • Hudson, Richard L.; Saha, Bratin; Adl-Tabatabai, Ali-Reza
  • Proceedings of the 2006 international symposium on Memory management - ISMM '06
  • DOI: 10.1145/1133956.1133967

Memory allocation for long-running server applications
conference, January 1998

  • Larson, Per-Åke; Krishnan, Murali
  • Proceedings of the first international symposium on Memory management - ISMM '98
  • DOI: 10.1145/286860.286880

Reducing pause time of conservative collectors
conference, January 2002

  • Endo, Toshio; Taura, Kenjiro
  • Proceedings of the third international symposium on Memory management - ISMM '02
  • DOI: 10.1145/512429.512432

Simple, fast, and practical non-blocking and blocking concurrent queue algorithms
conference, January 1996

  • Michael, Maged M.; Scott, Michael L.
  • Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing - PODC '96
  • DOI: 10.1145/248052.248106

SuperMalloc: a super fast multithreaded malloc for 64-bit machines
conference, January 2015

  • Kuszmaul, Bradley C.
  • Proceedings of the 2015 ACM SIGPLAN International Symposium on Memory Management - ISMM 2015
  • DOI: 10.1145/2754169.2754178

Mostly-copying reachability-based orthogonal persistence
conference, January 1999

  • Hosking, Antony L.; Chen, Jiawan
  • Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications - OOPSLA '99
  • DOI: 10.1145/320384.320427

A hierarchical O(N log N) force-calculation algorithm
journal, December 1986