Twizzler: An Operating System for Next-Generation Memory Hierarchies

Published as Storage Systems Research Center Technical Report UCSC-SSRC-17-01.


The introduction of NVDIMMs (truly non-volatile and directly accessible) requires us to rethink all levels of the system stack, from processor features to applications. Operating systems, too, must evolve to support new I/O models for applications accessing persistent data. We are developing Twizzler, an operating system for next-generation memory hierarchies. Twizzler is designed to provide applications with direct access to persistent storage while providing mechanisms for cross-object pointers, removing itself from the common access path to persistent data, and providing fine-grained security and recoverability. The design of Twizzler is a better fit for low-latency and byte-addressable persistent storage than prior I/O models of contemporary operating systems. We are in the process of building a prototype inside FreeBSD, allowing us to leverage and explore the ideas presented in this report without investing the time to build an operating system from scratch first. The purpose of this report is to provide an overview of Twizzler and the design behind it while giving a direction for our upcoming work. We intend to further develop our ideas by extending our FreeBSD prototype, followed by designing a kernel and hardware extensions to make better use of some of our designs (resulting in improved security, simplicity, and improved support for persistent kernel state).

Publication date:
December 2017

Daniel Bittman
Matt Bryson
Yuanjiang Ni
Arjun Govindjee
Isaak Cherdak
Pankaj Mehra
Darrell D. E. Long
Ethan L. Miller

Storage Class Memories
Operating Systems Support for NVM

Available media

Full paper text: PDF

Bibtex entry

  author       = {Daniel Bittman and Matt Bryson and Yuanjiang Ni and Arjun Govindjee and Isaak Cherdak and Pankaj Mehra and Darrell D. E. Long and Ethan L. Miller},
  title        = {Twizzler: An Operating System for Next-Generation Memory Hierarchies},
  institution  = {University of California, Santa Cruz},
  number       = {UCSC-SSRC-17-01},
  month        = dec,
  year         = {2017},
Last modified 24 May 2019