Sizing router buffers

All Internet routers contain buffers to hold packets during times of congestion. Today, the size of the buffers is determined by the dynamics of TCP's congestion control algorithm. In particular, the goal is to make sure that when a link is congested, it is busy 100% of the time; which is equivalent to making sure its buffer never goes empty. A widely used rule-of-thumb states that each link needs a buffer of size B = overlineRTT x C, where overlineRTT is the average round-trip time of a flow passing across the link, and C is the data rate of the link. For example, a 10Gb/s router linecard needs approximately 250ms x 10Gb/s = 2.5Gbits of buffers; and the amount of buffering grows linearly with the line-rate. Such large buffers are challenging for router manufacturers, who must use large, slow, off-chip DRAMs. And queueing delays can be long, have high variance, and may destabilize the congestion control algorithms. In this paper we argue that the rule-of-thumb (B = (overlineRTT x C) is now outdated and incorrect for backbone routers. This is because of the large number of flows (TCP connections) multiplexed together on a single backbone link. Using theory, simulation and experiments on a network of real routers, we show that a link with n flows requires no more than B = (overlineRTT x C) √n, for long-lived or short-lived TCP flows. The consequences on router design are enormous: A 2.5Gb/s link carrying 10,000 flows could reduce its buffers by 99% with negligible difference in throughput; and a 10Gb/s link carrying 50,000 flows requires only 10Mbits of buffering, which can easily be implemented using fast, on-chip SRAM.

[1]  Scott Shenker,et al.  Observations on the dynamics of a congestion control algorithm: the effects of two-way traffic , 1991, SIGCOMM '91.

[2]  Paul Barford,et al.  Self-configuring network traffic generation , 2004, IMC '04.

[3]  Fernando Paganini,et al.  Dynamics of TCP/RED and a scalable control , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[4]  QUTdN QeO,et al.  Random early detection gateways for congestion avoidance , 1993, TNET.

[5]  Donald F. Towsley,et al.  Modeling, simulation and measurements of queuing delay under long-tail internet traffic , 2003, SIGMETRICS '03.

[6]  Randy Bush,et al.  Some Internet Architectural Guidelines and Philosophy , 2002, RFC.

[7]  Jin Cao,et al.  Internet Traffic Tends Toward Poisson and Independent as the Load Increases , 2003 .

[8]  Finkel,et al.  Brief review: Stochastic Modeling and the Theory of Queues by Ronald W. Wolfe (Prentice-Hall, 1989) , 1992, PERV.

[9]  Yin Zhang,et al.  Understanding the performance of many TCP flows , 2001, Comput. Networks.

[10]  Thomas Bonald,et al.  Statistical bandwidth sharing: a study of congestion at flow level , 2001, SIGCOMM.

[11]  Russ White,et al.  Inside Cisco IOS Software Architecture , 2000 .

[12]  Sally Floyd,et al.  HighSpeed TCP for Large Congestion Windows , 2003, RFC.

[13]  Robert Tappan Morris,et al.  TCP behavior with many flows , 1997, Proceedings 1997 International Conference on Network Protocols.

[14]  Sally Floyd,et al.  Difficulties in simulating the internet , 2001, TNET.

[15]  Fouad A. Tobagi,et al.  Provisioning internet backbone networks to support latency sensitive applications , 2002 .

[16]  Sally Floyd,et al.  Wide-area traffic: the failure of Poisson modeling , 1994 .

[17]  Cheng Song,et al.  High performance TCP in ANSNET , 1994, CCRV.

[18]  Scott Shenker,et al.  Some observations on the dynamics of a congestion control algorithm , 1990, CCRV.

[19]  Alexandre Proutière,et al.  Statistical bandwidth sharing: a study of congestion at flow level , 2001, SIGCOMM.

[20]  Nick McKeown,et al.  Congestion Control and Periodic Behavior , 2001 .

[21]  Eitan Altman,et al.  The effect of router buffer size on the TCP performance , 2001 .

[22]  W. Richard Stevens,et al.  TCP/IP Illustrated, Volume 1: The Protocols , 1994 .

[23]  John S. Heidemann,et al.  A framework for classifying denial of service attacks , 2003, SIGCOMM '03.

[24]  Marshall T. Rose,et al.  Management Information Base for network management of TCP/IP-based internets , 1990, RFC.

[25]  McKeownNick,et al.  Sizing router buffers , 2004 .

[26]  Larry L. Peterson,et al.  TCP Vegas: new techniques for congestion detection and avoidance , 1994 .

[27]  Frank Kelly,et al.  Notes on effective bandwidths , 1994 .

[28]  Martin May,et al.  Aggregate traffic performance with active queue management and drop from tail , 2001, CCRV.

[29]  Luigi Rizzo,et al.  Dummynet: a simple approach to the evaluation of network protocols , 1997, CCRV.

[30]  W. Paul,et al.  Computer Architecture , 2000, Springer Berlin Heidelberg.

[31]  Paul Barford,et al.  Harpoon: a flow-level traffic generator for router and network tests , 2004, SIGMETRICS '04/Performance '04.

[32]  Anja Feldmann,et al.  Data networks as cascades: investigating the multifractal nature of Internet WAN traffic , 1998, SIGCOMM '98.

[33]  Robert Tappan Morris,et al.  Scalable TCP congestion control , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[34]  Cheng Jin,et al.  FAST TCP: Motivation, Architecture, Algorithms, Performance , 2006, IEEE/ACM Transactions on Networking.

[35]  Ramana Rao Kompella,et al.  Analysis of a memory architecture for fast packet buffers , 2001, 2001 IEEE Workshop on High Performance Switching and Routing (IEEE Cat. No.01TH8552).