Software persistent memory

Jorge Guerra, Leonardo Mármol, Daniel Campello, Carlos Sobrino Crespo, Raju Rangaswami, Jinpeng Wei · 2012

Persistence of in-memory data is necessary for many classes of application and systems software. We pro-pose Software Persistent Memory (SoftPM), a new mem-ory 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 applica-tions to use SoftPM only requires identifying such root structures within the code. We evaluated the correct-ness, ease of use, and performance of SoftPM using a suite of microbenchmarks and real world applica-tions including a distributed MPI 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 re-cover data successfully, and provide significant perfor-mance speedup (e.g., up to 10X for memcachedb and 83 % for SQLite). 1

Read the paper · More papers on PaperTik