Please note: This PhD seminar will take place online.
Ryan Hancock, PhD candidate
David R. Cheriton School of Computer Science
Supervisor: Professor Ali José Mashtizadeh
Single Level Stores have recently resurfaced as a system for persisting application data. Systems like EROS, Aurora, and TreeSLS use application checkpointing to replace existing file-based APIs. These systems checkpoint at a coarse granularity and must be used with file-based persistence mechanisms like WALs, undermining the advantages of Single Level Stores.
We propose MemSnap, a new Single Level Store that completes the single store vision by eliminating the need for the WAL API. MemSnap persists updates to memory for individual transactions concurrently with other threads. We introduce a novel per-thread dirty set tracking mechanism in the kernel and use it to transparently persist application data. We expand the VM subsystem to prevent modifications to in-flight data without stopping the application. We integrate MemSnap with production-grade databases including PostgreSQL, RocksDB, and SQLite, and gain significant performance benefits and code reduction. MemSnap-based persistence has 4.5×–30× lower latency than file-based random IO and is within a factor of 2 to direct disk IO latency. MemSnap increases the throughput of SQLite by 5× over file APIs and achieves a 4× throughput improvement for RocksDB compared to Aurora’s region checkpointing API.
Bio: I’m a 6th year PhD student at the University of Waterloo, doing research at the RCS Lab. My current research explores various areas within serverless and storage. I have done modeling work for serverless workloads, looked into better isolation mechanisms for OS containers. I also built a copy-on-write checkpointing storage system to support our single level store, Aurora published at SOSP 2021.