This page lists my academic publications in reverse chronological order. You
may also be interested in my
Google Scholar profile.
Runway: A New Tool for Distributed Systems Design
Runway: A New Tool for Distributed Systems Design.
This is a magazine article introducing Runway, a tool for specifying,
visualizing, and model checking concurrent or distributed protocols.
The RAMCloud Storage System
Seo Jin Park,
Stephen M. Rumble,
The RAMCloud Storage System.
ACM Transactions on Computer Systems (TOCS).
This is a pretty comprehensive paper on RAMCloud, including details on its data
model, log structured storage and cleaning, fast crash recovery, and networking
with performance breakdowns. It doesn't include secondary indexes,
transactions, or any other features developed after its publication date.
Consensus: Bridging Theory and Practice
Consensus: Bridging Theory and Practice.
Stanford University Ph.D. Dissertation.
LaTeX source and various PDFs,
This is my Ph.D. dissertation on the Raft consensus algorithm.
It's a much extended version of In Search of an Understandable
Consensus Algorithm (see below). It also describes a simpler form of
cluster membership changes, which we weren't aware of at the time the
conference paper was published.
In Search of an Understandable Consensus Algorithm
Diego Ongaro, John Ousterhout.
In Search of an Understandable Consensus Algorithm.
USENIX Annual Technical Conference (ATC).
Best Paper Award.
Diego Ongaro, John Ousterhout.
In Search of an Understandable Consensus Algorithm (Extended Version).
extended version PDF,
This paper describes the Raft consensus algorithm. The conference version
was limited in space, and the extended version adds a couple of pages to
discuss log compaction, client interaction, and a couple of other minor
topics. My Ph.D. dissertation (see above) expands on the same ideas.
Fast Crash Recovery in RAMCloud
Diego Ongaro, Stephen M. Rumble, Ryan Stutsman, John Ousterhout, Mendel Rosenblum.
Fast Crash Recovery in RAMCloud.
ACM Symposium on Operating Systems Principles (SOSP).
This paper formed the basis for Ryan's Ph.D. dissertation,
Durability and Crash Recovery in Distributed In-Memory Storage Systems (2013).
The Case for RAMCloud
John Ousterhout, Parag Agrawal, David Erickson, Christos Kozyrakis, Jacob Leverich,
David Mazières, Subhasish Mitra, Aravind Narayanan, Diego Ongaro, Guru Parulkar,
Mendel Rosenblum, Stephen M. Rumble, Eric Stratmann, and Ryan Stutsman.
The Case for RAMCloud.
Communications of the ACM (CACM).
This is a slightly revised and shorter version of
The Case for RAMClouds,
which appeared in Operating Systems Review in 2009. The students
on the project didn't like having "RAMClouds" in the title, which some
people had assumed was the project's name, so the "s" was dropped in the
newer revision. I joined the RAMCloud team shortly after the OSR paper was
It's Time for Low Latency
Stephen M. Rumble, Diego Ongaro, Ryan Stutsman, Mendel Rosenblum, and John Ousterhout.
It's Time for Low Latency.
USENIX Workshop on Hot Topics in Operating Systems (HotOS).
Scheduling I/O in Virtual Machine Monitors
Diego Ongaro, Alan L. Cox, and Scott Rixner.
Scheduling I/O in Virtual Machine Monitors.
ACM International Conference on Virtual Execution Environments (VEE).