Title
Hashed and hierarchical timing wheels: efficient data structures for implementing a timer facility
Abstract
The performance of timer algorithms is crucial to many network protocol implementations that use timers for failure recovery and rate control. Conventional algorithms to implement an Operating System timer module take time to start or maintain a timer, where is the number of outstanding timers: this is expensive for large . This paper shows that by using a circular buffer or timing wheel, it takes (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.
Year
DOI
Venue
1997
10.1109/90.650142
IEEE/ACM Trans. Netw.
Keywords
Field
DocType
Timing,Wheels,Data structures,Operating systems,Scheduling algorithm,Protocols,Communication system control,Hardware,Clocks,Packaging
Data structure,Computer science,Circular buffer,Computer network,Unix,Queueing theory,Watchdog timer,Packet switching,Timer,Embedded system,Communications protocol
Journal
Volume
Issue
ISSN
5
6
1063-6692
Citations 
PageRank 
References 
16
1.14
13
Authors
2
Name
Order
Citations
PageRank
George Varghese18149727.66
Anthony Lauck25879.59