Publications

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