1 - CS7701 – Fall 2004 Review of: Sizing Router Buffers Paper by: – Guido Appenzeller (Stanford) – Isaac Keslassy (Stanford) – Nick McKeown (Stanford)

Slides:



Advertisements
Similar presentations
EE384Y: Packet Switch Architectures
Advertisements

Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
1 End to End Bandwidth Estimation in TCP to improve Wireless Link Utilization S. Mascolo, A.Grieco, G.Pau, M.Gerla, C.Casetti Presented by Abhijit Pandey.
Router Buffer Sizing and Reliability Challenges in Multicast Aditya Akella 02/28.
Lecture 3  A round up of the most important basics I haven’t covered yet.  A round up of some of the (many) things I am missing out of this course (ATM,
CUBIC Qian HE (Steve) CS 577 – Prof. Bob Kinicki.
Hamilton Institute TCP over e Doug Leith & Peter Clifford Hamilton Institute, Ireland.
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Sizing Router Buffers Guido Appenzeller Isaac Keslassy Nick McKeown Stanford University.
On Modeling Feedback Congestion Control Mechanism of TCP using Fluid Flow Approximation and Queuing Theory  Hisamatu Hiroyuki Department of Infomatics.
The War Between Mice and Elephants Presented By Eric Wang Liang Guo and Ibrahim Matta Boston University ICNP
Dynamic Internet Congestion with Bursts Stefan Schmid Roger Wattenhofer Distributed Computing Group, ETH Zurich 13th International Conference On High Performance.
Designing Networks with Little or No Buffers or Can Gulliver Survive in Lilliput? Yashar Ganjali High Performance Networking Group Stanford University.
High Performance All-Optical Networks with Small Buffers Yashar Ganjali High Performance Networking Group Stanford University
AQM for Congestion Control1 A Study of Active Queue Management for Congestion Control Victor Firoiu Marty Borden.
Buffer Sizing for Congested Internet Links Chi Yin Cheung Cs 395 Advanced Networking.
High Performance Networking with Little or No Buffers Yashar Ganjali High Performance Networking Group Stanford University
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Performance Modeling Computer Science Division Department of Electrical Engineering and Computer.
High speed TCP’s. Why high-speed TCP? Suppose that the bottleneck bandwidth is 10Gbps and RTT = 200ms. Bandwidth delay product is packets (1500.
High Performance Networking with Little or No Buffers Yashar Ganjali on behalf of Prof. Nick McKeown High Performance Networking Group Stanford University.
Sizing Router Buffers (Summary)
Sizing Router Buffers Nick McKeown Guido Appenzeller & Isaac Keslassy SNRC Review May 27 th, 2004.
1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug 1993), pp
Defending Against Low-rate TCP Attack: Dynamic Detection and Protection Haibin Sun John C.S.Lui CSE Dept. CUHK David K.Y.Yau CS Dept. Purdue U.
Modeling TCP in Small-Buffer Networks
ACN: AVQ1 Analysis and Design of an Adaptive Virtual Queue (AVQ) Algorithm for Active Queue Managment Srisankar Kunniyur and R. Srikant SIGCOMM’01 San.
Reducing the Buffer Size in Backbone Routers Yashar Ganjali High Performance Networking Group Stanford University February 23, 2005
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
Data Communication and Networks
Isaac Keslassy (Technion) Guido Appenzeller & Nick McKeown (Stanford)
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
Random Early Detection Gateways for Congestion Avoidance
Routers with Small Buffers Yashar Ganjali High Performance Networking Group Stanford University
Buffer requirements for TCP: queueing theory & synchronization analysis Gaurav RainaDamon Wischik CambridgeUCL.
Open Issues in Buffer Sizing Amogh Dhamdhere Constantine Dovrolis College of Computing Georgia Tech.
Courtesy: Nick McKeown, Stanford 1 TCP Congestion Control Tahir Azim.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
CS144 An Introduction to Computer Networks
Sizing Router Buffers How much packet buffers does a router need? C Router Source Destination 2T The current “Rule of Thumb” A router needs a buffer size:
Understanding the Performance of TCP Pacing Amit Aggarwal, Stefan Savage, Thomas Anderson Department of Computer Science and Engineering University of.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
1 On Class-based Isolation of UDP, Short-lived and Long-lived TCP Flows by Selma Yilmaz Ibrahim Matta Computer Science Department Boston University.
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
1 IEEE Meeting July 19, 2006 Raj Jain Modeling of BCN V2.0 Jinjing Jiang and Raj Jain Washington University in Saint Louis Saint Louis, MO
Requirements for Simulation and Modeling Tools Sally Floyd NSF Workshop August 2005.
TCP Trunking: Design, Implementation and Performance H.T. Kung and S. Y. Wang.
Copyright 2008 Kenneth M. Chipps Ph.D. Controlling Flow Last Update
Analysis of Buffer Size in Core Routers by Arthur Dick Supervisor Anirban Mahanti.
Lecture 9 – More TCP & Congestion Control
Promoting the Use of End-to-End Congestion Control in the Internet Sally Floyd and Kevin Fall IEEE-ACAM Transactions on Networking, 馬儀蔓.
Deadline-based Resource Management for Information- Centric Networks Somaya Arianfar, Pasi Sarolahti, Jörg Ott Aalto University, Department of Communications.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Winter 2008CS244a Handout 71 CS244a: An Introduction to Computer Networks Handout 7: Congestion Control Nick McKeown Professor of Electrical Engineering.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
TCP Traffic Characteristics—Deep buffer Switch
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
1 Flow & Congestion Control Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
Buffers: How we fell in love with them, and why we need a divorce Hot Interconnects, Stanford 2004 Nick McKeown High Performance Networking Group Stanford.
Networks with Very Small Buffers Yashar Ganjali, Guido Appenzeller, High Performance Networking Group Prof. Ashish Goel, Prof. Tim Roughgarden, Prof. Nick.
Other Methods of Dealing with Congestion
Sachin Katti, CS244 Slides courtesy: Nick McKeown
Topics discussed in this section:
CUBIC Marcos Vieira.
Open Issues in Router Buffer Sizing
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
Other Methods of Dealing with Congestion
Presentation transcript:

1 - CS7701 – Fall 2004 Review of: Sizing Router Buffers Paper by: – Guido Appenzeller (Stanford) – Isaac Keslassy (Stanford) – Nick McKeown (Stanford) Published in: – IEEE SIGCOMM 2004 Reviewed by: – Jeff Mitchell Discussion Leader: – Qian Wan CS7701: Research Seminar on Networking

2 - CS7701 – Fall 2004 Outline Introduction and Motivation Buffering for a Single Long-Lived TCP Flow Buffering for Many Long-Lived TCP Flows Buffering for Short Flows Simulation Results Conclusion

3 - CS7701 – Fall 2004 Introduction and Motivation The Evil Rule of Thumb® –Router buffers today are sized based on a rule- of-thumb, which was derived from experiments conducted on at most 8 TCP flows on a 40Mb/sec link. –States that: Buffer size = RTT * Capacity (all network interfaces) –Unfortunately, reality is worse, because network operators often require 250ms or more of buffering. –Typical case in a new high-speed, 10Gbit router, then— 250ms * 10 Gb/s = 2.5 Gbits of buffering PER PORT

4 - CS7701 – Fall 2004 Introduction and Motivation This much buffering requires us to use off- chip SDRAM. Why is this bad? –Price Typical 512Mb PC133 SDRAM part is $105. For a 10-port 10Gbit router, the memory alone would cost about $650. –Latency Typical DRAM has latency of about 50ns. However, a minimum length packet (40 bytes) can arrive every 32ns on a 10Gbit link. –Currently Lots of memory accessed in parallel or cache Either way requires a very wide bus and huge number of very fast data pins.

5 - CS7701 – Fall 2004 Buffering for a Single Long-Lived TCP Flow Where did this rule come from? –Router buffers sized so that they don’t underflow and lose throughput. –Based on the characteristics of TCP. Sender’s window size is steadily increasing until it fills the router’s buffer. When the buffer is filled it must drop the latest packet. Just under one RTT later, the sender times out waiting for an ACK from the dropped packet and halves its window size. (cont’d on next slide)

6 - CS7701 – Fall 2004 Buffering for a Single Long-Lived TCP Flow Now the sender has too many outstanding packets and must wait for ACKs. Meanwhile the router is emptying its buffer forwarding sent packets to the receiver. Buffer sized so the buffer runs out of packets to send just as the sender starts sending new packets. In this way, the buffer never goes empty – no underflow. This size is equal to the bandwidth-delay product. –A pictorial example is on the next slide; the math proving this is available in the paper.

7 - CS7701 – Fall 2004 Buffering for a Single Long-Lived TCP Flow Buffer fills and drops one packet One RTT later, sender realizes it’s missing an ACK and cuts its window size in half. Sender has too many outstanding packets and must wait for ACKs Buffer empties its queue Packets received from sender again just as the buffer becomes empty. TCP Flow through an underbuffered router TCP Flow through a rule-of-thumb buffered router TCP Flow through an overbuffered router

8 - CS7701 – Fall 2004 Buffering for a Single Long-Lived TCP Flow That’s where the rule-of-thumb comes from. But is it realistic? –Do we normally have 8 or less flows in a backbone link? No, obviously. Typical OC-48 link carries over 10,000 flows at one time. –Are all flows long-lasting? Many flows only last a few packets, never leave slow-start, and thus never reach their equilibrium sending rate.

9 - CS7701 – Fall 2004 Buffering for Many Long-Lived TCP Flows Synchronized flows – where the sawtooth patterns of the individual flows line up – are possible for small numbers of flows. –Drops will occur at the same time. Therefore we still need rule-of-thumb buffering to achieve perfect utilization.

10 - CS7701 – Fall 2004 Buffering for Many Long-Lived TCP Flows Simulation and real-world experiments has shown that synchronization is very rare above 500 flows – and backbone routers typically have 10,000+ This leads to some interesting results. –The peaks and troughs of the various sawtooth waves tend to cancel each other out, leaving a uniform peak with only slight variation. We can model the total window size as a bounded random process made up of the sum of the independent sawtooths. Central limit theorem states that the aggregate window size will converge to a gaussian process, as shown by the figure on the next slide.

11 - CS7701 – Fall 2004 Buffering for Many Long-Lived TCP Flows Because the probability distribution of the sum of the congestion windows of the flows (left, above), is a normal distribution, the number of packets in the queue itself has a normal distribution shifted by a constant (right, above). This is useful to know, since it means we now know the probability that any chosen buffer size will underflow and lose throughput.

12 - CS7701 – Fall 2004 Buffering for Many Long-Lived TCP Flows With some more probability math (omitted here for brevity), a utilization function is derived that gives a lower bound for utilization: Where (2Tp*C) is the number of outstanding bytes on the link (bandwidth- delay product), n is the number of concurrent flows passing through it at any given time, and B is the buffer size.

13 - CS7701 – Fall 2004 Buffering for Many Long-Lived TCP Flows Numerical examples of utilization, with 10,000 concurrent (mostly long) flows: Near-full utilization is seen with routers using buffers that are only 1% of the bandwidth-delay product. At 2%, near- perfect utilization is seen. As the number of concurrent flows increases, the utilization gets even better.

14 - CS7701 – Fall 2004 Buffering for Short Flows Many flows are not long-lived and never reach their equilibrium sending rate. Define a short flow as one that never leaves slow- start (typically a flow with fewer than 90 packets). –It is well-known that new short flows arrive according to a Poisson process (the time between the new flow arrivals is exponentially distributed). –Short flows will be modeled by bursts of packets (as they will exhibit this behavior during slow-start); the arrival of these bursts is also assumed (with theory) to be Poisson. This allows us to model the router buffer as a M/G/1 queue with a FIFO service discipline. Note that non-TCP packets (UDP, ICMP, etc.) are modeled as 1-packet short flows.

15 - CS7701 – Fall 2004 Buffering for Short Flows The average number of jobs in a M/G/1 queue is well-known. Interestingly, queues exhibiting this behavior are not dependent on the bandwidth of the link or the number of flows, only on the load of the link and the length of the flows. –Equations and math supporting these statements are available in the extended version of the paper. This is good because it means we need choose our buffer size based solely on the length of short flows on our network, not the speed of the network, propagation delay, or the number of flows.

16 - CS7701 – Fall 2004 Buffering for Short Flows Therefore, a backbone router needs the same amount of buffering for many (say, thousands) of short-lived flows as for a few. Slow-start also has no effect on our buffering needs (length only, not transmission rate). It gets better. –Experimental evidence shows that when there is a mix of short and long flows, the number of long flows ends up dictating the buffering requirement; the short flows have little effect and their quantity does not matter. –Moreover, the model explored in this paper assumes worst-case; theory and experimental evidence shows that short flows may exhibit behavior that limits their impact on buffering requirements even further.

17 - CS7701 – Fall 2004 Simulation Results Over 10,000 ns2 simulations, each simulating several minutes of network traffic through a router to verify the model over a range of possible settings. Other experiments on a real backbone router with real TCP sources (4 OC3 ports). Unfortunately, they have so far been unable to convince a network operator to test their results – until such a time their results cannot be proven for the general Internet.

18 - CS7701 – Fall 2004 Simulation Results – ns2, Long Flows For long-lived TCP flows, results as predicted once the number of flows is above about 250. Model holds over a wide range of settings provided there are a large number of flows, little or no synchronization, and the congestion window is above two (if less, flows encounter frequent timeouts and require more buffering).

19 - CS7701 – Fall 2004 Simulation Results – ns2, Long Flows If the buffer size is made very small, loss can increase. –Not necessarily a problem. Most flows deal with loss just fine; TCP uses it as feedback, after all. Applications which are sensitive to loss are usually more sensitive to queuing delays, which smaller buffers decreases. Goodput not really affected. Fairness decreases as buffers get smaller. –All flows’ RTTs decrease, so all flows send faster. This causes relative differences of sending rates to decrease.

20 - CS7701 – Fall 2004 Simulation Results – ns2, Short Flows For simulations, used the common metric for short flows: average flow completion time (AVFT). Found that the M/G/1 model closely matches the simulation results (as an upper bound). Simulation results verify that amount of buffering needed does not depend on the number of flows, bandwidth, or RTT, but only on the load of the link and length of the bursts.

21 - CS7701 – Fall 2004 Simulation Results – ns2, Mixed Flows Results show that long flows dominate. –General result holds for different flow length distributions if at least 10% of traffic is from long flows. Measurements on commercial networks indicate 90% of traffic is from long flows. At about 200 flows synchronization has all but disappeared and we are achieving high or perfect utilization. What’s more, AFCT for short flows is better than using the rule-of-thumb. Shorter flows complete faster because of less queuing delay.

22 - CS7701 – Fall 2004 Simulation Results – Router Short flow results match the model remarkably well. Long flows do too – the model predicts the utilization within the measurement accuracy of about +/- 0.1%.

23 - CS7701 – Fall 2004 Conclusion Router buffers are much larger than they need to be. Currently they are RTT*C (C = sending rate), when they should really be RTT*C/sqrt(n) (n = number of flows). Although this cannot be proven in a commercial setting until a network operator agrees to test it out (not likely), eventually router manufacturers will be forced to abandon the rule-of-thumb and use less RAM simply because of the costs and problems associated with putting so much RAM on a router. The authors hope that when this happens they will be proven correct.

24 - CS7701 – Fall 2004 What Next? Now = (Questions == True) ? Ask : Discuss;