Demo Data from VLDB 2026 / reviewers in the wild / expert
John K. Ousterhout
dblp:o/JohnKOusterhout
· DBLP profile ↗
46ranked-venue papers
11as first author
3since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 28 · 9 first-author · 1 since 2021Software engineering, systems software and programming languages · 14 · 2 first-authorComputer networks · 4 · 2 since 2021Databases, data management, data science and information retrieval · 2
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
35 papers |
Distributed systems · 36% Storage systems · 30% High-performance computing · 15% | |
| Computer networks
2 papers |
Transport protocols and congestion control · 92% Network measurement and analytics · 8% | |
| Software engineering, system software, and programming languages
8 papers |
Operating systems · 46% Software maintenance and evolution · 31% Concurrent programming · 21% |
Topics — the 30 heaviest of 71, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Distributed systems
consensus |
1.1 | 3 | 2021 | EPaxos Revisited · NSDI 2021 Exploiting Commutativity For Practical Fast Replication · NSDI 2019 In Search of an Understandable Consensus Algorithm · USENIX ATC 2014 |
Transport protocols and congestion control
transport protocol implementation |
0.5 | 1 | 2021 | A Linux Kernel Implementation of the Homa Transport Protocol · USENIX ATC 2021 |
High-performance computing
data-intensive computing |
0.5 | 1 | 2021 | MilliSort and MilliQuery: Large-Scale Data-Intensive Computing in Milliseconds · NSDI 2021 |
High-performance computing › data-intensive computing
large-scale data processing |
0.5 | 1 | 2021 | MilliSort and MilliQuery: Large-Scale Data-Intensive Computing in Milliseconds · NSDI 2021 |
Storage systems
key-value storage |
0.5 | 2 | 2016 | SLIK: Scalable Low-Latency Indexes for a Key-Value Store · USENIX ATC 2016 The RAMCloud Storage System · ACM Trans. Comput. Syst. 2015 |
Storage systems
storage reliability |
0.4 | 5 | 2015 | The RAMCloud Storage System · ACM Trans. Comput. Syst. 2015 Copysets: Reducing the Frequency of Data Loss in Cloud Storage · USENIX ATC 2013 The Zebra Striped Network File System · ACM Trans. Comput. Syst. 1995 |
Distributed systems
replication |
0.4 | 1 | 2019 | Exploiting Commutativity For Practical Fast Replication · NSDI 2019 |
Distributed systems
fault tolerance |
0.3 | 2 | 2015 | Experience with Rules-Based Programming for Distributed, Concurrent, Fault-Tolerant Code · USENIX ATC 2015 Fast crash recovery in RAMCloud · SOSP 2011 |
Transport protocols and congestion control › flow control
receiver-based flow control |
0.3 | 1 | 2018 | Homa: a receiver-driven low-latency transport protocol using network priorities · SIGCOMM 2018 |
Transport protocols and congestion control
transport protocols |
0.3 | 1 | 2018 | Homa: a receiver-driven low-latency transport protocol using network priorities · SIGCOMM 2018 |
Software maintenance and evolution
logging |
0.3 | 1 | 2018 | NanoLog: A Nanosecond Scale Logging System · USENIX ATC 2018 |
Operating systems › resource management › process management
thread management |
0.3 | 1 | 2018 | Arachne: Core-Aware Thread Management · OSDI 2018 |
Storage systems › file systems › write-optimized file system
log-structured file system |
0.3 | 5 | 2014 | Log-structured memory for DRAM-based storage · FAST 2014 Fast crash recovery in RAMCloud · SOSP 2011 The Zebra Striped Network File System · SOSP 1993 |
Storage systems › indexing
index structure |
0.2 | 1 | 2016 | SLIK: Scalable Low-Latency Indexes for a Key-Value Store · USENIX ATC 2016 |
Storage systems
crash recovery |
0.2 | 3 | 2015 | The RAMCloud Storage System · ACM Trans. Comput. Syst. 2015 The Design and Implementation of a Log-Structured File System · ACM Trans. Comput. Syst. 1992 The Design and Implementation of a Log-Structured File System · SOSP 1991 |
Distributed systems › distributed database
distributed transactions |
0.2 | 1 | 2015 | Implementing linearizability at large scale and low latency · SOSP 2015 |
Storage systems › key-value storage
in-memory key-value store |
0.2 | 1 | 2015 | The RAMCloud Storage System · ACM Trans. Comput. Syst. 2015 |
Distributed systems › consistency models
linearizability |
0.2 | 1 | 2015 | Implementing linearizability at large scale and low latency · SOSP 2015 |
Distributed systems
transaction processing |
0.2 | 1 | 2015 | Implementing linearizability at large scale and low latency · SOSP 2015 |
Memory systems › DRAM
DRAM-based storage |
0.2 | 2 | 2014 | Fast crash recovery in RAMCloud · SOSP 2011 Log-structured memory for DRAM-based storage · FAST 2014 |
Operating systems › kernel
linux kernel |
0.1 | 1 | 2021 | A Linux Kernel Implementation of the Homa Transport Protocol · USENIX ATC 2021 |
Network measurement and analytics
latency measurement |
0.1 | 1 | 2018 | Homa: a receiver-driven low-latency transport protocol using network priorities · SIGCOMM 2018 |
Cloud and datacenter computing
cluster resource management and scheduling |
0.1 | 1 | 2018 | Arachne: Core-Aware Thread Management · OSDI 2018 |
Storage systems
distributed storage |
0.1 | 3 | 2015 | Implementing linearizability at large scale and low latency · SOSP 2015 The Zebra Striped Network File System · ACM Trans. Comput. Syst. 1995 The Zebra Striped Network File System · SOSP 1993 |
Cloud and datacenter computing
datacenter storage |
0.1 | 1 | 2015 | The RAMCloud Storage System · ACM Trans. Comput. Syst. 2015 |
Memory systems
DRAM |
0.1 | 1 | 2015 | The RAMCloud Storage System · ACM Trans. Comput. Syst. 2015 |
Distributed computing theory
consensus |
0.1 | 1 | 2014 | In Search of an Understandable Consensus Algorithm · USENIX ATC 2014 |
Cloud and datacenter computing
cloud storage |
0.0 | 1 | 2013 | Copysets: Reducing the Frequency of Data Loss in Cloud Storage · USENIX ATC 2013 |
Storage systems
file systems |
0.0 | 6 | 1993 | The Zebra Striped Network File System · SOSP 1993 The Design and Implementation of a Log-Structured File System · ACM Trans. Comput. Syst. 1992 Non-Volatile Memory for Fast, Reliable File Systems · ASPLOS 1992 |
Storage systems › file systems › distributed file system
network file system |
0.0 | 4 | 1995 | The Zebra Striped Network File System · ACM Trans. Comput. Syst. 1995 The Zebra Striped Network File System · SOSP 1993 Caching in the Sprite Network File System · ACM Trans. Comput. Syst. 1988 |
Methods — techniques the papers use, named apart from their topics
logging · 0.7kernel instrumentation · 0.7simulation · 0.4priority queueing · 0.3polling-based communication · 0.2log-structured storage · 0.2kernel bypass · 0.2replication · 0.2randomized techniques · 0.1log-structured striping · 0.0RAID-style parity · 0.0benchmarking · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | MilliSort and MilliQuery: Large-Scale Data-Intensive Computing in Milliseconds
Seo Jin Park, John K. Ousterhout |
NSDI | 3 |
| 2021 | EPaxos Revisited
Sarah Tollman, Seo Jin Park, John K. Ousterhout |
NSDI | 3 |
| 2021 | A Linux Kernel Implementation of the Homa Transport Protocol
John K. Ousterhout |
USENIX ATC | 1 |
| 2019 | Granular ComputingabstractGranular computing is a new style of computing where applications are composed of large numbers (thousands to millions) of very short-lived (10-100μs) tasks. Today's systems and infrastructure were designed to support millisecond-scale operations and are inadequate to meet the demands of granular computing. In this position paper we discuss the challenges of supporting granular applications, such as handling extreme bursts of activity, and we present a few initial ideas about the infrastructure required to enable granular computing, such as new mechanisms for communication and persistence. Collin Lee, John K. Ousterhout |
HotOS | 2 |
| 2019 | Exploiting Commutativity For Practical Fast Replication
Seo Jin Park, John K. Ousterhout |
NSDI | 2 |
| 2018 | Arachne: Core-Aware Thread Management
Henry Qin, Qian Li 0027, Jacqueline Speiser, Peter Kraft, John K. Ousterhout |
OSDI | 5 |
| 2018 | Homa: a receiver-driven low-latency transport protocol using network prioritiesabstractHoma is a new transport protocol for datacenter networks. It provides exceptionally low latency, especially for workloads with a high volume of very short messages, and it also supports large messages and high network utilization. Homa uses in-network priority queues to ensure low latency for short messages; priority allocation is managed dynamically by each receiver and integrated with a receiver-driven flow control mechanism. Homa also uses controlled overcommitment of receiver downlinks to ensure efficient bandwidth utilization at high load. Our implementation of Homa delivers 99th percentile round-trip times less than 15 μs for short messages on a 10 Gbps network running at 80% load. These latencies are almost 100x lower than the best published measurements of an implementation. In simulations, Homa's latency is roughly equal to pFabric and significantly better than pHost, PIAS, and NDP for almost all message sizes and workloads. Homa can also sustain higher network loads than pFabric, pHost, or PIAS. Behnam Montazeri, Mohammad Alizadeh, John K. Ousterhout |
SIGCOMM | 4 |
| 2018 | NanoLog: A Nanosecond Scale Logging System
Seo Jin Park, John K. Ousterhout |
USENIX ATC | 3 |
| 2016 | SLIK: Scalable Low-Latency Indexes for a Key-Value Store
Ankita Kejriwal, Arjun Gopalan, John K. Ousterhout |
USENIX ATC | 6 |
| 2015 | Implementing linearizability at large scale and low latencyabstractLinearizability is the strongest form of consistency for concurrent systems, but most large-scale storage systems settle for weaker forms of consistency. RIFL provides a general-purpose mechanism for converting at-least-once RPC semantics to exactly-once semantics, thereby making it easy to turn non-linearizable operations into linearizable ones. RIFL is designed for large-scale systems and is lightweight enough to be used in low-latency environments. RIFL handles data migration by associating linearizability metadata with objects in the underlying store and migrating metadata with the corresponding objects. It uses a lease mechanism to implement garbage collection for metadata. We have implemented RIFL in the RAMCloud storage system and used it to make basic operations such as writes and atomic increments linearizable; RIFL adds only 530 ns to the 13.5 μs base latency for durable writes. We also used RIFL to construct a new multi-object transaction mechanism in RAMCloud; RIFL's facilities significantly simplified the transaction implementation. The transaction mechanism can commit simple distributed transactions in about 20 μs and it outperforms the H-Store main-memory database system for the TPC-C benchmark. Collin Lee, Seo Jin Park, Ankita Kejriwal, Satoshi Matsushita, John K. Ousterhout |
SOSP | 5 |
| 2015 | Experience with Rules-Based Programming for Distributed, Concurrent, Fault-Tolerant Code
Ryan Stutsman, Collin Lee, John K. Ousterhout |
USENIX ATC | 3 |
| 2015 | The RAMCloud Storage SystemabstractRAMCloud is a storage system that provides low-latency access to large-scale datasets. To achieve low latency, RAMCloud stores all data in DRAM at all times. To support large capacities (1PB or more), it aggregates the memories of thousands of servers into a single coherent key-value store. RAMCloud ensures the durability of DRAM-based data by keeping backup copies on secondary storage. It uses a uniform log-structured mechanism to manage both DRAM and secondary storage, which results in high performance and efficient memory usage. RAMCloud uses a polling-based approach to communication, bypassing the kernel to communicate directly with NICs; with this approach, client applications can read small objects from any RAMCloud storage server in less than 5μs, durable writes of small objects take about 13.5μs. RAMCloud does not keep multiple copies of data online; instead, it provides high availability by recovering from crashes very quickly (1 to 2 seconds). RAMCloud’s crash recovery mechanism harnesses the resources of the entire cluster working concurrently so that recovery performance scales with cluster size. John K. Ousterhout, Arjun Gopalan, Ankita Kejriwal, Collin Lee, Behnam Montazeri, Diego Ongaro, Seo Jin Park, Henry Qin, Mendel Rosenblum, Stephen M. Rumble, Ryan Stutsman |
ACM Trans. Comput. Syst. | 1 |
| 2014 | Log-structured memory for DRAM-based storage
Stephen M. Rumble, Ankita Kejriwal, John K. Ousterhout |
FAST | 3 |
| 2014 | In Search of an Understandable Consensus Algorithm
Diego Ongaro, John K. Ousterhout |
USENIX ATC | 2 |
| 2013 | Toward Common Patterns for Distributed, Concurrent, Fault-Tolerant Code
Ryan Stutsman, John K. Ousterhout |
HotOS | 2 |
| 2013 | Copysets: Reducing the Frequency of Data Loss in Cloud Storage
Asaf Cidon, Stephen M. Rumble, Ryan Stutsman, Sachin Katti, John K. Ousterhout, Mendel Rosenblum |
USENIX ATC | 5 |
| 2011 | It's Time for Low Latency
Stephen M. Rumble, Diego Ongaro, Ryan Stutsman, Mendel Rosenblum, John K. Ousterhout |
HotOS | 5 |
| 2011 | Fast crash recovery in RAMCloudabstractRAMCloud is a DRAM-based storage system that provides inexpensive durability and availability by recovering quickly after crashes, rather than storing replicas in DRAM. RAMCloud scatters backup data across hundreds or thousands of disks, and it harnesses hundreds of servers in parallel to reconstruct lost data. The system uses a log-structured approach for all its data, in DRAM as well as on disk: this provides high performance both during normal operation and during recovery. RAMCloud employs randomized techniques to manage the system in a scalable and decentralized fashion. In a 60-node cluster, RAMCloud recovers 35 GB of data from a failed server in 1.6 seconds. Our measurements suggest that the approach will scale to recover larger memory sizes (64 GB or more) in less time with larger clusters. Diego Ongaro, Stephen M. Rumble, Ryan Stutsman, John K. Ousterhout, Mendel Rosenblum |
SOSP | 4 |
| 1998 | The Safe-Tcl Security Model
Jacob Y. Levy, Laurent Demailly, John K. Ousterhout, Brent B. Welch |
USENIX ATC | 3 |
| 1995 | The Zebra Striped Network File SystemabstractZebra is a network file system that increases throughput by striping the file data across multiple servers. Rather than striping each file separately, Zebra forms all the new data from each client into a single stream, which it then stripes using an approach similar to a log-structured file system. This provides high performance for writes of small files as well as for reads and writes of large files. Zebra also writes parity information in each stripe in the style of RAID disk arrays; this increases storage costs slightly, but allows the system to continue operation while a single storage server is unavailable. A prototype implementation of Zebra, built in the Sprite operating system, provides 4–5 times the throughput of the standard Sprite file system or NFS for large files and a 15–300% improvement for writing small files. John H. Hartman, John K. Ousterhout |
ACM Trans. Comput. Syst. | 2 |
| 1993 | The Zebra Striped Network File SystemabstractZebra is a network file system that increases throughput by striping file data across multiple servers. Rather than striping each file separately, Zebra forms all the new data from each client into a single stream, which it then stripes using an approach similar to a log-structured file system. This provides high performance for writes of small files as well as for reads and writes of large files. Zebra also writes parity information in each stripe in the style of RAID disk arrays; this increases storage costs slightly but allows the system to continue operation even while a single storage server is unavailable. A prototype implementation of Zebra, built in the Sprite operating system, provides 4--5 times the throughput of the standard Sprite file system or NFS for large files and a 20%-3x improvement for writing small files. John H. Hartman, John K. Ousterhout |
SOSP | 2 |
| 1992 | Non-Volatile Memory for Fast, Reliable File SystemsabstractGiven the decreasing cost of non-volatile RAM (NVRAM), by the late 1990’s it will be feasible for most workstations to include a megabyte or more of NVRAM, enabling the design of higher-performance, more reliable systems. We present the trace-driven simulation and analysis of two uses of NVRAM to improve I/O performance in distributed file systems: non-volatile file caches on client workstations to reduce write traffic to file servers, and write buffers for write-optimized file systems to reduce server disk accesses. Our results show that a megabyte of NVRAM on diskless clients reduces the amount of file data written to the server by 40 to 50%. Increasing the amount of NVRAM shows rapidly diminishing returns, and the particular NVRAM block replacement policy makes little difference to write traffic. Closely integrating the NVRAM with the volatile cache provides the best total traffic reduction. At today’s prices, volatile memory provides a better performance improvement per dollar than NVRAM for client caching, but as volatile cache sizes increase and NVRAM becomes cheaper, NVRAM will become cost effective. On the server side, providing a one-half megabyte write-buffer per file system reduces disk accesses by about 20 % on most of the measured logstructured file systems (LFS), and by 90 % on one heavilyused file system that includes transaction-processing workloads. 1. Mary Baker, Satoshi Asami, Etienne Deprit, John K. Ousterhout, Margo I. Seltzer |
ASPLOS | 4 |
| 1992 | The Design and Implementation of a Log-Structured File SystemabstractThis paper presents a new technique for disk storage management called a log-structured file system . A log-structured file system writes all modifications to disk sequentially in a log-like structure, thereby speeding up both file writing and crash recovery. The log is the only structure on disk; it contains indexing information so that files can be read back from the log efficiently. In order to maintain large free areas on disk for fast writing, we divide the log into segments and use a segment cleaner to compress the live information from heavily fragmented segments. We present a series of simulations that demonstrate the efficiency of a simple cleaning policy based on cost and benefit. We have implemented a prototype log-structured file system called Sprite LFS; it outperforms current Unix file systems by an order of magnitude for small-file writes while matching or exceeding Unix performance for reads and large writes. Even when the overhead for cleaning is included, Sprite LFS can use 70% of the disk bandwidth for writing, whereas Unix file systems typically can use only 5–10%. Mendel Rosenblum, John K. Ousterhout |
ACM Trans. Comput. Syst. | 2 |
| 1991 | Measurements of a Distributed File SystemabstractWe analyzed the user-level file access patterns and caching behavior of the Sprite distributed file system. The first part of our analysis repeated a study done in 1985 of the: BSD UNIX file system. We found that file throughput has increased by a factor of 20 to an average of 8 Kbytes per second per active user over 10-minute intervals, and that the use of process migration for load sharing increased burst rates by another factor of six. Also, many more very large (multi-megabyte) files are in use today than in 1985. The second part of our analysis measured the behavior of Sprite's main-memory file caches. Client-level caches average about 7 Mbytes in size (about one-quarter to one-third of main memory) and filter out about 50% of the traffic between clients and servers. 35% of the remaining server traffic is caused by paging, even on workstations with large memories. We found that client cache consistency is needed to prevent stale data errors, but that it is not invoked often enough to degrade overall system performance. Mary Baker, John H. Hartman, Michael D. Kupfer, Ken Shirriff, John K. Ousterhout |
SOSP | 5 |
| 1991 | The Design and Implementation of a Log-Structured File SystemabstractThis paper presents a new technique for disk storage management called a log-structured file system. A log-structured file system writes all modifications to disk sequentially in a log-like structure, thereby speeding up both file writing and crash recovery. The log is the only structure on disk; it contains indexing information so that files can be read back from the log efficiently. In order to maintain large free areas on disk for fast writing, we divide the log into segments and use a segment cleaner to compress the live information from heavily fragmented segments. We present a series of simulations that demonstrate the efficiency of a simple cleaning policy based on cost and benefit. We have implemented a prototype log-structured file system called Sprite LFS; it outperforms current Unix file systems by an order of magnitude for small-file writes while matching or exceeding Unix performance for reads and large writes. Even when the overhead for cleaning is included, Sprite LFS can use 70% of the disk bandwidth for writing, whereas Unix file systems typically can use only 5--10%. Mendel Rosenblum, John K. Ousterhout |
SOSP | 2 |
| 1991 | Transparent Process Migration: Design Alternatives and the Sprite ImplementationabstractAbstract The Sprite operating system allows executing processes to be moved between hosts at any time. We use this process migration mechanism to offload work onto idle machines, and also to evict migrated processes when idle workstations are reclaimed by their owners. Sprite's migration mechanism provides a high degree of transparency both for migrated processes and for users. Idle machines are identified, and eviction is invoked, automatically by daemon processes. On Sprite it takes up to a few hundred milliseconds on SPARCstation 1 workstations to perform a remote exec, whereas evictions typically occur in a few seconds. The pmake program uses remote invocation to invoke tasks concurrently. Compilations commonly obtain speed‐up factors in the range of three to six; they are limited primarily by contention for centralized resources such as file servers. CPU‐bound tasks such as simulations can make more effective use of idle hosts, obtaining as much as eight‐fold speed‐up over a period of hours. Process migration has been in regular service for over two years. Fred Douglis, John K. Ousterhout |
Softw. Pract. Exp. | 2 |
| 1988 | The Design of XPRS
Michael Stonebraker, Randy H. Katz, David A. Patterson 0001, John K. Ousterhout |
VLDB | 4 |
| 1988 | Caching in the Sprite Network File SystemabstractThe Sprite network operating system uses large main-memory disk block caches to achieve high performance in its file system. It provides non-write-through file caching on both client and server machines. A simple cache consistency mechanism permits files to be shared by multiple clients without danger of stale data. In order to allow the file cache to occupy as much memory as possible, the file system of each machine negotiates with the virtual memory system over physical memory usage and changes the size of the file cache dynamically. Benchmark programs indicate that client caches allow diskless Sprite workstations to perform within O-12 percent of workstations with disks. In addition, client caching reduces server loading by 50 percent and network traffic by 90 percent. Michael N. Nelson, Brent B. Welch, John K. Ousterhout |
ACM Trans. Comput. Syst. | 3 |
| 1987 | Process Migration in the Sprite Operating System
Fred Douglis, John K. Ousterhout |
ICDCS | 2 |
| 1987 | Caching in the Sprite Network File System (Extended Abstract)abstractThis paper describes a simple distributed mechanism for caching files among a networked collection of workstations. We have implemented it as part of Sprite, a new operating system being implemented at the University of California at Berkeley. A preliminary version of Sprite is currently running on Sun-2 and Sun-3 workstations, which have about 1-2 MIPS processing power and 4-16 Mbytes of main memory. The system is targeted for workstations like these and newer models likely to become available in the near future; we expect the future machines to have at least five to ten times the processing power and main memory of our current machines, as well as small degrees of multiprocessing. We hope that Sprite will be suitable for networks of up to a few hundred of these workstations. Because of economic and environmental factors, most workstations will not have local disks; instead, large fast disks will be concentrated on a few server machines. Michael N. Nelson, Brent B. Welch, John K. Ousterhout |
SOSP | 3 |
| 1986 | Prefix Tables: A Simple Mechanism for Locating Files in a Distributed System
Brent B. Welch, John K. Ousterhout |
ICDCS | 2 |
| 1985 | Magic's circuit extractorabstractWe have implemented a fast hierarchical circuit extractor for the Magic VLSI layout system. The keys to its speed are a new algorithm based on corner-stitching, and its ability to extract cells incrementally. Because the extractor is incremental, typically only a few cells must be re-extracted when the layout changes. The extractor computes circuit connectivity and transistor dimensions, both internodal and substrate parasitic capacitance, and parasitic resistances. It is parameterized to work across a wide range of MOS technologies. Walter S. Scott, John K. Ousterhout |
DAC | 2 |
| 1985 | A Trace-Driven Analysis of the UNIX 4.2 BSD File SystemabstractArticle Free Access Share on A trace-driven analysis of the UNIX 4.2 BSD file system Authors: John K. Ousterhout Computer Science Division, Electrical Engineering and Computer Sciences, University of California, Berkeley, CA Computer Science Division, Electrical Engineering and Computer Sciences, University of California, Berkeley, CAView Profile , Hervé Da Costa Computer Science Division, Electrical Engineering and Computer Sciences, University of California, Berkeley, CA Computer Science Division, Electrical Engineering and Computer Sciences, University of California, Berkeley, CAView Profile , David Harrison Computer Science Division, Electrical Engineering and Computer Sciences, University of California, Berkeley, CA Computer Science Division, Electrical Engineering and Computer Sciences, University of California, Berkeley, CAView Profile , John A. Kunze Computer Science Division, Electrical Engineering and Computer Sciences, University of California, Berkeley, CA Computer Science Division, Electrical Engineering and Computer Sciences, University of California, Berkeley, CAView Profile , Mike Kupfer Computer Science Division, Electrical Engineering and Computer Sciences, University of California, Berkeley, CA Computer Science Division, Electrical Engineering and Computer Sciences, University of California, Berkeley, CAView Profile , James G. Thompson Computer Science Division, Electrical Engineering and Computer Sciences, University of California, Berkeley, CA Computer Science Division, Electrical Engineering and Computer Sciences, University of California, Berkeley, CAView Profile Authors Info & Claims SOSP '85: Proceedings of the tenth ACM symposium on Operating systems principlesDecember 1985 Pages 15–24https://doi.org/10.1145/323647.323631Published:01 December 1985Publication History 390citation1,640DownloadsMetricsTotal Citations390Total Downloads1,640Last 12 Months127Last 6 weeks18 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF John K. Ousterhout, Hervé Da Costa, David Harrison, John A. Kunze, Michael D. Kupfer, James G. Thompson |
SOSP | 1 |
| 1985 | A Switch-Level Timing Verifier for Digital MOS VLSIabstractCrystal is a timing verification program for digital nMOS and CMOS circuits. Using the circuit extracted from a mask set, the program determines the length of each clock phase and pinpoints the longest paths. Crystal can process circuits with about 40 000 transistors in about 20-30 min of VAX-11/780 CPU time. The program uses a switch-level approach in which the circuit is decomposed into chains of switches called stages. A depth-first search, with pruning, is used to trace out stages and locate the critical paths. Bidirectional pass transistor arrays are handled by having the designer tag such structures with flow control information, which is used by Crystal to avoid endless searches. Delays are computed on a stage-by-stage basis, using a simple resistor-switch model based on rise-time ratios (a measure of how fully turned-on the transistors in the stage are). The delay modeler executes 10 000 times as fast as SPICE, yet produces delay estimates that are typically within 10 percent of SPICE for digital circuits. John K. Ousterhout |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 1 |
| 1984 | A switchbox router with obstacle avoidance
Gordon T. Hamachi, John K. Ousterhout |
DAC | 2 |
| 1984 | Switch-level delay models for digital MOS VLSI
John K. Ousterhout |
DAC | 1 |
| 1984 | Magic: A VLSI layout system
John K. Ousterhout, Gordon T. Hamachi, Robert N. Mayo, Walter S. Scott, George S. Taylor |
DAC | 1 |
| 1984 | Plowing: Interactive stretching and compaction in magic
Walter S. Scott, John K. Ousterhout |
DAC | 2 |
| 1984 | Magic's incremental design-rule checker
George S. Taylor, John K. Ousterhout |
DAC | 2 |
| 1984 | Corner Stitching: A Data-Structuring Technique for VLSI Layout ToolsabstractCorner stitching is a technique for representing rectangular two-dimensional objects. It is especially well suited for interactive VLSI layout editing systems. The data structure has two important features: first, empty space is represented explicitly; and second, rectangular areas are stitched together at their corners like a patchwork quilt. This organization results in fast algorithms (linear or constant expected time) for searching, creation, deletion, stretching, and compaction. The algorithms are presented under a simplified model of VLSI circuits, and the storage requirements of the structure are discussed. Corner stitching has been implemented in a working layout editor. Initial measurements indicate that it requires about three times as much memory space as the simplest possible representation. John K. Ousterhout |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 1 |
| 1984 | The User Interface and Implementation of an IC Layout EditorabstractThis paper describes several novel aspects of Caesar, a layout editor for Manhattan-style integrated circuits. The program's user interface is similar to painting. By hiding many irrelevant details, the painting mechanism provides a powerful yet simple user interface. Its implementation using horizontal strips is efficient in both time and space. To handle large circuits efficiently, Caesar represents them hierarchically and capitalizes on their hierarchical structure to avoid excess computation and I/O. Mask information is rendered on color displays with a novel combination of transparent and opaque layers that clarifies layer interactions even in the presence of a large number of mask layers. John K. Ousterhout |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 1 |
| 1983 | Pictures with parentheses: Combining graphics and procedures in a VLSI layout tool
Robert N. Mayo, John K. Ousterhout |
DAC | 2 |
| 1982 | Lyra: A new approach to geometric layout rule checkingabstractLyra is a layout rule checking program for Manhattan VLSI circuits. In Lyra, rules are specified in terms of constraints that must hold at certain corners in the design. The corner-based mechanism permits a wide variety of rules to be specified easily, including rules involving asymmetric constructs such as transistor overhangs. Lyra's mechanism also has locality, which can be exploited to construct incremental and/or hierarchical checkers. A rule compiler translates symbolic rules into efficient code for checking those rules, and permits the system to be retargeted for different processes. Michael H. Arnold, John K. Ousterhout |
DAC | 2 |
| 1982 | Measurements of a VLSI designabstractThis paper presents data about three facets of a recently-completed VLSI design containing 45000 transistors. The first set of data describes the mask-level features of the circuit, from which it is seen that almost all features have at least one small dimension. The second set of data analyzes the hierarchical cell structure used by the designers to specify the circuit. The measurements show that composite cells have a different structure from primitive cells, and that, outside of arrays, cells are rarely re-used. The third set of data concerns the usage of an interactive layout program during the circuit's design. In spite of the circuit's size, the most frequently invoked commands were all simple. John K. Ousterhout, David M. Ungar |
DAC | 1 |
| 1982 | Scheduling Techniques for Concurrent Systems
John K. Ousterhout |
ICDCS | 1 |
| 1979 | Medusa: An Experiment in Distributed Operating System Structure (Summary)abstractThe paper is a discussion of the issues that arose in the design of an operating system for a distributed multiprocessor, Cm*. Medusa is an attempt to understand the effect on operating system structure of distributed hardware, and to produce a system that capitalizes on and reflects the underlying architecture. The resulting system combines several structural features that make it unique among existing operating systems. John K. Ousterhout, Donald A. Scelza, Pradeep S. Sindhu |
SOSP | 1 |