Persistent Memory Programming on Conventional Hardware

Library Content Type:
Publish Date: 
Wednesday, September 25, 2019
Event Name: 
Event Track:
Focus Areas:

Commercially available byte-addressable non-volatile memory (NVM)
invites us to re-think the way applications interact with persistent
data: The style of programming that NVM invites can dramatically
simplify and streamline applications. However, many of the benefits
of this style of programming are available on conventional computers,
without NVM hardware, via a software abstraction of persistent
memory. This talk will explain how failure-atomic msync (FAMS), a
simple variant of conventional mmap/msync, supports crash-resilient
persistent memory programming on conventiona hardware. FAMS offers
tremendous flexibility in the underlying storage/durability layers
and can be implemented in the OS kernel, in the filesystem, or in a
userspace library. This talk will review experiences with three past
implementations of FAMS and will introduce two new ones.

Code examples in C/C++ will illustrate the use of FAMS-based
persistent memory and will present useful coding idioms.

Watch video: