PhD Seminar • Systems and Networking • The Aurora Operating System: Reintroducing the Single Level Store

Friday, October 8, 2021 2:00 pm - 2:00 pm EDT (GMT -04:00)

Please note: This PhD seminar will be given online.

Emil Tsalapatis, PhD candidate
David R. Cheriton School of Computer Science

Supervisor: Professor Ali Mashtizadeh

Ensuring the persistence of application data is an error prone and work intensive programming task. Single level stores (SLSes) are OSes that transparently persist applications instead of just their data. Developers thus write no code to serialize and persist state. SLSes have existed for a long time, but have not found widespread adoption. Past designs are incompatible with POSIX semantics and do not provide transparent persistence. Hardware bottlenecks in the form of slow persistent storage have additionally rendered SLSes nonviable until recently.

We introduce Aurora, the first UNIX compatible Single Level Store. Aurora uses modern NVMe SSD hardware to transparently provide persistence to unmodified applications up to 100 times per second. It also exposes an API which applications use to optimize the checkpointing process, driving down the persistence granularity to microseconds.

In this talk we describe the mechanisms Aurora uses to efficiently persist applications. We first introduce the POSIX object model for checkpointing applications, and explain why it is superior to conventional process based checkpointing. We then describe system shadowing, a COW mechanism Aurora uses to parallelize application execution with the flushing of checkpoints to storage.

We analyze the performance of Aurora and benchmark it against widely used key value stores like Redis, Memcached, and RocksDB. For RocksDB Aurora replaces 40% of the codebase with 109 lines of code, while providing a 78% increase in throughput with the same persistence guarantees.


Bio: Emil Tsalapatis is a fourth year PhD student working with Professor Ali Mashtizadeh. Emil has published work at HotOS and SOSP, and is currently working on single level stores and their applications on serverless computing and debugging. His research interests include OS design and distributed computing.


To join this PhD seminar on Zoom, please go to https://uwaterloo.zoom.us/j/99449197983?pwd=NDFCbHV3dWZ3T1U5eXZXTTdhTU9qZz09.