Teaching Schedule

  • Spring 2014: CS140 (Operating Systems)
  • Fall 2014: I will not be teaching in this quarter.
  • Winter 2015: CS142 (Web Applications)
  • Spring 2015: CS190 (Software Design Studio). This is a new class that will be taught in a small format (20 students, limited enrollment), with the goal of teaching a few top students the skills of "elite" programmers through a series of system programming projects with intense code reviews and in-class dicussions. Stay tuned for more details.

Recent Courses

Research Interests

I am interested in a wide range of topics related to infrastructure for building software systems, including development frameworks, programming languages, operating systems, and storage systems. My primary current project is RAMCloud, a new approach to storage where all information is kept in DRAM and large-scale storage systems are created by aggregating the memories of thousands of servers.

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 Department of Computer Science at Stanford.

Selected Publications

  1. S. Rumble, A. Kejriwal, and J. Ousterhout, "Log-Structured Memory for DRAM-based Storage," 12th USENIX Conference on File and Storage Technology (FAST '14), February 2014, pp. 1-16.
  2. A. Cidon, S. Rumble, R. Stutsman, S. Katti, J. Ousterhout, and M. Rosenblum, "Copysets: Reducing the Frequency of Data Loss in Cloud Storage," USENIX Annual Technical Conference, June 2013, pp. 37-48.
  3. D. Ongaro, S. Rumble, R. Stutsman, J. Ousterhout and M. Rosenblum, "Fast Crash Recovery in RAMCloud," Proc. 23rd ACM Symposium on Operating Systems Principles, October 2011, pp. 29-41.
  4. J. Ousterhout, P. Agrawal, D. Erickson, C. Kozyrakis, J. Leverich, D., Mazières, S. Mitra, A. Narayanan, D. Ongaro, G. Parulkar, M. Rosenblum, S. Rumble, E. Stratmann, and R. Stutsman, "The Case for RAMCloud," Communications of the ACM, Vol. 54, No. 7, July 2011, pp. 121-130.
  5. J. Ousterhout, "Scripting: Higher-Level Programming for the 21st Century," IEEE Computer, Vol. 31, No. 3, March 1998, pp. 23-30.
  6. J. Ousterhout, Tcl and the Tk Toolkit, Addison-Wesley, Reading Massachusetts, 1994, 460 pages.
  7. 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.
  8. J. Ousterhout, "Why Aren't Operating Systems Getting Faster as Fast as Hardware?," Proc. USENIX Summer Conference, June 1990, pp. 247-256.
  9. M. Nelson, B. Welch, and J. Ousterhout, "Caching in the Sprite Network File System," ACM Transactions on Computer Systems, Vol. 6, No. 1, February 1988, pp. 134-154.
  10. J. Ousterhout, H. Da Costa, D. Harrison, J. Kunze, M. Kupfer, and J. Thompson, "A Trace-Driven Analysis of the UNIX 4.2 BSD File System," Proc. 10th ACM Symposium on Operating Systems Principles, December 1985, pp. 15-24.
  11. J. Ousterhout, "Corner Stitching: A Data Structuring Technique for VLSI Layout Tools," IEEE Transactions on Computer-Aided Design, Vol. CAD-3, No. 1, January 1984, pp. 87-100.
  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 Reynold B. Johnson Information Storage Systems Award (2014)
  • 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

310 Gates Hall
650-721-6325
ouster@cs

Office Hours

See Google calendar, or by appointment

Administrative Support

Sue George
303 Gates Hall
650-725-2340
suegeorge@cs

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