Teaching Schedule
Recent Courses
Research Interests
Note: I am no longer taking on new research students.
I am interested in a wide range of topics
related to infrastructure for building software systems, including
distributed systems, operating systems, storage systems,
development frameworks, and programming languages. My current
research is focused primarily around the Homa transport protocol.
Homa has looked so promising in the lab that I believe it should
replace TCP in the datacenter; I'm working on a variety of
projects to encourage wider use of Homa, such as a
Homa driver
for the Linux kernel and a
Homa plugin
for gRPC.
Homa Note (October 2022)
Several recent papers have presented new network transport protocols and
compared them to Homa; in many cases they claim superior performance.
Unfortunately, most of these papers have serious flaws that call into
question their conclusions.
Our community currently has no mechanism for raising concerns about
published work, so I have written
critiques of the papers in question and incorporated them into
the
Homa Wiki; see the "Related Work" section of the home page for
details.
Biography
I received a BS in Physics from Yale University
in 1975 and a PhD in Computer Science from Carnegie Mellon University
in 1980.
From 1980–1994 I was a Professor of Computer Science at the
University of California, Berkeley. My research projects included
design tools for integrated circuits such as the Magic layout editor
and the Crystal timing analyzer, the Sprite network
operating system, log-structured file systems, the
Tcl scripting language, and the Tk toolkit.
In 1994 I left Berkeley to fulfill a long-standing desire to build
commercial software. From 1994–1998 I was a Distinguished Engineer at Sun
Microsystems Laboratories. In 1998 I founded Scriptics Corporation
to commercialize Tcl development tools, where I was CEO until 2000.
In 2002 I founded Electric Cloud.
I was at Electric Cloud until 2007, and I led the development
of a parallel build system (ElectricAccelerator) and a Web-based
server for managing distributed processes such as nightly builds
and automated tests (ElectricCommander).
In 2008 I returned to academia in the Computer Science Department
at Stanford.
Selected Publications
- J. Ousterhout,
"It's Time to Replace TCP in
the Datacenter," Archiv 2210.00714.
- J. Ousterhout,
"A Linux Kernel Implementation of the Homa Transport Protocol,"
2021 USENIX Annual Technical Conference (USENIX ATC '21),
July 2021, pp. 773–787.
- Y. Li, S. Park, and J. Ousterhout,
"MilliSort
and MilliQuery: Large-Scale Data-Intensive Computing in Milliseconds,"
Proc. 18th USENIX Symposium on Networked Systems Design and
Implementation (NSDI 21), April 2021, pp. 593–611.
- S. Tollman, S. Park, and J. Ousterhout,
"EPaxos
Revisited,"
Proc. 18th USENIX Symposium on Networked Systems Design and
Implementation (NSDI 21), April 2021, pp. 613–632.
- B. Montazeri, Y. Li, M. Alizadeh, and J. Ousterhout,
"Homa: A
Receiver-Driven
Low-Latency Transport Protocol Using Network Priorities,"
Proc. ACM SIGCOMM 2018, August 2018, pp. 221–235.
Complete version
- J. Ousterhout,
"Always
Measure One Level Deeper,"
Communications of the ACM, Vol. 61, No. 7,
July 2018, pp. 74–83.
- J. Ousterhout,
A Philosophy of Software Design,
Yaknyam Press, April 2018, 178 pages.
- J. Ousterhout, A. Gopalan, A. Gupta, A. Kejriwal, C. Lee,
B. Montazeri, D. Ongaro, S. J. Park, H. Qin, M. Rosenblum,
S. Rumble, R. Stutsman, and S. Yang,
"The
RAMCloud Storage System," ACM Transactions on Computer
Systems, Vol. 33, No. 3, August 2015, pp. 7:1–7:55.
- D. Ongaro and J. Ousterhout,
"In Search of an Understandable
Consensus Algorithm," 2014 USENIX Annual Technical Conference
(USENIX ATC '14), June 2014, pp. 305–319.
Extended version
- J. Ousterhout, "Scripting:
Higher-Level Programming for the 21st Century,"
IEEE Computer, Vol. 31, No. 3, March 1998, pp. 23–30.
- J. Ousterhout, Tcl and the Tk Toolkit,
Addison-Wesley, Reading Massachusetts, 1994, 460 pages.
- M. Rosenblum and J. Ousterhout, "The
Design and Implementation of a Log-Structured File System,"
ACM Transactions on Computer
Systems, Vol. 10, No. 1, February 1992, pp. 26–52.
- J. Ousterhout, "Scheduling
Techniques for Concurrent Systems,"
Proc. 3rd International Conference on Distributed Computing
Systems, October 1982, pp. 22–30.
Selected Awards and Honors
- Stanford Tau Beta Pi Teaching Honor Roll (2023)
- IEEE Technical Committee on Distributed Processing Outstanding
Technical Contribution Award (2020)
- IEEE Technical Committee on Distributed Processing High Impact
Paper Award, for "Scheduling Techniques for Concurrent Systems"
(2020)
- IEEE Reynold B. Johnson Information Storage Systems Award (2014)
- Elected to National Academy of Engineering (2001)
- ACM Software System Award (1997)
- ACM Fellow (1994)
- ACM Grace Murray Hopper Award (1987)
- U.C. Berkeley Distinguished Teaching Award (1985)
- National Science Foundation Presidential Young Investigator (1984–1989)
- National Science Foundation Graduate Fellowship (1976–1979)
|
|