Advancement: Designing Operating Systems for Next-generation Memory Hierarchies

Speaker Name: 
Daniel Bittman
Speaker Title: 
PhD Student (Advisor: Ethan Miller)
Speaker Organization: 
Computer Science
Start Time: 
Friday, December 14, 2018 - 1:00pm
End Time: 
Friday, December 14, 2018 - 3:00pm
Location: 
Engineering 2, Room 380
Organizer: 
Ethan Miller

Abstract:  Byte-addressable non-volatile memory (BNVM) and ever-increasing system complexity requires we rethink the entire system stack, from processor design to applications. Operating systems, too, must evolve to support new I/O models for persistent data access and security models for allowing multiple hardware devices to act together autonomously. We plan to rethink operating system design by exploring previous OS research in light of new hardware trends, reconsidering single-level store designs that remove the kernel from the path of persistent data access and provide hardware with a single address space access model to objects to abstract away the complexities of a heterogeneous memory environment. By removing the kernel from the enforcement of security policies and the access to persistent data, we expect to dramatically improve system performance and programming simplicity. In contrast to I/O models of current operating systems, we plan to provide a “clean-slate” I/O model for memory-mapped persistent data, realizing the vision of Unix in a world of persistent RAM.

The areas we propose to study are: what kind of hardware trends do we expect to see, how does past OS research apply to these trends, how can we rethink operating system design to account for them, how can we redesign the way programs access persistent data to best improve performance and programmability, and how can secure such a system? By answering these questions, we will provide a forward-thinking answer to the question of how operating systems need to evolve in the face of changing hardware and priorities.

We plan to build a operating system called Twizzler that will allow us to answer questions of operating system and programming model design in a new memory hierarchy. We've made significant first steps towards a functioning system already that has given evidence that our approach is viable.