Susan S. Owicki

dblp:06/3161 · DBLP profile ↗
← Back
22ranked-venue papers
7as first author
0since 2021 · last 1995
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 11 · 4 first-authorSystems, architecture and hardware · 8 · 3 first-authorTheory of computation · 4 · 2 first-authorComputer networks · 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
9 papers
Distributed systems · 47% Interconnection networks and networks-on-chip · 20% Parallel and multicore computing · 12%
Software engineering, system software, and programming languages
9 papers
Program verification · 52% Concurrent programming · 25% Programming languages and type systems · 14%
Computer networks
5 papers
Internet architecture and protocols · 44% Routing and switching · 43% Transport protocols and congestion control · 13%
Theoretical computer science
2 papers
Logic in computer science · 29% Approximation and online algorithms · 29% Algorithms and data structures · 29%

Topics — the 30 heaviest of 48, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Interconnection networks and networks-on-chip › network scheduling
switch scheduling
0.021993
High Speed Switch Scheduling for Local Area Networks · ACM Trans. Comput. Syst. 1993
High Speed Switch Scheduling for Local Area Networks · ASPLOS 1992
Distributed systems
distributed object systems
0.011995
A Highly Available, Scalable ITV System · SOSP 1995
Distributed systems › fault tolerance
high availability
0.011995
A Highly Available, Scalable ITV System · SOSP 1995
Distributed systems › replication
service replication
0.011995
A Highly Available, Scalable ITV System · SOSP 1995
Cloud and datacenter computing › datacenter network
bandwidth reservation
0.011993
High Speed Switch Scheduling for Local Area Networks · ACM Trans. Comput. Syst. 1993
Distributed systems
fault tolerance
0.011993
A Perspective on AN2: Local Area Network as Distributed System · PODC 1993
Distributed systems
remote procedure call
0.011993
Network Objects · SOSP 1993
Parallel and multicore computing › multiprocessor system
shared-memory multiprocessor
0.021991
Empirical Studies of Competitive Spinning for a Shared-Memory Multiprocessor · SOSP 1991
Evaluating the Performance of Software Cache Coherence · ASPLOS 1989
Internet architecture and protocols
local area network
0.011992
High Speed Switch Scheduling for Local Area Networks · ASPLOS 1992
Routing and switching
multipath routing
0.011992
Factors in the Performance of the AN1 Computer Network · SIGMETRICS 1992
Routing and switching
switch architecture
0.011992
High Speed Switch Scheduling for Local Area Networks · ASPLOS 1992
Interconnection networks and networks-on-chip
switch architecture
0.011992
Factors in the Performance of the AN1 Computer Network · SIGMETRICS 1992
Program verification
concurrent program verification
0.041983
Modular Verification of Computer Communication Protocols · IEEE Trans. Commun. 1983
GEM: A Tool for Concurrency Specification and Verification · PODC 1983
Modular Verification of Concurrent Programs · POPL 1982
Concurrent programming
synchronization
0.011991
Empirical Studies of Competitive Spinning for a Shared-Memory Multiprocessor · SOSP 1991
Parallel and multicore computing › synchronization
lock contention
0.011991
Empirical Studies of Competitive Spinning for a Shared-Memory Multiprocessor · SOSP 1991
Approximation and online algorithms
online algorithms
0.011990
Competitive Randomized Algorithms for Non-Uniform Problems · SODA 1990
Algorithms and data structures
randomized algorithms
0.011990
Competitive Randomized Algorithms for Non-Uniform Problems · SODA 1990
Performance modeling and evaluation
analytical modeling
0.011989
Evaluating the Performance of Software Cache Coherence · ASPLOS 1989
Memory systems
cache coherence
0.011989
Evaluating the Performance of Software Cache Coherence · ASPLOS 1989
Memory systems › cache coherence
software cache coherence
0.011989
Evaluating the Performance of Software Cache Coherence · ASPLOS 1989
Program verification
modular verification
0.021983
Modular Verification of Computer Communication Protocols · IEEE Trans. Commun. 1983
Modular Verification of Concurrent Programs · POPL 1982
Distributed systems › distributed information systems
name service
0.011995
A Highly Available, Scalable ITV System · SOSP 1995
Logic in computer science › temporal logic › linear-time properties
safety and liveness
0.011985
A Model and Temporal Proof System for Networks of Processes · POPL 1985
Logic in computer science
temporal logic
0.011985
A Model and Temporal Proof System for Networks of Processes · POPL 1985
Internet architecture and protocols › local area network
local area network design
0.011993
A Perspective on AN2: Local Area Network as Distributed System · PODC 1993
Internet architecture and protocols
quality of service
0.011993
High Speed Switch Scheduling for Local Area Networks · ACM Trans. Comput. Syst. 1993
Programming languages and type systems › object-oriented programming
object-oriented languages
0.011993
Network Objects · SOSP 1993
Transport protocols and congestion control › hop-by-hop congestion control
backpressure
0.011992
Factors in the Performance of the AN1 Computer Network · SIGMETRICS 1992
Internet architecture and protocols › resource reservation
bandwidth reservation
0.011992
High Speed Switch Scheduling for Local Area Networks · ASPLOS 1992
Transport protocols and congestion control
flow control
0.011992
Factors in the Performance of the AN1 Computer Network · SIGMETRICS 1992

Methods — techniques the papers use, named apart from their topics

statistical matching · 0.0parallel iterative matching · 0.0competitive analysis · 0.0architectural analysis · 0.0simulation · 0.0performance measurement · 0.0spinning · 0.0blocking · 0.0temporal logic · 0.0randomization · 0.0trace-based simulation · 0.0trace model · 0.0module specification · 0.0history variables · 0.0analytical modeling · 0.0partial order semantics · 0.0logic formulae · 0.0monotonic predicates · 0.0
YearPublicationVenuePosition
1995 A Highly Available, Scalable ITV System
abstract
As part of Time Warner's interactive TV trial in Orlando, Florida, we have implemented mechanisms for the construction of highly available and scalable system services and applications. Our mechanisms rely on an underlying distributed objects architecture, similar to Spring[1]. We have extended a standard name service interface to provide selectors for choosing among service replicas and auditing to allow the automatic detection and removal of unresponsive objects from the name space. In addition, our system supports resource recovery, by letting servers detect client failures, and automated restart of failed services. Our experience has been that these mechanisms greatly simplify the development of services that are both highly available and scalable. The system was built in less than 15 months, is currently in a small number of homes, and will support the trial's 4,000 users later this year. 1 Introduction Interactive TV (ITV) is a new application domain for distributed systems. Alt...
Michael N. Nelson, Mark A. Linton, Susan S. Owicki
SOSP3
1995 Network Objects
Andrew Birrell, Greg Nelson, Susan S. Owicki, Edward Wobber
Softw. Pract. Exp.3
1994 Competitive Randomized Algorithms for Nonuniform Problems
Anna R. Karlin, Mark S. Manasse, Lyle A. McGeoch, Susan S. Owicki
Algorithmica4
1993 A Perspective on AN2: Local Area Network as Distributed System
abstract
A network is typically viewed as part of the infrastructure that enables distributed computing.But AN2 and its predecessor AN1 are actually distributed systems in their own right.Hardware and software at the switches operate on local data and cooperate with parallel activities at other switches to manage the network and transmit data efficiently.Network components may fail, so fault tolerant operation is essential.Thus many of the issues and techniques of more traditional distributed systems are relevant for AN2.This paper describes aspects of the AN2 design where the distributed system model is especially appropriate and identifies areas where further work is needed.a sequence of switches connected by full-duplex links.
Susan S. Owicki
PODC1
1993 Network Objects
abstract
A network object is an object whose methods can be invoked over a network. This paper describes the design, implementation, and early experience with a network objects system for Modula-3. The system is novel for its overall simplicity. The paper includes a thorough description of realistic marshaling algorithms for network objects.
Andrew Birrell, Greg Nelson, Susan S. Owicki, Edward Wobber
SOSP3
1993 High Speed Switch Scheduling for Local Area Networks
abstract
Current technology trends make it possible to build communication networks that can support high-performance distributed computing. This paper describes issues in the design of a prototype switch for an arbitrary topology point-to-point network with link speeds of up to 1 Gbit/s. The switch deals in fixed-length ATM-style cells, which it can process at a rate of 37 million cells per second. It provides high bandwidth and low latency for datagram traffic. In addition, it supports real-time traffic by providing bandwidth reservations with guaranteed latency bounds. The key to the switch's operation is a technique called parallel iterative matching , which can quickly identify a set of conflict-free cells for transmission in a time slot. Bandwidth reservations are accommodated in the switch by building a fixed schedule for transporting cells from reserved flows across the switch; parallel iterative matching can fill unused slots with datagram traffic. Finally, we note that parallel iterative matching may not allocate bandwidth fairly among flows of datagram traffic. We describe a technique called statistical matching , which can be used to ensure fairness at the switch and to support applications with rapidly changing needs for guaranteed bandwidth.
Thomas E. Anderson, Susan S. Owicki, James B. Saxe, Charles P. Thacker
ACM Trans. Comput. Syst.2
1992 High Speed Switch Scheduling for Local Area Networks
abstract
Current technology trends make it possible to build communication networks that can support high performance distributed computing. This paper describes issues in the design of a prototype switch for an arbitrary topology point-to-point network with link speeds of up to one gigabit per second. The switch deals in fixed-length ATM-style cells, which it can process at a rate of 37 million cells per second. It provides high bandwidth and low latency for datagram traffic. In addition, it supports real-time traffic by providing bandwidth reservations with guaranteed latency bounds. The key to the switch''s operation is a technique called iterative matching, which can quickly identify a set of conflict-free cells for transmission in a time slot. Bandwidth reservations are accommodated in the switch by building a fixed schedule for transporting cells from reserved flows across the switch; parallel iterative matching can fill unused slots with datagram traffic. Finally, we note that parallel iterative matching may not allocate bandwidth fairly among flows of datagram traffic. We describe a technique called statistical matching, which can be used to ensure fairness at the switch and to support applications with rapidly changing needs for guaranteed bandwidth.
Thomas E. Anderson, Susan S. Owicki, James B. Saxe, Charles P. Thacker
ASPLOS2
1992 Factors in the Performance of the AN1 Computer Network
abstract
AN1 (formerly known as Autonet) is a local area network composed of crossbar switches interconnected by 100Mbit/second, full-duplex links. In this paper, we evaluate the performance impact of certain choices in the AN1 design. These include the use of FIFO input buffering in the crossbar switch, the deadlock-avoidance mechanism, cut-through routing, back-pressure for flow control, and multi-path routing. AN1's performance goals were to provide low latency and high bandwidth in a lightly loaded network. In this it is successful. Under heavy load, the most serious impediment to good performance is the use of FIFO input buffers. The deadlock-avoidance technique has an adverse effect on the performance of some topologies, but it seems to be the best alternative, given the goals and constraints of the AN1 design. Cut-through switching performs well relative to store-and-forward switching, even under heavy load. Back-pressure deals adequately with congestion in a lightly-loaded network; under moderate load, performance is acceptable when coupled with end-to-end flow control for bursts. Multi-path routing successfully exploits redundant paths between hosts to improve performance in the face of congestion.
Susan S. Owicki, Anna R. Karlin
SIGMETRICS1
1991 Empirical Studies of Competitive Spinning for a Shared-Memory Multiprocessor
abstract
A common operation in multiprocessor programs is acquiring a lock to protect access to shared data. Typically, the requesting thread is blocked if the lock it needs is held by another thread. The cost of blocking one thread and activating another can be a substantial part of program execution time. Alternatively, the thread could spin until the lock is free, or spin for a while and then block. This may avoid context-switch overhead, but processor cycles may be wasted in unproductive spinning. This paper studies seven strategies for determining whether and how long to spin before blocking. Of particular interest are competitive strategies, for which the performance can be shown to be no worse than some constant factor times an optimal off-line strategy. The performance of five competitive strategies is compared with that of always blocking, always spinning, or using the optimal off-line algorithm. Measurements of lock-waiting time distributions for five parallel programs were used to compare the cost of synchronization under all the strategies. Additional measurements of elapsed time for some of the programs and strategies allowed assessment of the impact of synchronization strategy on overall program performance. Both types of measurements indicate that the standard blocking strategy performs poorly compared to mixed strategies. Among the mixed strategies studied, adaptive algorithms perform better than non-adaptive ones.
Anna R. Karlin, Kai Li 0001, Mark S. Manasse, Susan S. Owicki
SOSP4
1990 Competitive Randomized Algorithms for Non-Uniform Problems
Anna R. Karlin, Mark S. Manasse, Lyle A. McGeoch, Susan S. Owicki
SODA4
1989 Evaluating the Performance of Software Cache Coherence
abstract
In a shared-memory multiprocessor with private caches, cached copies of a data item must be kept consistent. This is called cache coherence. Both hardware and software coherence schemes have been proposed. Software techniques are attractive because they avoid hardware complexity and can be used with any processor-memory interconnection. This paper presents an analytical model of the performance of two software coherence schemes and, for comparison, snoopy-cache hardware. The model is validated against address traces from a bus-based multiprocessor. The behavior of the coherence schemes under various workloads is compared, and their sensitivity to variations in workload parameters is assessed. The analysis shows that the performance of software schemes is critically determined by certain parameters of the workload: the proportion of data accesses, the fraction of shared references, and the number of times a shared block is accessed before it is purged from the cache. Snoopy caches are more resilient to variations in these parameters. Thus when evaluating a software scheme as a design alternative, it is essential to consider the characteristics of the expected workload. The performance of the two software schemes with a multistage interconnection network is also evaluated, and it is determined that both scale well.
Susan S. Owicki, Anant Agarwal
ASPLOS1
1986 A Model and Temporal Proof System for Networks of Processes
Alan J. Demers, David Gries, Susan S. Owicki
Distributed Comput.4
1985 A Model and Temporal Proof System for Networks of Processes
abstract
A model and a sound and complete proof system for networks of processes in which component processes communicate exclusively through messages is given. The model, an extension of the trace model, can describe both synchronous and asynchronous networks. The proof system uses temporal-logic assertions on sequences of observations — a generalization of traces. The use of observations (traces) makes the proof system simple, compositional and modular, since internal details can be hidden. The expressive power of temporal logic makes it possible to prove temporal properties (safety, liveness, precedence, etc.) in the system. The proof system is language-independent and works for both synchronous and asynchronous networks.
David Gries, Susan S. Owicki
POPL3
1983 GEM: A Tool for Concurrency Specification and Verification
abstract
The GEM model of concurrent computation is presented. Each GEM computation consists of a set of partially ordered events, and represents a particular concurrent execution. Language primitives for concurrency, code segments, as well as concurrency problems may be described as logic formulae (restrictions) on the domain of possible GEM computations. An event-oriented method of program verification is also presented. GEM is unique in its ability to easily describe and reason about synchronization properties.
Amy L. Lansky, Susan S. Owicki
PODC2
1983 Maintaining the Time in a Distributed System
abstract
To a client of a loosely-coupled distributed system, one of the simplest services is a time service. Usually the client simply requests the time from any subset of the time servers making up the service, and uses the first reply. Issues that need to be considered in other services, such as connection establishment or client authentication, need not be considered in a time service. The simplicity of this instruction, however, misrepresents the complexity of implementing such a service.
Keith Marzullo, Susan S. Owicki
PODC2
1983 Construction of centered shortest-path trees in networks
abstract
Abstract Many researchers in the area of distributed networks have found it convenient to assume the existence of a facility for routing broadcast messages to all the nodes in the network. We are investigating an approach called center‐based forwarding which routes messages via the branches of the shortest‐path tree for some node near the center of the network. In this article we show that this approach results in broadcasts that finish with low delay; we then explain how to construct centered trees in a loosely coupled network environment.
David W. Wall, Susan S. Owicki
Networks2
1983 Modular Verification of Computer Communication Protocols
abstract
Programs that implement computer communications protocols can exhibit extremely complicated behavior, and neither informal reasoning nor testing is reliable enough to establish their correctness. In this paper we discuss the application of modular program verification techniques to protocols. This approach is more reliable than informal reasoning, but has an advantage over formal reasoning based on finite-state models, the complexity of the proof need not grow unmanageably as the size of the program increases. Certain tools of concurrent program verification that are especially useful for protocols are presented, history variables that record sequences of input and output values, temporal logic for expressing properties that must hold in a future system state such as eventual receipt of a message), and module specification and composition rules. The use of these techniques is illustrated by verifying two data transfer protocols from the literature: the alternating bit protocol and a protocol proposed by Stenning.
Brent Hailpern, Susan S. Owicki
IEEE Trans. Commun.2
1982 Modular Verification of Concurrent Programs
abstract
Verifying concurrent systems can be difficult because of the complex interactions possible between system components. In this paper, we propose a technique to simplify the task: modular composition of sequential proofs. We model a parallel program as a set of modules that interact by procedure calls. The properties of each module are proved using a sequential-program verification technique. If the modules satisfy a set of constraints presented in this paper, we may compose the modules into a system and the properties of the modules into properties of the system. The constraints ensure that the specifications are robust for each module where they are defined or used, in the sense that they are unaffected by current actions of other modules. A specification can be guaranteed robust for module m by restricting it to local variables of m, or by using monotonic predicates, which once true remain true forever. Our technique can be used to prove safety and liveness properties of parallel programs---the liveness properties are specified using temporal logic.
Brent Hailpern, Susan S. Owicki
POPL2
1982 Proving Liveness Properties of Concurrent Programs
abstract
A liveness property asserts that program execution eventually reaches some desirable state.While termination has been studied extensively, many other liveness properties are important for concurrent programs.A formal proof method, based on temporal logic, for deriving liveness properties is presented.It allows a rigorous formulation of simple informal arguments.How to reason with temporal logic and how to use safety (invariance) properties in proving liveness is shown.The method is illustrated using, first, a simple programming language without synchronization primitives, then one with semaphores.However, it is applicable to any programming language.
Susan S. Owicki, Leslie Lamport
ACM Trans. Program. Lang. Syst.1
1981 Making the World Safe for Garbage Collection
abstract
This paper describes the formal specifications of garbage collection in the programming language Cedar Mesa. They were developed as part of the process of identifying a safe subset of Mesa for which garbage collection was possible. The purpose of the specifications was to provide a precise definition of safety, along with criteria for checking the safety of proposed language features. Thus the specifications had to characterize the "invisibility" of the collector, as well as describe the services it provides. A beneficial effect of the specification effort was that the process of constructing the specifications led to a number of discoveries that improved the quality of the language.
Susan S. Owicki
POPL1
1976 A Consistent and Complete Deductive System for the Verification of Parallel Programs
abstract
The semantics of a simple parallel programming language is presented in two ways: deductively, by a set of Hoare-like axioms and inference rules, and operationally, by means of an interpreter. It is shown that the deductive system is consistent with the interpreter. It would be desirable to show that the deductive system is also complete with respect to the interpreter, but this is impossible since the programming language contains the natural numbers. Instead it is proved that the deductive system is complete relative to a complete proof system for the natural numbers; this result is similar to Cook's relative completeness for sequential programs.
Susan S. Owicki
STOC1
1976 An Axiomatic Proof Technique for Parallel Programs I
Susan S. Owicki, David Gries
Acta Informatica1