Memristor, phase-change memory, and other emerging non-volatile memory (NVM) technologies will provide disk-like persistence but at DRAM-like latency. These NVM devices will allow applications to directly manipulate data via memory instructions, thus blurring the distinction between in-memory versus on-disk representations. How should developers write programs to benefit from non-volatile memory, and improve application performance? This tutorial will introduce participants to expected features in NVM devices, the research challenges associated with programming non-volatile memory, and survey software based solutions. We will cover issues related to the presence of volatile caches, consistency of persistent data, and the associated overheads. We will briefly review prior research on persistent programming such as persistent programming languages and orthogonal persistence, and then describe recent advances such as durable transactions and persistence for lock-based programs.

2016-PLDI-NVM-tutorial-final (2016-PLDI-NVM-tutorial-final.pptx)4.63MiB

Mon 13 Jun

Tutorials
09:00 - 10:00: Tutorials - How Should We Program Non-volatile Memory? at Santa Cruz East
Tutorials146580120000009:00 - 10:00
Talk
File Attached
Tutorials
10:30 - 12:00: Tutorials - How Should We Program Non-volatile Memory? at Santa Cruz East
Tutorials146580660000010:30 - 12:00
Talk
File Attached