CSC 573:  Persistent Memory

Spring 2020

Course Description

After almost 50 years of technical dominance, dynamic random-access memory (DRAM) is nearing the end of its evolutionary life.  Successor technologies, which have begun to reach the market, are all non-volatile:  they retain their contents when power is lost.  This feature raises the possibility that certain data formerly kept in files might instead reside "in memory" across program runs and even system crashes.  We will explore the rapidly expanding literature on this subject, and pursue group projects that extend the state of the art.  topics to be addressed include device technology; architectural support (instruction set, memory model); operating system support (virtual memory ad file system integration, failure detection and recovery initiation); run-time systems (failure atomicity via locks and/or transactions); formal correctness criteria; dynamic memory allocation; and driving applications. 

Instructor

Michael L. Scott
3401 Wegmans Hall
Office hours by appointment; send email:  Michael Scott's email address

Meeting Time

Tuesdays and Thursdays, 2:00–3:15 in LeChase 103. 
In general, we will use Tuesdays to discuss papers and Thursdays to discuss projects. 

Class Materials

On-line materials will be kept in a collection of Google Docs and a Pizza group; both are available by invitation only. 

Grading

Grading will be on the basis of projects and class participation. 
Everyone is expected to read assigned material carefully before class and to participate actively in all discussion.