Twizzler: An Operating System for Next-Generation Memory Hierarchies

Technical report · UCSC-SSRC-17-01 · University of California, Santa Cruz

December 2017View full paper

Abstract

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).

BibTeX

@techreport{bittman-ssrctr1701,
  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}
}
View full paper