Teaching Schedule

  • Winter 2022: CS 190 (Software Design Studio)
  • Spring 2022: CS 111 (Operating Systems)

Recent Courses

Research Interests

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. Most of my current research is in the area of granular computing: new software stack layers that allow the execution of large numbers of very small tasks (as short as a few microseconds) in a datacenter. Current work includes projects developing new techniques for thread management, network communication, and logging.

I am a member of the Stanford Platform Lab, a research group that includes several faculty and projects in the areas of distributed systems, large-scale systems, and networking.

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

  1. J. Ousterhout, "A Linux Kernel Implementation of the Homa Transport Protocol," 2021 USENIX Annual Technical Conference (USENIX ATC '21), July 2021, pp. 773–787.
  2. 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.
  3. 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.
  4. 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
  5. J. Ousterhout, "Always Measure One Level Deeper," Communications of the ACM, Vol. 61, No. 7, July 2018, pp. 74–83.
  6. J. Ousterhout, A Philosophy of Software Design, Yaknyam Press, April 2018, 178 pages.
  7. 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.
  8. 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
  9. J. Ousterhout, "Scripting: Higher-Level Programming for the 21st Century," IEEE Computer, Vol. 31, No. 3, March 1998, pp. 23–30.
  10. J. Ousterhout, Tcl and the Tk Toolkit, Addison-Wesley, Reading Massachusetts, 1994, 460 pages.
  11. 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.
  12. J. Ousterhout, "Scheduling Techniques for Concurrent Systems," Proc. 3rd International Conference on Distributed Computing Systems, October 1982, pp. 22–30.

Selected Awards and Honors

  • 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)

Contact Information

Gates 352
650-721-6325
ouster@cs

Office Hours

See Google calendar, or by appointment

Administrative Support

Andi Villaneuva
Gates 349
650-725-4707
avillanueva@cs

Add ".stanford.edu" to all e-mail addresses above.