For the coming decade, dynamic random-access memory (DRAM) is likely to be replaced in many applications by new forms of non-volatile memory (NVM), which retain their contents when power is lost. This prospect raises the possibility that certain data formerly kept in files might instead reside "in memory" across program runs and even system crashes, leading to significant reductions in program complexity and run-time overhead. To achieve this vision, this class will explore a variety of topics in the rapidly evolving field of persistent memory, including hardware (memory and processor) foundations; formal correctness criteria (memory persistency, durable linearizability); persistent data structures; run-time systems for failure atomicity; dynamic memory allocation; and operating system support for failure recovery and for safe, user-level sharing.
Download presentation Go to presentation