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.
Michael L. Scott
3401 Wegmans Hall
Office hours by appointment; send email:
Tuesdays and Thursdays, 2:00–3:15 in LeChase 103.
In general, we will use Tuesdays to discuss papers and Thursdays to
discuss projects.
On-line materials will be kept in a collection of Google Docs and a Pizza group; both are available by invitation only.
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.