Scalable hierarchical coarse-grained timers

Several network servers and routing and signalling protocols need a large number of events to be scheduled off timers. Some of these applications can withstand a bounded level of inaccuracy in when the timer is scheduled. In this paper we describe a novel mechanism called "scalable hierarchical coarse grained timers" which can handle the scheduling of a large number of events while incurring a minimum of cpu and memory overhead. The techniques presented here were implemented on a commercial IP routing system and are used by the routing stack to damp flapping BGP routes. The paper reflects our experiences in carrying out this implementation and the subsequent performance analysis.

[1]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[2]  Anthony Lauck,et al.  Hashed and hierarchical timing wheels: efficient data structures for implementing a timer facility , 1997, TNET.

[3]  Deborah Estrin,et al.  Scalable timers for soft state protocols , 1997, Proceedings of INFOCOM '97.

[4]  Farnam Jahanian,et al.  Origins of Internet routing instability , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[5]  Randy Brown,et al.  Calendar queues: a fast 0(1) priority queue implementation for the simulation event set problem , 1988, CACM.

[6]  Van Jacobson,et al.  The synchronization of periodic routing messages , 1993, SIGCOMM '93.

[7]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[8]  Bassam Halabi,et al.  Internet Routing Architectures , 1997 .

[9]  Ramesh Govindan,et al.  BGP Route Flap Damping , 1998, RFC.

[10]  Farnam Jahanian,et al.  Internet routing instability , 1997, SIGCOMM '97.

[11]  Keith Bostic,et al.  The design and implementa-tion of the 4.4BSD operating system , 1996 .

[12]  John W. Stewart,et al.  BGP4 : inter-domain routing in the Internet , 1998 .

[13]  Samuel J. Leffler,et al.  The design and implementation of the 4.3 BSD Unix operating system , 1991, Addison-Wesley series in computer science.

[14]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .

[15]  George Varghese,et al.  Redesigning the BSD Callout and Timer Facilities , 1995 .