Solving the Challenges of Persistent Memory Programming

Author(s)/Presenter(s):
Library Content Type:
Publish Date: 
Wednesday, September 23, 2015
Event Name: 
Focus Areas:
Abstract: 

Programming with persistent memory is hard, similar to the type of programming a file system developer does because of the need to write changes out in a way that maintains consistency. Applications must be re-architected to change data stored in two tiers (DRAM and storage) into three tiers (DRAM, pmem and storage). This presentation will review key attributes of persistent memory as well as outline architectural and design considerations for making an application persistent memory aware. This discussion will conclude with examples showing how to modify an application to provide consistency when using persistent memory.

Learning Objectives

Introduce how persistent memory differs from DRAM and standard storage for storing application data
Show examples of the architectural considerations for making an application persistent memory aware
Give examples of how to modify an existing application to utilize persistent memory
Discuss the open source Non-Volatile Memory Library (NVML) available on GitHub for use to help with persistent memory programming