Teaching Schedule
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 as Professor (Research) in the
Department of Computer Science at Stanford.
Selected Publications
- 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.
- 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.
- E. Stratmann, J. Ousterhout, and S. Madan,
"Integrating Long Polling with an
MVC Web Framework,"
USENIX Conference on Web Application Development, June 2011,
pp. 113-124.
- 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, "Why Aren't
Operating Systems Getting Faster
as Fast as Hardware?," Proc. USENIX Summer Conference,
June 1990, pp. 247-256.
- 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.
- 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.
- 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.
- J. Ousterhout, "Scheduling
Techniques for Concurrent Systems,"
Proc. 3rd International Conference on Distributed Computing
Systems, October 1982, pp. 22-30.
Selected Awards and Honors
- 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)
|
|