Fast incremental updates for pipelined forwarding engines

Pipelined ASIC architectures are increasingly being used in forwarding engines for high-speed IP routers. We explore optimization issues in the design of memory-efficient data structures that support fast incremental updates in such forwarding engines. Our solution aims to balance the memory utilization across the multiple pipeline stages. We also propose a series of optimizations that minimize the disruption to the forwarding process caused by route updates. These optimizations reduce the update overheads by over a factor of two for a variety of different core routing tables and update traces.

[1]  Roberto Grossi,et al.  IP Address Lookup Made Fast and Simple , 1999, ESA.

[2]  Bernhard Plattner,et al.  Scalable high speed IP routing lookups , 1997, SIGCOMM '97.

[3]  Butler W. Lampson,et al.  IP lookups using multiway and multicolumn search , 1999, TNET.

[4]  Farnam Jahanian,et al.  Experimental study of Internet stability and backbone failures , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[5]  Keith Sklower,et al.  A Tree-Based Packet Routing Table for Berkeley Unix , 1991, USENIX Winter.

[6]  Stephen P. Boyd,et al.  Near-optimal routing lookups with bounded worst case performance , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[7]  Gunnar Karlsson,et al.  Fast address look-up for internet routers , 1998, Broadband Communications.

[8]  Svante Carlsson,et al.  Small forwarding tables for fast routing lookups , 1997, SIGCOMM '97.

[9]  Huan Liu Routing Table Compaction in Ternary CAM , 2002, IEEE Micro.

[10]  David A. Patterson,et al.  Computer organization and design (2nd ed.): the hardware/software interface , 1997 .

[11]  Farnam Jahanian,et al.  Experimental Study of Internet Stabil-ity and Wide-Area Backbone Failures , 1998 .

[12]  David A. Patterson,et al.  Computer Organization & Design: The Hardware/Software Interface , 1993 .

[13]  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).

[14]  Brian Zill,et al.  Constructing optimal IP routing tables , 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).

[15]  Geoff Huston,et al.  Analyzing the Internet's BGP Routing Table , 2001 .

[16]  V. Srinivasan,et al.  Fast address lookups using controlled prefix expansion , 1999, TOCS.

[17]  Gunnar Karlsson,et al.  IP-address lookup using LC-tries , 1999, IEEE J. Sel. Areas Commun..

[18]  Donald R. Morrison,et al.  PATRICIA—Practical Algorithm To Retrieve Information Coded in Alphanumeric , 1968, J. ACM.

[19]  Devavrat Shah,et al.  Fast Updating Algorithms for TCAMs , 2001, IEEE Micro.

[20]  Nick McKeown,et al.  Routing lookups in hardware at memory access speeds , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[21]  Lawrence L. Larmore,et al.  A Fast Algorithm for Optimum Height-Limited Alphabetic Binary Trees , 1994, SIAM J. Comput..

[22]  장훈,et al.  [서평]「Computer Organization and Design, The Hardware/Software Interface」 , 1997 .

[23]  Francis Zane,et al.  Performance modeling for fast IP lookups , 2001, SIGMETRICS '01.

[24]  Steven McCanne,et al.  Optimal routing table design for IP address lookups under memory constraints , 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).

[25]  David A. Patterson,et al.  Computer Organization And Design: The Hardware/Software Interface , 1993 .

[26]  George Varghese,et al.  Memory-efficient state lookups with fast updates , 2000, SIGCOMM.