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
Diego Ongaro.
Runway: A New Tool for Distributed Systems Design.
USENIX ;login:.
Fall 2016.
PDF,
blog post,
Runway website
This is a magazine article introducing Runway, a tool for specifying,
visualizing, and model checking concurrent or distributed protocols.
The RAMCloud Storage System
John Ousterhout,
Arjun Gopalan,
Ashish Gupta,
Ankita Kejriwal,
Collin Lee,
Behnam Montazeri,
Diego Ongaro,
Seo Jin Park,
Henry Qin,
Mendel Rosenblum,
Stephen M. Rumble,
Ryan Stutsman,
and
Stephen Yang.
The RAMCloud Storage System.
ACM Transactions on Computer Systems (TOCS).
Sept. 2015.
PDF,
RAMCloud wiki
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
Diego Ongaro.
Consensus: Bridging Theory and Practice.
Stanford University Ph.D. Dissertation.
Aug. 2014.
PDF,
LaTeX source and various PDFs,
Raft website
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).
2014.
Best Paper Award.
Diego Ongaro, John Ousterhout.
In Search of an Understandable Consensus Algorithm (Extended Version).
Tech Report.
May, 2014.
conference PDF,
extended version PDF,
conference video,
Raft website
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).
2011.
PDF,
single-column PDF,
conference video,
RAMCloud wiki
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).
July 2011.
PDF,
RAMCloud wiki
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
written.
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).
2011.
PDF,
conference slides
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).
2008.
PDF,
conference slides