Andy Davis, Jay Parikh, William E. Weihl
Content delivery networks have evolved beyond traditional distributed caching. With services such as Akamai's EdgeComputing it is now possible to deploy and run enterprise business Web applications...
Mike Burrows, Ulfar Erlingson, Shun-tak A. Leung, Mark T. Vandevoorde, Carl A. Waldspurger, Kevin Walker, ...
This paper presents novel sampling-based techniques for collecting statistical profiles of register contents, data values, and other information associated with instructions, such as memory...
Jennifer M. Anderson, Lance M. Berc, Jeffrey Dean, Sanjay Ghemawat, Monika R. Henzinger, Shun-tak A. Leung, ...
This paper describes the DIGITAL Continuous Profiling Infrastructure, a sampling-based profiling system designed to run continuously on production systems. The system supports multiprocessors, works...
A Serialization Graph Construction for Nested Transactions (2002)
Alan Fekete, Nancy A. Lynch, Nancy Lynch T, William E. Weihl
This paper makes three contributions. First, we present a proof technique that offers system designers the same ease of reasoning about nested transaction systems as is given by the classical theory...
Danny Dolev, Nancy A. Lynch, Shlomit S. Pinter, Eugene W. Stark, William E. Weihl
This paper considers a variant on the Byzantine Generals problem, in which processes starl with arbitrary real values rather than Boolean values or values from some bounded range, and in which...
Reaching Approximate Agreement In The Presence Of Faults (2002)
Danny Dolev, Nancy A. Lynch, Shlomit S. Pinter, Eugene W. Stark, William E. Weihl
This paper considers a variant on the Byzantine Generals problem, in which processes start with arbitrary real values rather than Boolean values or values from some bounded range, and in which...
Hybrid Atomicity for Nested Transactions (2002)
Alan Fekete, Nancy Lynch, William E. Weihl
This paper defines the notion of hybrid atomicity for nested transaction systems, and presents and verifies an algorithm providing this property. Hybrid atomicity is a modular property; it allows the...
Reaching Approximate Agreement in the Presence of Faults (2002)
Danny Dolev, Nancy A. Lynch, Shlomit S. Pinter, Eugene W. Stark, William E. Weihl
This paper considers a variant of the Byzantine Generals problem, in which processes start with arbitrary real values rather than Boolean values or values from some bounded range, and in which...
Scalable Reader-Writer Locks for Parallel Systems (2002)
Wilson C. Hsieh, William E. Weihl
readers to acquire locks independently. We describe two new algorithms for readier-writer synchronization that allow parallelism among readers during lock acquisition. We achieve this parallelism by...
Demand-based Coscheduling of Parallel Jobs on Multiprogrammed Multiprocessors (2002)
This thesis describes demand-based coscheduling, a new approach to scheduling parallel...
PROTEUS: A High-Performance Parallel-Architecture Simulator (2002)
Eric A. Brewer, Chrysanthos N. Dellarocas, Adrian Colbrook, William E. Weihl
PROTEUS is a high-performance simulator for MIMD multiprocessors. It is fast, accurate, and flexible: it is one to two orders of magnitude faster than comparable simulators, it can reproduce results...
A High-Performance Retargetable Simulator For Parallel Architectures (2002)
A High-performance, Chrysanthos N. Dellarocas, High-performance Retargetable Simulator For, William E. Weihl
makes experimental evaluation of parallel programs an important complement to theoretical analysis. Traditional techniques used to monitor the direct execution of programs are intrusive and may lead...
Dynamic Coscheduling on Workstation Clusters (2002)
Patrick G. Sobalvarro, Scott Pakin, William E. Weihl, Andrew A. Chien
Coscheduling has been shown to be a critical factor in achieving e#cient parallel execution in timeshared environments [12, 19, 4]. However, the most common approach, gang scheduling, has limitations...
Lottery Scheduling: Flexible Proportional-Share Resource Management (2001)
Carl A. Waldspurger, William E. Weihl
This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling provides efficient, responsive control over the relative execution rates of computations....
Demand-based Coscheduling of Parallel Jobs on Multiprogrammed Multiprocessors (2001)
Patrick G. Sobalvarro, William E. Weihl
We present demand-based coscheduling, a new approach to scheduling parallel computations on multiprogrammed multiprocessors. In demand-based coscheduling, rather than making the pessimistic...
Carl A. Waldspurger, William E. Weihl
This paper presents stride scheduling, a deterministic scheduling technique that efficiently supports the same flexible resource management abstractions introduced by lottery scheduling. Compared to...
Hybrid Atomicity for Nested Transactions (2001)
Alan Fekete, Alan Fekete *l, Nancy Lynch, William E. Weihl
This paper defines the notion of hybrid atomicityfor nested transaction systems, and presents and verifies an algorithm providing this propcrty.
Algorithms for Search Trees on Message-Passing Architectures (2001)
Adrian Colbrook, Eric A. Brewer, Chrysanthos N. Dellarocas, William E. Weihl
MIMD architecture; the algorithm is particularly well suited for implementation on a small number of processors. We introduce a (2 B-2, 2 B) search tree that uses a linear array of O(log n)...
Efficient and Flexible Value Sampling (2000)
Mike Burrows, Ulfar Erlingson, Shun-tak A. Leung, Mark T. Vandevoorde, Carl A. Waldspurger, Kevin Walker, ...
This paper presents novel sampling-based techniques for collecting statistical profiles of register contents, data values, and other information associated with instructions, such as memory...
Dynamic Coscheduling on Workstation Clusters (2000)
Patrick G. Sobalvarro, Scott Pakin, William E. Weihl, Andrew A. Chien
Coscheduling has been shown to be a critical factor in achieving e#cient parallel execution in timeshared environments [12, 19, 4]. However, the most common approach, gang scheduling, has limitations...
Systems Research Center (2000)
Sharon E. Perl, William E. Weihl, Brian Noble
CMon is a general-purpose performance monitoring system. It enables monitoring of long-running programs in a setting where the experimenters who are interested in the performance data are different...
Efficient Implementation of High-Level Languages on (2000)
Wilson C. Hsieh, Kirk L. Johnson, M. Frans Kaashoek, Deborah A. Wallach, William E. Weihl
User-level communication architectures --- parallel architectures that give user code direct but protected access to the network --- provide communication performance that is an order of magnitude...
Carl A. Waldspurger, William E. Weihl, Stride Scheduling, Deterministic Proportionalshare, Winter Mash Retreat
ransport Working Group, January 1996. RFC-1889. [126] Puneet Sharma, Deborah Estrin, Sally Floyd, and Van Jacobson. Scalable Timers for Soft State Protocols. In Proceedings IEEE Infocom '97, Kobe,...
Lottery Scheduling: Flexible Proportional-Share Resource Management (2000)
Carl A. Waldspurger, William E. Weihl
This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling provides efficient, responsive control over the relative execution rates of computations....
Continuous Profiling: Where Have All the Cycles Gone? (1999)
Jennifer M. Anderson, Lance M. Berc, Jeffrey Dean, Monika R. Henzinger, Shun-tak A. Leung, L. Sites, ...
This article describes the Digital Continuous Profiling Infrastructure, a sampling-based profiling system designed to run continuously on production systems. The system supports multiprocessors,...
Transparent, Low-Overhead Profiling on Modern Processors (1999)
Jennifer Anderson, Lance Berc, George Chrysos, Jeffrey Dean, Sanjay Ghemawat, Jamey Hicks, ...
ProfileMe, which can provide significant insight into the behavior of programs running on complex microprocessors (especially out-of-order processors) [2]. ProfileMe requires only modest hardware...
Reaching Approximate Agreement in the Presence of Faults (1999)
Danny Dolev, Nancy A. Lynch, Shlomit S. Pinter, Eugene W. Stark, William E. Weihl
This paper considers a variant on the Byzantine Generals problem, in which processes start with arbitrary real values rather than Boolean values or values from some bounded range, and in which...
The Pessimism behind Optimistic Simulation (1999)
George Varghese, Roger Chamberlain, William E. Weihl
In this paper we make an analogy between the time that storage must be maintained in a optimistic simulation and the blocking time in a conservative simulation. By exploring this analogy, we design...
Lottery Scheduling: Flexible Proportional-Share Resource Management (1999)
Carl A. Waldspurger, William E. Weihl
This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling provides efficient, responsive control over the relative execution rates of computations....
Lottery Scheduling: Flexible Proportional-Share Resource Management (1998)
Carl A. Waldspurger, William E. Weihl
This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling provides efficient, responsive control over the relative execution rates of computations....
Commutativity-Based Concurrency Control for Abstract Data Types. (1998)
This document presents two novel concurrency control algorithms for abstract data types. The algorithms ensure serializability of transactions by using conflict relations based on the commutativity...
Hybrid Concurrency Control for Abstract Data Types. (1998)
Herlihy, Maurice P., Weihl, William E.
Atomic transactions are a widely accepted mechanism for coping with failures and concurrency in database systems, both distributed and centralized. Many algorithms have been proposed for concurrency...
The Impact of Recovery on Concurrency Control. (1998)
It is widely recognized by practitioners that concurrency control an recovery for transaction systems interact in subtle ways. In most theoretical work, however, concurrency control and recovery are...
A Serialization Graph Construction for Nested Transactions. (1998)
Fekete, Alan, Lynch, Nancy A., Weihl, William E.
This paper makes three contributions. First, we present a proof technique that offers system designers the same ease of reasoning about nested transaction systems as is given by the classical theory...
PROTEUS: A High-Performance Parallel-Architecture Simulator. (1998)
Brewer, Eric A., Dellarocas, Chrysanthos N., Colbrook, Adrian, Weihl, William E.
PROTEUS is a high-performance simulator for MIMD multiprocessors. It is fast, accurate, and flexible: it is one to two orders of magnitude faster than comparable simulators, it can reproduce results...
Algorithms for Search Trees on Message-Passing Architectures. (1998)
Brewer, Eric A., Dellarocas, Chrysanthos N., Colbrook, Adrian, Weihl, William E.
This paper describes a new algorithm for maintaining a balanced search tree on a message-passing MIMD architecture; the algorithm is particularly well suited for implementation on a small number of...
Scalable Reader-Writer Locks for Parallel Systems, (1998)
Hsieh, Wilson C., Weihl, William E.
Current algorithms for reader writer synchronization exhibit poor scalability because they do not allow readers to acquire locks independently. We describe two new algorithms for reader-writer...
Pipes: Linguistic Support for Ordered Asynchronous Invocations, (1998)
Colbrook, Adrian, Brewer, Eric A., Hsieh, Wilson C., Wang, Paul, Weihl, William E.
We describe pipes, a new linguistic mechanism for sequences of ordered asynchronous procedure calls in multiprocessor systems. Pipes allow a sequence of remote invocations to be performed in order,...
Transparent, Low-Overhead Profiling on Modern Processors (1998)
Jennifer Anderson, Lance Berc, George Chrysos, Jeffrey Dean, Sanjay Ghemawat, Jamey Hicks, ...
79> ProfileMe, which can provide significant insight into the behavior of programs running on complex microprocessors (especially out-of-order processors) [2]. ProfileMe requires only modest hardware...
Transparent, Low-Overhead Profiling on Modern Processors (1998)
Jennifer Anderson, Lance Berc, George Chrysos, Jeffrey Dean, Sanjay Ghemawat, Jamey Hicks, ...
79> ProfileMe, which can provide significant insight into the behavior of programs running on complex microprocessors (especially out-of-order processors) [2]. ProfileMe requires only modest hardware...
Continuous Monitoring and Performance Specification (1998)
Sharon E. Perl, William E. Weihl, Brian Noble
CMon is a general-purpose performance monitoring system. It enables monitoring of long-running programs in a setting where the experimenters who are interested in the performance data are different...
Systems Research Center (1998)
Sharon E. Perl, William E. Weihl, Brian Noble
CMon is a general-purpose performance monitoring system. It enables monitoring of long-running programs in a setting where the experimenters who are interested in the performance data are different...
Dynamic Coscheduling on Workstation Clusters (1998)
Patrick G. Sobalvarro, Scott Pakin, William E. Weihl, Andrew A. Chien
Coscheduling has been shown to be a critical factor in achieving efficient parallel execution in timeshared environments [12, 19, 4]. However, the most common approach, gang scheduling, has...
Lottery Scheduling: Flexible Proportional-Share Resource Management (1998)
Carl A. Waldspurger, William E. Weihl
This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling provides efficient, responsive control over the relative execution rates of computations....
Lottery Scheduling: Flexible Proportional-Share Resource Management (1998)
Carl A. Waldspurger, William E. Weihl
This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling provides efficient, responsive control over the relative execution rates of computations....
Stride Scheduling: Deterministic Proportional-Share Resource Management (1998)
Carl A. Waldspurger, William E. Weihl
This paper presents stride scheduling, a deterministic scheduling technique that efficiently supports the same flexible resource management abstractions introduced by lottery scheduling. Compared to...
Stride Scheduling: Deterministic Proportional-Share Resource Management (1998)
Carl A. Waldspurger, William E. Weihl
This paper presents stride scheduling, a deterministic scheduling technique that efficiently supports the same flexible resource management abstractions introduced by lottery scheduling. Compared to...
ProfileMe: Hardware Support for Instruction-Level Profiling on Out-of-Order Processors (1998)
Jeffrey Dean, James E. Hicks, Carl A. Waldspurger, William E. Weihl, George Chrysos
Profile data is valuable for identifying performance bottlenecks and guiding optimizations. Periodic sampling of a processor's performance monitoring hardware is an effective, unobtrusive way to...
PROTEUS: A High-Performance Parallel-Architecture Simulator (1997)
Eric A. Brewer, Chrysanthos N. Dellarocas, Adrian Colbrook, William E. Weihl
Proteus is a high-performance simulator for MIMD multiprocessors. It is fast, accurate, and #exible: it is one to two orders of magnitude faster than comparable simulators, it can reproduce results...
ProfileMe: Hardware Support for Instruction-Level Profiling on Out-of-Order Processors (1997)
Jeffrey Dean, James E. Hicks, Carl A. Waldspurger, William E. Weihl, George Chrysos
Profile data is valuable for identifying performance bottlenecks and guiding optimizations. Periodic sampling of a processor's performance monitoring hardware is an effective, unobtrusive way to...
ProfileMe: Hardware Support for Instruction-Level Profiling on Out-of-Order Processors (1997)
Jeffrey Dean, James E. Hicks, Carl A. Waldspurger, William E. Weihl, George Chrysos
Profile data is valuable for identifying performance bottlenecks and guiding optimizations. Periodic sampling of a processor's performance monitoring hardware is an effective, unobtrusive way to...
ProfileMe: Hardware Support for Instruction-Level Profiling on Out-of-Order Processors (1997)
Jeffrey Dean, James E. Hicks, Carl A. Waldspurger, William E. Weihl, George Chrysos
Profile data is valuable for identifying performance bottlenecks and guiding optimizations. Periodic sampling of a processor's performance monitoring hardware is an effective, unobtrusive way to...
Lottery Scheduling: Flexible Proportional-Share Resource Management (1997)
Carl A. Waldspurger, William E. Weihl
This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling provides efficient, responsive control over the relative execution rates of computations....
Continuous Profiling: Where Have All the Cycles Gone? (1997)
Jennifer M. Anderson, Lance M. Berc, Jeffrey Dean, Sanjay Ghemawat, Monika R. Henzinger, Shun-tak A. Leung, ...
This paper describes the DIGITAL Continuous Profiling Infrastructure, a sampling-based profiling system designed to run continuously on production systems. The system supports multiprocessors, works...
Continuous Profiling: Where Have All the Cycles Gone? (1997)
Jennifer M. Anderson, Lance M. Berc, Jeffrey Dean, Sanjay Ghemawat, Monika R. Henzinger, Shun-tak A. Leung, ...
This paper describes the DIGITAL Continuous Profiling Infrastructure, a sampling-based profiling system designed to run continuously on production systems. The system supports multiprocessors, works...
Demand-based Coscheduling of Parallel Jobs on Multiprogrammed Multiprocessors (1997)
Patrick G. Sobalvarro, William E. Weihl
. We present demand-based coscheduling , a new approach to scheduling parallel computations on multiprogrammed multiprocessors. In demand-based coscheduling, rather than making the pessimistic...
Jennifer M. Anderson, Lance M. Berc, Jeffrey Dean, Sanjay Ghemawat, Monika R. Henzinger, Shun-tak A. Leung, ...
This paper describes the DIGITAL Continuous Profiling Infrastructure, a sampling-based profiling system designed to run continuously on production systems. The system supports multiprocessors, works...
Continuous Profiling: Where Have All the Cycles Gone? (1997)
Jennifer M. Anderson, Lance M. Berc, Jeffrey Dean, Sanjay Ghemawat, Monika R. Henzinger, Shun-tak A. Leung, ...
This paper describes the DIGITAL Continuous Profiling Infrastructure, a sampling-based profiling system designed to run continuously on production systems. The system supports multiprocessors, works...
Dynamic Coscheduling on Workstation Clusters (1997)
Patrick G. Sobalvarro, Scott Pakin, William E. Weihl, Andrew A. Chien
Coscheduling has been shown to be a critical factor in achieving efficient parallel execution in timeshared environments [11, 18, 4]. However, the most common approach, gang scheduling, has...
Patrick G. Sobalvarro, Scott Pakin, William E. Weihl, Andrew A. Chien
Coscheduling has been shown to be a critical factor in achieving efficient parallel execution in timeshared environments [11, 18, 4]. However, the most common approach, gang scheduling, has...
Software Prefetching and Caching for Translation Lookaside Buffers (1997)
Kavita Bala, M. Frans Kaashoek, William E. Weihl
A number of interacting trends in operating system structure, processor architecture, and memory systems are increasing both the rate of translation lookaside buffer (TLB) misses and the cost of...
Dynamic Coscheduling on Workstation Clusters (1997)
Patrick G. Sobalvarro, Scott Pakin, William E. Weihl, Andrew A. Chien
Coscheduling has been shown to be a critical factor in achieving efficient parallel execution in timeshared environments [11, 18, 4]. However, the most common approach, gang scheduling, has...
Dynamic Coscheduling on Workstation Clusters (1997)
Patrick G. Sobalvarro, Scott Pakin, William E. Weihl, Andrew A. Chien
Coscheduling has been shown to be a critical factor in achieving efficient parallel execution in timeshared environments [11, 18, 4]. However, the most common approach, gang scheduling, has...
Dynamic Coscheduling on Workstation Clusters (1997)
Patrick G. Sobalvarro, Scott Pakin, William E. Weihl, Andrew A. Chien
Coscheduling has been shown to be a critical factor in achieving efficient parallel execution in timeshared environments [11, 18, 4]. However, the most common approach, gang scheduling, has...
Dynamic Coscheduling on Workstation Clusters (1997)
Patrick G. Sobalvarro, Scott Pakin, William E. Weihl, Andrew A. Chien
Coscheduling has been shown to be a critical factor in achieving efficient parallel execution in timeshared environments [12, 18, 5]. However, the most common approach, gang scheduling, has...
Stride Scheduling: Deterministic Proportional-Share Resource Management (1997)
Carl A. Waldspurger, William E. Weihl
This paper presents stride scheduling, a deterministic scheduling technique that efficiently supports the same flexible resource management abstractions introduced by lottery scheduling. Compared to...
Demand-based Coscheduling of Parallel Jobs on Multiprogrammed Multiprocessors (1996)
Patrick G. Sobalvarro, William E. Weihl
. We present demand-based coscheduling, a new approach to scheduling parallel computations on multiprogrammed multiprocessors. In demand-based coscheduling, rather than making the pessimistic...
Register Relocation: Flexible Contexts for Multithreading (1996)
Carl A. Waldspurger, William E. Weihl
Multithreading is an important technique that improves processor utilization by allowing computation to be overlapped with the long latency operations that commonly occur in multiprocessor systems....
Lottery Scheduling: Flexible Proportional-Share Resource Management (1996)
Carl A. Waldspurger, William E. Weihl
This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling provides efficient, responsive control over the relative execution rates of computations....
Stride Scheduling: Deterministic Proportional-Share Resource Management (1996)
Carl A. Waldspurger, William E. Weihl
This paper presents stride scheduling, a deterministic scheduling technique that efficiently supports the same flexible resource management abstractions introduced by lottery scheduling. Compared to...
An Object-Oriented Framework for Modular Resource Management (1996)
Carl A. Waldspurger, William E. Weihl
We present a flexible object-oriented framework for specifying modular resource management policies in concurrent systems. The framework generalizes the basic abstractions we originally developed for...
Stride Scheduling: Deterministic Proportional-Share Resource Management (1996)
Carl A. Waldspurger, William E. Weihl
This paper presents stride scheduling, a deterministic scheduling technique that efficiently supports the same flexible resource management abstractions introduced by lottery scheduling. Compared to...
Lottery Scheduling: Flexible Proportional-Share Resource Management (1996)
Carl A. Waldspurger, William E. Weihl
This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling provides efficient, responsive control over the relative execution rates of computations....
An Object-Oriented Framework for Modular Resource Management (1996)
Carl A. Waldspurger, William E. Weihl
We present a flexible object-oriented framework for specifying modular resource management policies in concurrent systems. The framework generalizes the basic abstractions we originally developed for...
Lottery Scheduling: Flexible Proportional-Share Resource Management (1996)
Carl A. Waldspurger, William E. Weihl
This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling provides efficient, responsive control over the relative execution rates of computations....