John Ousterhout is an emeritus professor of engineering and computer science at Stanford. His systems work includes Tcl and Tk, Raft consensus with Diego Ongaro, and the Homa datacenter transport protocol. He also writes about managing software complexity.[1][2][3]
Start with In Search of an Understandable Consensus Algorithm →
Education
Links
Academic websiteLeonard Bosack and Sandy K. Lerner Professor of Engineering and Professor of Computer Science, Emeritus · Stanford University
Career
Ousterhout earned a physics BS at Yale in 1975 and a computer-science PhD at Carnegie Mellon in 1980. He was a Berkeley computer-science professor from 1980 to 1994 and a distinguished engineer at Sun Microsystems Laboratories from 1994 to 1998. He founded Scriptics in 1998 and served as CEO until 2000, then founded Electric Cloud in 2002. He returned to Stanford in 2008. His Stanford appointment is now emeritus, and his own page says he has retired from regular teaching.[1][2]
Contributions
Make replicated consensus understandable
Raft organizes replicated consensus around leader election, log replication and safety. Ongaro and Ousterhout designed the algorithm to be easier to understand than earlier consensus presentations, separating responsibilities and reducing the states a reader must consider. The paper explains how a cluster can preserve a shared sequence of commands despite failures and includes a user study of understandability.[3]
Put the receiver in control of incoming messages
Ousterhout’s Linux Homa implementation brings a receiver-driven message transport into the kernel. The protocol uses priorities and receiver-issued grants to control incoming traffic and favor short messages. His AI-cluster talk connects that design to workloads in which small exchanges and tail latency can leave expensive processors idle. It is a proposal and implementation for datacenter transport, with performance claims tied to the paper’s experiments.[4][6]
Ideas
In A Philosophy of Software Design, Ousterhout develops an approach to reducing complexity through module design. His second-edition explanation emphasizes separating important concerns from less important ones and expanding the discussion of general-purpose modules. The book also compares his recommendations with Clean Code on subjects including method length and comments.[5]
Tools, writing & talks
Writing, research & talks
Start here
In Search of an Understandable Consensus Algorithmraft.github.ioThe Raft paper explains consensus through separate leader-election and replication mechanisms.
Begin with the paper’s overview and leader-election explanation. Basic knowledge of replicated services helps; the safety argument and membership changes can wait until the core protocol is clear.
Coauthor with Diego Ongaro[3]Stanford's John Ousterhout explains why sender-driven TCP congestion control now bottlenecks AI clusters as agentic inference workloads shrink compute phases to milliseconds, and presents Homa's receiver-driven design as the structural fix.
Catalog workOriginal source- The End of TCP for AI Clustersai.engineer
A talk connecting small-message latency to receiver-driven datacenter transport.
Speaker[6] Implementation details and evaluation of Homa in Linux.
Author[4]- A Philosophy of Software Designweb.stanford.edu
A book about reducing complexity and choosing useful module boundaries.
Author[5]