an interface for programming with persistent memory
write speed: 3 microseconds
Introduction
Existing operating systems bifurcate volatile storage (memory) and disk storage. Mnemosyne wants to provide SCM through an abstraction of persistent memory.
Not a replacement for files
Uses (moderate data):
document edit snapshots
logs
Key Points:
simple to use
system must allow data structure change recovery
compatibility with existing processors
persistent memory regions: segments of memory stored in SCM
can be created automatically
to hold variables marked with keyword pstatic
virtualized by swap files
persistence primitives: operations that support updating data
durable memory transaction: enables in-place updates for arbitrary structures