Download:
|
by George Varghese, Tony Lauck
http://www-cse.ucsd.edu/users/varghese/PAPERS/twheel.ps.Z
Add To MetaCart
Abstract:
Conventional algorithms to implement an Operating System timer module take O(n) time to start or maintain a timer, where n is the number of outstanding timers: this is expensive for large n. This paper shows that by using a circular buffer or timing wheel, it takes O(1) time to start, stop, and maintain timers within the range of the wheel. Two extensions for larger values of the interval are described. In the first, the timer interval is hashed into a slot on the timing wheel. In the second, a hierarchy of timing wheels with different granularities is used to span a greater range of intervals. The performance of these two schemes and various implementation tradeoffs are discussed. We have used one of our schemes to replace the current BSD UNIX callout and timer facilities. Our new implementation can support thousands of outstanding timers without much overhead. Our timer schemes have also been implemented in other operating systems and network protocol packages. 1
Citations
|
5824
|
Introduction to Algorithms
– Cormen, Leiserson, et al.
- 1990
|
|
1790
|
Congestion avoidance and control
– Jacobson
- 1988
|
|
924
|
A Reliable Multicast Framework for Light-weight Sessions and Application Level Framing
– Floyd, Jacobsen, et al.
- 1997
|
|
793
|
Computer Networks
– Tanenbaum
- 1996
|
|
395
|
TCP Vegas: new techniques for congestion detection and avoidance
– Brakmo, O’Malley, et al.
- 1994
|
|
296
|
An analysis of TCP processing overhead
– Clark, Jacobson, et al.
- 1989
|
|
141
|
Implementing network protocols at user level
– Thekkath, Nguyen, et al.
- 1993
|
|
138
|
Calendar Queues: A Fast O(1) Priority Queue Implementation for the Simulation Event Set Problem
– Brown
- 1988
|
|
60
|
A distributed whiteboard for network conferencing
– McCanne
- 1992
|
|
43
|
Hashed and Hierarchical Timing Wheels: Data Structures for the Efficient Implementation of a Timer Facility. Operating Systems Review Special Issue
– Varghese, Lauck
- 1987
|
|
15
|
A comparison of simulation event list algorithms
– Vaucher, Duval
- 1975
|
|
4
|
et al., “GIGAswitch System: A Highperformance Packet-switching Platform
– Souza
- 1994
|
|
3
|
Time-sequenced logic simulation based on circuit delay and selective tracing of active network paths
– ULRICH
- 1965
|
|
2
|
TIP's Protocol Run-Time System
– Bocking, Seidel
- 1994
|
|
2
|
Calendar p's and q's
– Davison
- 1989
|
|
1
|
Redesigning the BSD Callout and Timeout Facilities
– Costello, Varghese
- 1995
|
|
1
|
DECSIM: A Multi-Level Simulation System for
– Kearney
|
|
1
|
Complexity Analysis of Event Set Algorithms
– Reeves
- 1984
|
|
1
|
Sequencing Set Efficiency, Pub. A9, Norwegian Computing
– Myhrhaug
|
|
1
|
Simulation with GASP-II
– Pritsker, Kiviat
- 1969
|
|
1
|
Time Flow Mechanisms for use
– Szygenda, Hemming, et al.
|