In-memory Persistence: Opportunities and Challenges

Library Content Type:
Publish Date: 
Monday, September 19, 2016
Event Name: 
Focus Areas:

The advent of persistent memory enables a new class of applications where objects can be persisted in-memory as well as reused across executions and applications. This storage paradigm gets rid of the impedance mismatch between in-memory and stored data formats that is inherent using today’s block storage. A single (object) format of data should result in both performance and programmability benefits.

However, it is far from clear how to program persistent memory in a failure-tolerant manner. Opening up persistence to arbitrary data structures implies that any failure-tolerance technique should be largely transparent to the programmer while incurring low overheads. In this talk, I will review prior work on persistent programming paradigms and describe some recent work that provides consistency support with zero to minimum code changes. The audience can expect to learn about a specific model and its APIs. Other challenges and possible future directions will be discussed.

Learning Objectives

Overview of persistent memory and examples of upcoming platforms surrounding it
The existing literature on persistent memory programming
In-memory persistence and associated consistency pitfalls
An example failure-resilient persistent memory programming platform