|
Publications
Books
- J. Ousterhout,
A Philosophy of Software Design,
Yaknyam Press, April 2018, 178 pages.
- J. Ousterhout, Tcl and the Tk Toolkit,
Addison-Wesley, Reading Massachusetts, 1994, 460 pages.
- J. Ousterhout, Medusa: A Distributed Operating System,
UMI Research Press, Ann Arbor, Michigan, 1981, 139 pages.
Papers in Refereed Journals
- J. Ousterhout,
"Always
Measure One Level Deeper," Communications of the ACM,
Vol. 61, No. 7, July 2018, pp. 74–83.
- 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.
- 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.
- J. Ousterhout, "Scripting:
Higher-Level Programming for the 21st Century,"
IEEE Computer, Vol. 31, No. 3, March 1998, pp. 23–30.
- J. Hartman and J. Ousterhout,
"The Zebra
Striped Network File System,"
ACM Transactions on Computer Systems, Vol. 13, No. 3,
August 1995, pp. 274–310. An
earlier
version appears in Proc. 14th
Symposium on Operating Systems Principles, December, 1993,
pp. 29–43.
- 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.
Also appears in Proc. 13th Symposium on Operating Systems
Principles, October, 1991, pp. 1–15.
- F. Douglis, M.F. Kaashoek, , J. Ousterhout, and
A.S. Tanenbaum, "A Comparison of Two Distributed Systems:
Amoeba and Sprite," Computing Systems, Vol. 4, No. 4,
Fall 1991, pp. 353–384.
- F. Douglis and J. Ousterhout,
"Transparent Process Migration:
Design Alternatives and the Sprite Implementation," Software
Practice and Experience, Vol. 21, No. 8, August, 1991,
pp. 757–785.
- J. Ousterhout, A. Cherenson, F. Douglis, M. Nelson
and B. Welch,
"The
Sprite Network Operating System,"
IEEE Computer, Vol. 21, No. 2, February 1988, pp. 23–36.
- 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. Also
appears in Proc. 11th Symposium on Operating Systems Principles,
November 1987.
- M. Hill et al.,
"Design
Decisions in SPUR," IEEE Computer,
Vol. 19, No. 11, November 1986, pp. 8–22.
- W. Scott and J. Ousterhout,
"Magic's
Circuit Extractor,"
IEEE Design and Test of Computers, Vol. 3, No. 1,
February 1986, pp. 24–34. An earlier version appears in
Proc. 22nd Design Automation Conference, June 1985,
pp. 286–292.
- J. Ousterhout,
"A
Switch-Level Timing Verifier for Digital MOS VLSI,"
IEEE Transactions on Computer-Aided Design, Vol. CAD-4,
No. 3, July 1985, pp. 336–349.
- J. Ousterhout, G. Hamachi, R. Mayo, W. Scott, and G. Taylor,
"The
Magic VLSI Layout System," IEEE Design and Test of Computers,
Vol. 2, No. 1, February 1985, pp. 19–30.
- J. Ousterhout,
"The
User Interface and Implementation of an IC Layout Editor,"
IEEE Transactions on Computer-Aided Design,
Vol. CAD-3, No. 3, July 1984, pp. 242–249.
- 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, D. Scelza, and P. Sindhu,
"Medusa:
An Experiment in Distributed Operating System Structure," Communications of the
ACM, Vol. 23, No. 2, February, 1980, pp. 92–105.
- S. Fuller, J. Ousterhout, L. Raskin, P. Rubinfeld,
P. Sindhu, and R. Swan, "Multi-microprocessors: An Overview
and Working Example," Proceedings of the IEEE, Vol. 66,
No. 2, February 1978, pp. 216–228.
Papers in Refereed Conference Proceedings
- 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.
- S. Park and J. Ousterhout,
"Exploiting
Commutativity For Practical Fast Replication,"
Proc. 16th USENIX Symposium on Networked Systems Design and
Implementation (NSDI 19), February 2019, pp. 47–64.
- H. Qin, Q. Li, J. Speiser, P. Kraft, and J. Ousterhout,
"Arachne:
Core-Aware Thread Management,"
Proc. 13th USENIX Symposium on Operating Systems Design and
Implementation (OSDI 18), October 2018, pp. 145–160.
- 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
- S. Yang, S. Park, and J. Ousterhout,
"NanoLog: A Nanosecond Scale Logging System,"
2018 USENIX Annual Technical Conference (USENIX ATC '18),
June 2018, pp. 335–350.
- A. Kejriwal, A. Gopalan, A. Gupta, Z. Jia, S. Yang, and J. Ousterhout,
"SLIK:
Scalable Low-Latency Indexes for a Key-Value Store,"
2016 USENIX Annual Technical Conference (USENIX ATC '16),
June 2016, pp. 57–70.
- C. Lee, S. J. Park, A. Kejriwal, S. Matsushita, and J. Ousterhout,
"Implementing
Linearizability at Large Scale and Low Latency,"
Proc. 25th ACM Symposium on Operating Systems Principles,
October 2015, pp. 71–86.
- R. Stutsman, C. Lee, and J. Ousterhout,
"Experience
with Rules-Based Programming for Distributed, Concurrent,
Fault-Tolerant Code,"
2015 USENIX Annual Technical Conference (USENIX ATC '15),
July 2015, pp. 17–30.
- 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.
- 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.
- 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.
- 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.
- 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 and E. Stratmann,
"Managing State for Ajax-Driven
Web Components,"
USENIX Conference on Web Application Development, June 2010,
pp. 73–85.
- J. Levy, L. Demailly, J. Ousterhout, and B. Welch,
"The Safe-Tcl Security Model," Proc. USENIX Annual Technical
Conference, June 1998, pp. 271–282.
- K. Shirriff and J. Ousterhout, "Sawmill: A High Bandwidth
Logging File System," Proc. USENIX Summer Conference,
June 1994, pp. 125–136.
- J. Ousterhout, "Hypergraphics and Hypertext in Tk," Proc.
7th Annual X Technical Conference, The X Resource, Issue 5,
January 1993, pp. 113–127.
- M. Baker, S. Asami, E. Deprit, J. Ousterhout, and M. Seltzer,
"Non-Volatile Memory for Fast, Reliable File Systems,"
Proc. 5th Int. Conf. on Architectural Support for Programming
Languages and Operating Systems, October 1992, pp. 10–22.
- K. Shirriff and J. Ousterhout, "
A Trace-Driven Analysis of
Name and Attribute Caching in a Distributed System," Proc.
USENIX Winter Conference, January 1992, pp. 315–332.
- M. Baker, J. Hartman, M. Kupfer, K. Shirriff, and J. Ousterhout,
"Measurements
of a Distributed File System," Proc. 13th Symposium
on Operating Systems Principles, October, 1991, pp. 198–212.
Updated in a letter to the editor of SIGOPS Operating Systems Review,
January 1993 (see below).
- J. Ousterhout, "An X11 Toolkit Based
on the Tcl Language,"
Proc. USENIX Winter Conference, January 1991, pp. 105–115.
- J. Hartman and J. Ousterhout, "Performance Measurements of a
Multiprocessor Sprite Kernel," Proc. USENIX Summer Conference,
June 1990, pp. 279–288.
- J. Ousterhout, "Why Aren't
Operating Systems Getting Faster
as Fast as Hardware?," Proc. USENIX Summer Conference,
June 1990, pp. 247–256.
- M. Rosenblum and J. Ousterhout, "The LFS Storage Manager,"
Proc. USENIX Summer Conference, June 1990, pp. 315–324.
- J. Ousterhout, "Tcl: An Embeddable
Command Language,"
Proc. USENIX Winter Conference, January 1990, pp. 133–146.
- M. Seltzer, P. Chen, and J. Ousterhout,
"Disk Scheduling Revisited,"
Proc. USENIX Winter Conference,
January 1990, pp. 313–324.
- M. Stonebraker, R. Katz, D. Patterson, and J. Ousterhout,
"The Design of XPRS," Proc. 14th Intl. Conference on Very Large
Data Bases, F. Bancilhon and D.J. DeWitt, eds., San Francisco, CA,
Morgan Kaufmann Publishers, 1988, pp. 318–330.
- M. Nelson, and J. Ousterhout, "Copy-on-Write for Sprite,"
Proc. USENIX Summer Conference, June 1988, pp. 187–202.
- B. Welch, and J. Ousterhout, "Pseudo-Devices: User-Level
Extensions to the Sprite File System," Proc. USENIX Summer
Conference, June 1988, pp. 37–50.
- F. Douglis, and J. Ousterhout, "Process Migration in the
Sprite Operating System," Proc. 7th Intl. Conference on
Distributed Computing Systems, September 1987, pp. 18–25.
- B. Welch and J. Ousterhout, "Prefix Tables: A Simple
Mechanism for Locating Files in a Distributed System,"
Proc. 6th Intl. Conference on Distributed Computing Systems,
May 1986, pp. 184–189.
- 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.
- G. Hamachi, and J. Ousterhout, "Magic's Obstacle-Avoiding
Global Router," Proc. 1985 Chapel Hill Conference on VLSI,
H. Fuchs, ed., Computer Science Press, 1985, pp. 145–164.
- J. Ousterhout,
"Switch-Level
Delay Models for Digital MOS VLSI,"
Proc. 21st Design Automation Conference, June 1984, pp. 542–548.
- J. Ousterhout, G. Hamachi, R. Mayo, W. Scott, and G. Taylor,
"Magic:
A VLSI Layout System," Proc. 21st Design Automation
Conference, June 1984, pp. 152–159.
- G. Taylor, and J. Ousterhout,
"
Magic's Incremental Design-Rule Checker,"
Proc. 21st Design Automation Conference,
June 1984, pp. 160–165.
- W. Scott, and J. Ousterhout,
"Plowing:
Interactive Stretching and Compaction in Magic,"
Proc. 21st Design Automation
Conference, June 1984, pp. 166–172.
- G. Hamachi, and J. Ousterhout,
"A
Switchbox Router with
Obstacle Avoidance," Proc. 21st Design Automation
Conference, June 1984, pp. 173–179.
- R. Mayo, and J. Ousterhout, "Pictures with Parentheses:
Combining Graphics and Procedures in a VLSI Layout Tool,"
Proc. 20th Design Automation Conference,
June 1983, pp. 270–276.
- J. Ousterhout, "Crystal: A
Timing Analyzer for nMOS VLSI Circuits,"
Proc. 3rd Caltech Conference on VLSI, March 1983.
- J. Ousterhout, "Scheduling
Techniques for Concurrent Systems,"
Proc. 3rd International Conference on Distributed Computing
Systems, October 1982, pp. 22–30.
- M. Arnold, and J. Ousterhout, "Lyra: A New Approach to
Geometric Layout Rule Checking," Proc. 19th Design Automation
Conference, June 1982, pp. 530–536.
- J. Ousterhout and D. Ungar, "Measurements of a VLSI Design,"
Proc. 19th Design Automation Conference, June 1982,
pp. 903–908.
- R. Swan, A. Bechtolsheim, J. Ousterhout, and K. Lai,
"The Implementation of the Cm* Multi-microprocessor,"
NCC Conference Proceedings, pages 645–655, AFIPS Press, 1977.
Technical Reports and Other Publications
- J. Ousterhout,
"It's Time to Replace TCP in
the Datacenter," Archiv 2210.00714.
- J. Ousterhout,
"The
Volatile Future of Storage,"
IEEE Spectrum, November 2015, pp. 34–39.
- R. Stutsman and J. Ousterhout,
"Toward
Common Patterns for Distributed, Concurrent, Fault-Tolerant Code,"
14th Workshop on Hot Topics in Operating Systems,
May 2013.
- J. Ousterhout, "Is
Scale Your Enemy, Or Is Scale Your Friend?," Technical Perspective,
Communications of the ACM, Vol. 54, No. 7, July 2011, p. 110.
- S. Rumble, D. Ongaro, R. Stutsman, M. Rosenblum, and J. Ousterhout,
"It's
Time for Low Latency,"
13th Workshop on Hot Topics in Operating Systems,
May 2011.
- J. Ousterhout, P. Agrawal, Erickson, C. Kozyrakis, J. Leverich,
D. Mazières, S. Mitra, A. Narayanan, G. Parulkar, M. Rosenblum,
S. Rumble, E. Stratmann, and R. Stutsman,
"The Case for RAMClouds:
Scalable High-Performance Storage Entirely in DRAM," SIGOPS
Operating Systems Review, Vol. 43, No. 4, December 2009, pp. 92–105.
- J. Ousterhout, "Fiz: A Component
Framework for Web Applications," Stanford Computer Science Department
Technical Report, January 2009.
- E. Melski, S. Stanton, and J. Ousterhout, "Scriptics
Connect: An XML Integration Server Based on Tcl," 7th USENIX Tcl/Tk
Conference, February 2000.
- J. Ousterhout, "The State of Tcl," Performance Computing,
August 1999, pp. 43–47.
- J. Ousterhout, "Extensibility in Tcl," Dr. Dobbs Journal,
June 1999, pp. 64–72.
- J. Ousterhout, "Free Software Needs Profit," Communications
of the ACM, Vol. 42, No. 4, April 1999, pp. 44–45.
- J. Ousterhout, "Integration Platforms: The Missing Link
in Enterprise Computing," Web Techniques, Vol. 4, No. 5,
May 1999, pp. 73–76.
- J. Ousterhout, "What's New With Tcl?," Unix Review,
Vol. 15, No. 11, October 1997, pp. 43–45.
- J. Ousterhout, "Why Threads Are A Bad
Idea (for most purposes),"
Invited Talk, USENIX 1996 Technical Conference, June 1996.
- J. Ousterhout and L. Rowe, "Hypertools: A GUI Revlolution,"
The X Journal, Vol. 2, No. 4, March-April 1993, pp. 74–81.
- J. Hartman and J. Ousterhout, Letter to the Editor,
ACM SIGOPS Operating Systems Review,, Vol. 27, No. 1,
January 1993, pages 7–10.
- R. Katz, T. Anderson, J. Ousterhout, and D. Patterson,
Robo-line Storage: Low Latency, High Capacity Storage
Systems Over Geographically Distributed Networks, technical
report UCB/CSD 91/651, Computer Science Division (EECS)
University of California at Berkeley, September 1991.
- J. Ousterhout, "The Role of Distributed State," CMU Computer
Science: A 25th Anniversary Perspective, R. Rashid ed.,
ACM Press, 1991, pp. 199–217.
- M. Baker and J. Ousterhout,
"Availability in the Sprite
Distributed File System," Proc. 4th ACM SIGOPS European Workshop
- Fault Tolerance Support in Distributed Systems, Bologna,
Italy, September 1990. Reprinted in Operating Systems Review,
Vol. 25, No. 2, pp. 95–98.
- F. Douglis and J. Ousterhout, Transparent Process Migration
for Personal Workstations, technical report UCB/CSD 89/540,
Computer Science Division (EECS) University of California at
Berkeley, November 1989.
- J. Ousterhout, Sprite Engineering Manual, technical
report UCB/CSD 89/512, Computer Science Division (EECS) University
of California at Berkeley, May 1989.
- F. Douglis and J. Ousterhout, "Process Migration in Sprite:
A Status Report," Operating Systems Technical Committee Newsletter,
IEEE Computer Society, Vol. 3, No. 1, Winter 1989, pp. 8–10.
- J. Ousterhout and F. Douglis,
"Beating the I/O Bottleneck:
A Case for Log-Structured File Systems," Operating Systems Review,
Vol. 23, No. 1, January 1989, pp. 11–28.
- J. Ousterhout, A. Cherenson, F. Douglis, M. Nelson,
and B. Welch, "An Overview of the Sprite Project," ;login: The
USENIX Association Newsletter, Vol. 12, No. 1,
January/February 1987, pp. 13–17.
- W. Scott, R. Mayo, G. Hamachi, and J. Ousterhout, eds.,
1986 VLSI Tools, technical report UCB/CSD 86/272,
Computer Science Division (EECS) University of California at
Berkeley, December 1985.
- W. Scott, G. Hamachi, J. Ousterhout, and R. Mayo, eds.,
1985 VLSI Tools, technical report UCB/CSD 85/225, Computer
Science Division (EECS) at University of California, Berkeley, 1985.
- J. Ousterhout, "VLSI Tools and Architectures: Putting the
New Technology to Work," invited paper, Proceedings of the ACM
Computer Science Conference, 1983, pp. 25–30.
- J. Ousterhout, G. Hamachi, R. Mayo, W. Scott, and G. Taylor,
"The Magic VLSI Layout System," IEEE Design and Test,
Vol. 2, No. 1, February, 1985, pp. 19–30.
- R. Mayo, J. Ousterhout, and W. Scott, eds.,
1983 VLSI Tools, technical report UCB/CSD 83/115, Computer
Science Division (EECS), University of California at Berkeley, 1983.
- J. Ousterhout, "Caesar: An Interactive Editor for VLSI
Layouts," VLSI Design, Vol. 2, No. 4, Fourth Quarter 1981.
- J. Ousterhout, Partitioning and Cooperation in a Distributed
Multiprocessor Operating System: Medusa, Ph.D. dissertation,
Computer Science Department, Carnegie Mellon University, April 1980,
available as technical report CMU-CS-80-112.
- J. Ousterhout, Cm* Kmap Microprogramming Manual and
Debugger Manual, technical report, Computer Science
Department, Carnegie Mellon University, August, 1978.
- J. Ousterhout, "Kmap Microprograms," Cm* Review,
S. Fuller, A. Jones, and I. Durham, eds., technical report,
Computer Science Department, Carnegie Mellon University,
June, 1977.
|