Software Persistent Memory and Its Applications

Raju Rangaswami
Seminar

In this talk, I will describe our recent work towards building a lightweight Software Persistent Memory (SoftPM) infrastructure and the new capabilities that it enables. Fundamentally, SoftPM eliminates the duality of data management in applications, whereby memory-resident data is readily accessible but volatile, and storage-resident data is persistent, yet not directly accessible to the process. SoftPM allows applications to allocate persistent memory in much the same way volatile memory is allocated, and easily restore, browse, and interact with past versions of persistent memory state. This simplifies the implementation of three broad capabilities required in a variety of applications -- recoverability (e.g., checkpoint-restart), record-replay (e.g., scientific data visualization), and execution branching (e.g., simulation model-space exploration). I will discuss research challenges, our approach, and some promising preliminary results.

In the latter part of the talk, I will give a brief overview of other ongoing systems work in our lab.