Buffer requirements for TCP: queueing theory & synchronization analysis Gaurav RainaDamon Wischik CambridgeUCL.

Slides:



Advertisements
Similar presentations
EE384Y: Packet Switch Architectures
Advertisements

Helping TCP Work at Gbps Cheng Jin the FAST project at Caltech
Michele Pagano – A Survey on TCP Performance Evaluation and Modeling 1 Department of Information Engineering University of Pisa Network Telecomunication.
Queueing theory and Internet congestion control Damon Wischik, UCL Mark Handley, UCL Gaurav Raina, Cambridge / IIT Madras.
Restricted Slow-Start for TCP William Allcock 1,2, Sanjay Hegde 3 and Rajkumar Kettimuthu 1,2 1 Argonne National Laboratory 2 The University of Chicago.
Router Buffer Sizing and Reliability Challenges in Multicast Aditya Akella 02/28.
Ahmed El-Hassany CISC856: CISC 856 TCP/IP and Upper Layer Protocols Slides adopted from: Injong Rhee, Lisong Xu.
Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
Modeling TCP Congestion Control Don Towsley UMass Amherst collaborators: T. Bu, W. Gong, C. Hollot, V. Misra.
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
Sizing Router Buffers Guido Appenzeller Isaac Keslassy Nick McKeown Stanford University.
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.
High Performance Networking with Little or No Buffers Yashar Ganjali High Performance Networking Group Stanford University
Lecture 9 Congestion Control: Part II EECS 122 University of California Berkeley.
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.
Modeling TCP in Small-Buffer Networks
Fluid-based Analysis of a Network of AQM Routers Supporting TCP Flows with an Application to RED Vishal Misra Wei-Bo Gong Don Towsley University of Massachusetts,
The Effect of Router Buffer Size on HighSpeed TCP Performance Dhiman Barman Joint work with Georgios Smaragdakis and Ibrahim Matta.
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.
Isaac Keslassy (Technion) Guido Appenzeller & Nick McKeown (Stanford)
Routers with Small Buffers Yashar Ganjali High Performance Networking Group Stanford University
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
UCB Improvements in Core-Stateless Fair Queueing (CSFQ) Ling Huang U.C. Berkeley cml.me.berkeley.edu/~hlion.
1 A State Feedback Control Approach to Stabilizing Queues for ECN- Enabled TCP Connections Yuan Gao and Jennifer Hou IEEE INFOCOM 2003, San Francisco,
New Designs for the Internet Why can’t I get higher throughput? Why is my online video jerky? How is capacity shared in the Internet?
Buffer requirements for TCP Damon Wischik DARPA grant W911NF
The teleology of Internet congestion control Damon Wischik, Computer Science, UCL.
CS144 An Introduction to Computer Networks
Queueing analysis of a feedback- controlled (TCP/IP) network Gaurav RainaDamon WischikMark Handley CambridgeUCLUCL.
Congestion models for bursty TCP traffic Damon Wischik + Mark Handley University College London DARPA grant W911NF
Understanding the Performance of TCP Pacing Amit Aggarwal, Stefan Savage, Thomas Anderson Department of Computer Science and Engineering University of.
Fluid-based Analysis of a Network of AQM Routers Supporting TCP Flows with an Application to RED Vishal Misra Wei-Bo Gong Don Towsley University of Massachusetts,
Queueing theory for TCP Damon Wischik University College London TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
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.
Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley (UCL), C. Rohrs (MIT) – SIGCOMM’02 Presented by Cheng.
Queueing theory for TCP Damon Wischik, UCL Gaurav Raina, Cambridge.
The history of the Internet 1974: First draft of TCP/IP “A protocol for packet network interconnection”, Vint Cerf and Robert Kahn 1983: ARPANET switches.
Lecture 9 – More TCP & Congestion Control
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
1 Time-scale Decomposition and Equivalent Rate Based Marking Yung Yi, Sanjay Shakkottai ECE Dept., UT Austin Supratim Deb.
New designs for Internet congestion control Damon Wischik (UCL)
Analysis of RED Goal: impact of RED on loss and delay of bursty (TCP) and less bursty or smooth (UDP) traffic RED eliminates loss bias against bursty traffic.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
TCP transfers over high latency/bandwidth networks & Grid DT Measurements session PFLDnet February 3- 4, 2003 CERN, Geneva, Switzerland Sylvain Ravot
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
Queueing theory for TCP Damon Wischik, UCL Gaurav Raina, Cambridge.
Queueing theory, control theory, & buffer sizing Damon Wischik DARPA grant W911NF
Congestion Control for High Bandwidth-Delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs Presented by Yufei Chen.
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.
Johns Hopkins university
Lecture 19 – TCP Performance
FAST TCP : From Theory to Experiments
CS640: Introduction to Computer Networks
TCP Throughput Modeling
Internet congestion control
Understanding Congestion Control Mohammad Alizadeh Fall 2018
Gaurav Raina Damon Wischik Mark Handley Cambridge UCL UCL
Presentation transcript:

Buffer requirements for TCP: queueing theory & synchronization analysis Gaurav RainaDamon Wischik CambridgeUCL

TCP if (seqno > _last_acked) { if (!_in_fast_recovery) { _last_acked = seqno; _dupacks = 0; inflate_window(); send_packets(now); _last_sent_time = now; return; } if (seqno < _recover) { uint32_t new_data = seqno - _last_acked; _last_acked = seqno; if (new_data < _cwnd) _cwnd -= new_data; else _cwnd=0; _cwnd += _mss; retransmit_packet(now); send_packets(now); return; } uint32_t flightsize = _highest_sent - seqno; _cwnd = min(_ssthresh, flightsize + _mss); _last_acked = seqno; _dupacks = 0; _in_fast_recovery = false; send_packets(now); return; } if (_in_fast_recovery) { _cwnd += _mss; send_packets(now); return; } _dupacks++; if (_dupacks!=3) { send_packets(now); return; } _ssthresh = max(_cwnd/2, (uint32_t)(2 * _mss)); retransmit_packet(now); _cwnd = _ssthresh + 3 * _mss; _in_fast_recovery = true; _recover = _highest_sent; } time [0-8 sec] traffic rate [0-100 kB/sec]

Motivation: buffer size Internet routers have buffers, to accomodate bursts in traffic. How big do the buffers need to be? –3 GByte? Rule of thumb is C*RTT—what Cisco does today –300 MByte? C*RTT/√N [Appenzeller, Keslassy, McKeown, 2004 ] –30 kByte? constant buffer size, independent of line rate Large buffers are unsustainable: –Data volumes double every 10 months –CPU speeds double every 18 months –Memory access speeds double every 10 years

Buffers & synchronization Desynchronized TCP flows: –aggregate traffic is smooth –small buffers are OK Synchronized TCP flows: –aggregate traffic is bursty –large buffers are needed + + = + + = aggregate traffic rate time individual flow rates

Network traffic model When there are many TCP flows, the average traffic rate x t varies smoothly, according to a differential equation [Misra, Gong, Towsley, 2000] –involving average round trip time RTT –and packet loss probability p t time aggregate traffic rate desynchronizedsynchronized

Network traffic model When there are many TCP flows, the average traffic rate x t varies smoothly, according to a differential equation [Misra, Gong, Towsley, 2000] –involving average round trip time RTT –and packet loss probability p t The packet loss probability p t satisfies a differential equation, which depends on buffer size: [Raina, W., 2005] –either for small buffers (max queueing delay « RTT) –or for large buffers (max queueing delay  RTT) time queue size

Analysis Write down differential equations –for average TCP traffic rate x t –for queue dynamics and loss prob p t taking account of buffer size Calculate –average link utilization –average queue occupancy/delay –extent of synchronization and consequent loss of utilization, and jitter

Small buffers [20-50 pkts] Large buffers [>50ms queue delay] low- bandwidth flows [window <5pkts] slightly synchronized; high utilization; low delay/jitter. desynchronized; high utilization; high delay, low jitter. high- bandwidth flows [window >10pkts] desynchronized; moderate utilization; low delay/jitter. severely synchronized; high utilization; high delay/jitter. Results There is a virtuous circle: desynchronization permits small buffers; small buffers induce desynchronization.

Illustration: 20 flows Standard TCP, single bottleneck link, no AQM service C=1.2 kpkt/sec, RTT=200 ms, #flows N=20 B=20 pkts (small buffer) B=54 pkts (intermediate buffer) B=240 pkts (large buffer)

Illustration: 200 flows Standard TCP, single bottleneck link, no AQM service C=12 kpkt/sec, RTT=200 ms, #flows N=200 B=20 pkts (small buffer) B=170 pkts (intermediate buffer) B=2,400 pkts (large buffer)

Illustration: 2000 flows Standard TCP, single bottleneck link, no AQM service C=120 kpkt/sec, RTT=200 ms, #flows N=2000 B=20 pkts (small buffer) B=537 pkts (intermediate buffer) B=24,000 pkts (large buffer)

Limitations/concerns Surely bottlenecks are at the access network, not the core network? –Unwise to rely on this! –The small-buffer theory works fine for as few as 20 flows Perhaps TCP is constrained by receiver window, not by congestion window? –Unwise to rely on this! Probably there are congestion-constrained flows which cause congestion –Would small buffers hurt flows that are constrained by receiver window? Not if they respond appropriately.

Further work These results have been partially validated (Internet2 & Level3) Full validation needs –goodly amount of traffic –full measurement kit –ability to control buffer size Alternatives to TCP –should pace packet injections –can achieve desynchronization at all window sizes

Small buffers As line rate increases –queue size fluctuates more and more rapidly so p t depends only on the instantaneous utilization at time t can model packet arrivals by a Poisson process of rate x t [Cao+Ramanan 2002] –queue size distribution depends only on link utilization, not on line rate queue size [0-15 pkt] time [0-5 sec] queueing delay 19 ms queueing delay 1.9 ms queueing delay 0.19 ms

Large buffers (queueing delay 200 ms) When Nx t <C the queue size is small (C=line rate) No packet drops, so TCP increases x t queue size [0-160 pkt] time [0-10 sec]

Large buffers (queueing delay 200 ms) When Nx t <C the queue size is small (C=line rate) No packet drops, so TCP increases x t When Nx t >C the queue fills up and packets begin to get dropped queue size [0-160 pkt] time [0-10 sec]

Large buffers (queueing delay 200 ms) When Nx t <C the queue size is small (C=line rate) No packet drops, so TCP increases x t When Nx t >C the queue fills up and packets begin to get dropped TCP may ‘overshoot’, leading to synchronization queue size [0-160 pkt] time [0-10 sec]

Large buffers (queueing delay 200 ms) Drop probability depends on both average traffic rate x t and queue size q t queue size [0-160 pkt] time [0-10 sec]

System summary x t = average traffic rate at time t p t = packet loss probability at time t C = line rate B = buffer size RTT = round trip time N=# flows TCP traffic model Small buffer queueing model (though this is sensitive to traffic statistics) Large buffer queueing model

Stability/instability analysis For some values of RTT*C/N, the dynamical system is stable For others it is unstable and there are oscillations (i.e. the flows are partially synchronized) When it is unstable, we can calculate the amplitude of the oscillations time traffic rate Nx t /C

Instability plot traffic intensity Nx/C log 10 of pkt loss probability p TCP throughput equation queue equation extent of oscillations in Nx/C

Instability plot RTT*C/N=4 pkts RTT*C/N=20 pkts RTT*C/N=100 pkts traffic intensity Nx/C log 10 of pkt loss probability p

Alternative buffer-sizing rules Intermediate buffers buffer = bandwidth*delay / sqrt(#flows) or Large buffers, no AQM buffer = bandwidth*delay Large buffers with RED buffer=bandwidth*delay*{¼,1,4} Small buffers, no AQM buffer={10,20,50} pkts Small buffers, no AQM, ScalableTCP buffer={50,1000} pkts