Software persistent memory

  • Authors:
  • Jorge Guerra;Leonardo Mármol;Daniel Campello;Carlos Crespo;Raju Rangaswami;Jinpeng Wei

  • Affiliations:
  • Florida International University;Florida International University;Florida International University;Florida International University;Florida International University;Florida International University

  • Venue:
  • USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Persistence of in-memory data is necessary for many classes of application and systems software. We propose Software PersistentMemory (SoftPM), a new memory abstraction which allows malloc style allocations to be selectively made persistent with relative ease. Particularly, SoftPM's persistent containers implement automatic, orthogonal persistence for all in-memory data reachable from a developer-defined root structure. Writing new applications or adapting existing applications to use SoftPM only requires identifying such root structures within the code. We evaluated the correctness, ease of use, and performance of SoftPM using a suite of microbenchmarks and real world applications including a distributedMPI application, SQLite (an in-memory database), and memcachedb (a distributed memory cache). In all cases, SoftPM was incorporated with minimal developer effort, was able to store and recover data successfully, and provide significant performance speedup (e.g., up to 10X for memcachedb and 83% for SQLite).