A report on a few steps in the evolution of congestion control. Sally Floyd June 10, 2002 IPAM Program in Large Scale Communication Networks

Similar documents
HighSpeed TCP for Large Congestion Windows draft-floyd-tcp-highspeed-00.txt

Congestion Control for High-Bandwidth-Delay-Product Networks: XCP vs. HighSpeed TCP and QuickStart

XCP: explicit Control Protocol

Adaptive RED: An Algorithm for Increasing the Robustness of RED s Active Queue Management or How I learned to stop worrying and love RED

Sally Floyd, Mark Handley, and Jitendra Padhye. Sept. 4-6, 2000

Implementation Experiments on HighSpeed and Parallel TCP

CS 356: Computer Network Architectures Lecture 19: Congestion Avoidance Chap. 6.4 and related papers. Xiaowei Yang

Reasons not to Parallelize TCP Connections for Fast Long-Distance Networks

Quick-Start for TCP and IP

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Communication Networks

CS644 Advanced Networks

Random Early Detection (RED) gateways. Sally Floyd CS 268: Computer Networks

One More Bit Is Enough

Reliable Transport II: TCP and Congestion Control

Reliable Transport II: TCP and Congestion Control

Equation-Based Congestion Control for Unicast Applications. Outline. Introduction. But don t we need TCP? TFRC Goals

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

Q23-5 In a network, the size of the receive window is 1 packet. Which of the follow-ing protocols is being used by the network?

CSE 123A Computer Networks

On the Deployment of AQM Algorithms in the Internet

Congestion control in TCP

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

8. TCP Congestion Control

Introduc)on to Computer Networks

Congestion Control for High Bandwidth-delay Product Networks

Analyzing the Receiver Window Modification Scheme of TCP Queues

Chapter 3 Transport Layer

A Survey of Recent Developments of TCP. Sally Floyd ACIRI (AT&T Center for Internet Research at ICSI) October 17, 2001

Chapter III: Transport Layer

WB-RTO: A Window-Based Retransmission Timeout. Ioannis Psaras, Vassilis Tsaoussidis Demokritos University of Thrace, Xanthi, Greece

Investigating the Use of Synchronized Clocks in TCP Congestion Control

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Performance Comparison of TFRC and TCP

Goals of Today s Lecture! Congestion Control! Course So Far.! Congestion Control Overview! It s Not Just The Sender & Receiver! Congestion is Natural!

Congestion Control. COSC 6590 Week 2 Presentation By Arjun Chopra, Kashif Ali and Mark Obsniuk

Impact of bandwidth-delay product and non-responsive flows on the performance of queue management schemes

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

CS268: Beyond TCP Congestion Control

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Congestion Control for High Bandwidth-delay Product Networks. Dina Katabi, Mark Handley, Charlie Rohrs

Computer Networking

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

Computer Network Fundamentals Spring Week 10 Congestion Control Andreas Terzis

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Transport Protocols for Data Center Communication. Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti

CUBIC. Qian HE (Steve) CS 577 Prof. Bob Kinicki

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

Open Box Protocol (OBP)

Bandwidth Allocation & TCP

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Flow and Congestion Control Marcos Vieira

Request for Comments: S. Floyd ICSI K. Ramakrishnan AT&T Labs Research June 2009

CPSC 826 Internetworking. Congestion Control Approaches Outline. Router-Based Congestion Control Approaches. Router-Based Approaches Papers

Studying Fairness of TCP Variants and UDP Traffic

TCP Congestion Control

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Chapter II. Protocols for High Speed Networks. 2.1 Need for alternative Protocols

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

CS321: Computer Networks Congestion Control in TCP

CS 268: Lecture 7 (Beyond TCP Congestion Control)

Appendix B. Standards-Track TCP Evaluation

Improving the Robustness of TCP to Non-Congestion Events

PERFORMANCE ANALYSIS OF HIGH-SPEED TRANSPORT CONTROL PROTOCOLS

The Present and Future of Congestion Control. Mark Handley

SharkFest 17 Europe. My TCP ain t your TCP. Simon Lindermann. Stack behavior back then and today. Miele & Cie KG.

Attaining the Promise and Avoiding the Pitfalls of TCP in the Datacenter. Glenn Judd Morgan Stanley

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

TCP on High-Speed Networks

UNIT IV -- TRANSPORT LAYER

15-744: Computer Networking. Overview. Queuing Disciplines. TCP & Routers. L-6 TCP & Routers

Tuning RED for Web Traffic

Improving XCP to Achieve Max-Min Fair Bandwidth Allocation

Differential Congestion Notification: Taming the Elephants

Congestion / Flow Control in TCP

ADVANCED TOPICS FOR CONGESTION CONTROL

Adding Acknowledgement Congestion Control to TCP draft-floyd-tcpm-ackcc-05.txt. Status of this Memo

TCP SIAD: Congestion Control supporting Low Latency and High Speed

Hybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks

Estimating Arrival Rates from the RED Packet Drop History

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca

CS 268: Computer Networking

Title Problems of TCP in High Bandwidth-Delay Networks Syed Nusrat JJT University, Rajasthan, India Abstract:

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

CSE 573S Protocols for Computer Networks (Spring 2005 Final Project)

Exercises TCP/IP Networking With Solutions

Brief Overview and Background

The Effects of Asymmetry on TCP Performance

RECENT advances in the modeling and analysis of TCP/IP networks have led to better understanding of AQM dynamics.

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10

Adding Acknowledgement Congestion Control to TCP draft-floyd-tcpm-ackcc-03a.txt. Status of this Memo

Fall 2012: FCM 708 Bridge Foundation I

The Controlled Delay (CoDel) AQM Approach to fighting bufferbloat

Lecture 9 Congestion Control: Part II. EECS 122 University of California Berkeley

Chapter 3 Transport Layer

CS3600 SYSTEMS AND NETWORKS

Performance of Competing High-Speed TCP Flows

Transcription:

A report on a few steps in the evolution of congestion control Sally Floyd June 10, 2002 IPAM Program in Large Scale Communication Networks 1

Topics: High-speed TCP. Faster Start-up? AQM: Adaptive RED Evaluation of AQM mechanisms. A proposal about models and simulations Other open questions? 2

Architectural sub-themes: A goal of incremental deployment in the current Internet. Steps must go in the fundamantally correct, long-term direction, not be short-term hacks. Robustness in heterogeneous environments valued over efficiency of performance in well-defined environments. A skepticism towards simple models. Learning from actual deployment is an invaluable step. The Internet will continue to be decentralized and fast-changing. 3

HighSpeed TCP: Joint work with Sylvia Ratnasamy and Scott Shenker. Additional investigations with Evandro de Souza and Deb Agarwal. URLs: http://www.icir.org/floyd/papers/draft-floyd-tcp-highspeed-00c.txt http://www.icir.org/floyd/papers/draft-floyd-tcp-slowstart-00b.txt 4

HighSpeed TCP: The problem. TCP s average congestion window is roughly packets. Maintaining an average cwnd of at least packets requires a packet loss/corruption rate of at most. Given 1500-byte packets and a 100 ms RTT, filling a 10 Gbps pipe would correspond to a congestion window of packets. At least 1.6 hours between packet drops. We can do better, even with only the current feedback from routers. 5

HighSpeed TCP: Is this a pressing problem? Nope. In practice, users do one of the following: Open up parallel TCP connections; or Use MulTCP (roughly like an aggregate of virtual TCP connections). However, we think it is possible to do much better, with: Better flexibility (no to configure); Better scaling; Better slow-start behavior; Competing more fairly with current TCP (for environments where TCP is able to use the available bandwidth). 6

100000 HighSpeed TCP: use a modified response function. (10^-7, 83000) 10000 Sending Rate S (in pkts/rtt) 1000 100 10 Regular TCP (S = 1.22/p^0.5) Highspeed TCP (S = 0.15/p^0.82) (15^-3, 31) 1 1e-10 1e-09 1e-08 1e-07 1e-06 1e-05 0.0001 0.001 0.01 0.1 Loss Rate P 7

HighSpeed TCP: Simulations in NS../test-all-tcpHighspeed in tcl/test. The parameters specifying the response function: Agent/TCP set low window 31 Agent/TCP set high window 83000 Agent/TCP set high p 0.0000001 The parameter specifying the decrease function at high p : Agent/TCP set high decrease 0.1 8

Highspeed TCP / Regular TCP, Sending Rates 200 150 100 50 HighSpeed TCP: Relative fairness. Relative Fairness (0.11/p^0.32) 0 1e-10 1e-09 1e-08 1e-07 1e-06 1e-05 0.0001 0.001 0.01 0.1 Loss Rate P 9

HighSpeed TCP: modifying slow-start: Slow-starting up to a window of 83,000 packets doesn t work well. Tens of thousands of packets dropped from one window of data. Slow recovery for the TCP connection. The answer: Agent/TCP set max ssthresh N During the initial slow-start, increase the congestion window by at most N packets in one RTT. 10

Faster Start-up? From a proposal by Amit Jain. No URL yet. 11

Faster Start-up: Larger Initial Sending Rate An IP option in the SYN packet gives the sender s desired initial sending rate. Routers on the path decrement a counter, and decrease the allowed initial sending rate, if necessary. If all routers on the path participated: The receiver tells the sender the allowed initial sending rate in the SYN/ACK packet, in the transport header. This is from a proposal by Amit Jain (from Netscaler). 12

Adaptive RED Joint work with Ramakrishna Gummadi and Scott Shenker. URL (with simulation scripts): http://www.cs.berkeley.edu/ ramki/adaptivered/ 13

The One-Page Primer on RED: 1 "p" Packet Drop Probability 0.8 0.6 0.4 0.2 0 maxthresh = 15 minthresh = 5 max_p = 0.1 0 5 10 15 20 25 30 35 40 45 50 Average Queue Size (in packets) For the average queue size:!#"%$'& ( )+*, - &+./!0"213&54 - &76 14

< < < < Adaptive RED: adapting 8 90:0; The original Adaptive RED proposal is from Feng et al., 1997. Adjusts 8 9#:0; to keep the average queue between 8 =?>A@CB and 8 90:D@EB. We have a new implementation of Adaptive RED, adapting 8 9#: ;. Automatic setting of F G as a function of the link bandwidth. 8 8 Automatic setting of =?> @CB and 90: @CB as a function of the target queue size. 15

120 Simulation with malignant oscillations: Average Queue Length 100 80 60 40 20 0 0 20 40 60 80 100 Time (in Seconds) RED, one-way long-lived traffic, H I =0.002. No web traffic, no reverse-path traffic. 15 Mbps link, 250 ms round-trip time. 90% link utilization. 16

120 Average Queue Length 100 80 60 40 20 0 0 20 40 60 80 100 Time (in Seconds) RED, mostly one-way long-lived traffic, J K =0.002. Web traffic and reverse-path traffic added. 15 Mbps link, 250 ms round-trip time. 17

120 Simulation with benign oscillations: Average Queue Length 100 80 60 40 20 0 0 20 40 60 80 100 Time (in Seconds) Adaptive RED, one-way long-lived traffic, L M =0.00027. No web traffic, no reverse-path traffic. 15 Mbps link, 250 ms round-trip time. 96.8% link utilization. 18

120 Average Queue Length 100 80 60 40 20 0 0 20 40 60 80 100 Time (in Seconds) Adaptive RED, mostly one-way long-lived traffic, N O =0.00027. Web traffic and reverse-path traffic added. 15 Mbps link, 250 ms round-trip time. 19

P P P The optimal average queue size? It depends on the desired tradeoff at the router between high utilization and low delay. It is heavily affected by traffic, topology, etc. We don t know the optimal average queue size. 20

100 Mostly long-lived traffic, Adaptive RED. Link Utilization 95 90 85 80 75 0 50 100 150 200 Queue Length "5_flows" "10_flows" "20_flows" "30_flows" "40_flows" "50_flows" "60_flows" "70_flows" "80_flows" "90_flows" "100_flows" Traffic includes some web mice, and reverse-path traffic.. 21

100 Mostly long-lived traffic, Drop Tail. Link Utilization 95 90 85 80 75 0 50 100 150 200 Queue Length "5_flows" "10_flows" "20_flows" "30_flows" "40_flows" "50_flows" "60_flows" "70_flows" "80_flows" "90_flows" "100_flows" We haven t plotted anything for fairness, our third metric. (RED and Drop Tail often differ in fairness.) 22

100 Long-lived and web traffic, Adaptive RED. Link Utilization 95 90 85 80 75 0 50 100 150 200 Queue Length "5_flows" "10_flows" "20_flows" "30_flows" "40_flows" "50_flows" "60_flows" "70_flows" "80_flows" "90_flows" "100_flows".. 23

Long-lived and web traffic, Adaptive RED, with reverse-path delay. 100 95 Link Utilization 90 85 80 75 0 50 100 150 200 Queue Length "5_flows" "10_flows" "20_flows" "30_flows" "40_flows" "50_flows" "60_flows" "70_flows" "80_flows" "90_flows" "100_flows" The reverse-path queue is configured the same as the forward-path queue: 24

An aside: creating worst-case oscillations with TCP and AQM: (from last night) Assume a time constant for average queue size estimator of Q (Q = 1 second, for Adaptive RED). Then the resonant frequency is roughly R Q seconds. sec. We want to choose the number of flows S so that the packet drop rate T gives a congestion control epoch of R Q seconds, so that the natural frequency of TCP matches the resonant frequency of the RED/ARED queue. Given link bandwidth U pkts/sec, RTT V seconds, S flows: The average bandwidth per flow is U V WXS pkts/rtt. 25

Facts about TCP: With packet drop rate, the average window is []\ ^_` pkts, and there are ab]z RTTs in a congestion control epoch. So we want ab]z c d]e _gf, or Z c hi\kjde _gf. So choose N so that: l f _Xm c hn\kj]e _3f, or m c l f a _poqhi\kjde r. e f l m c c Conjecture: For = 1 sec., = 0.1 sec., = 1000 pkts/sec (8Mbps for 1KB pkts), the worst case oscillations occur with [ts _usv\whxj ^y^ flows. 26

An Evaluation of AQM Joint work with Jitendra Padhye and Scott Shenker. No URL yet... 27

z z z z An Evaluation of AQM On many simulation scenarios, Adaptive RED, AVQ, Drop-Tail PI, RED, REM give similar performance. Drop-Tail and AVQ generally have higher packet drop rates. RED and Adaptive RED can have undesirable oscillations with very large round-trip times. REM and PI can perform poorly in scenarios with mostly web traffic, or with changes in the level of congestion. 28

1 band=10 del=20 tcp=80 web=80 rev=1 qib=0 ecn=0 0.9 0.8 Utilization 0.7 0.6 0.5 RED ARED 0.4 PI REM DropTail 0.3 0 5 10 15 20 25 30 Delay (milliseconds) Steady-state simulations, with some web traffic and reverse-path traffic, and 40-320 ms RTTs. Queue in packets. 29

Developing and Evaluating Models: Joint work with Eddie Kohler URL for one part: Building Models for Aggregate Traffic on Congested Links http://www.icir.org/models/ 30

{ { { { Models: A Proposal about Developing Models and Simulation Scenarios What measurement studies are needed for improving our models? E.g., where is the congestion in the Internet? What are the ranges of round-trip times? Is more needed on traffic generation? What about reverse-path congestion? How do we translate results from measurement studies into our models? How do we know what features are critical to include in our models? Can we do more to improve our shared understanding of best practices for models and for simulation scenarios? 31

Node 1 throughput (%) 0 20 40 60 80 100 Models: Why Models Matter? 1.0 1.2 1.4 1.6 1.8 2.0 round trip time ratio Flow 1 s throughput as a function of the ratio of the two flows round-trip times, in a scenario with one-way traffic and Drop-Tail queue management. [From On Phase Effects, 1992.] 32

Open questions? How do things in one part of the network (e.g., buffer sizes, flash crowds) affect behavior in other parts? How do we shed light on tradeoffs between delay and throughput? What are the inherent limitations of one bit of congestion feedback, if any? (E.g., in terms of how aggressive flows can be.) What are the inherent limitations of not making reservations, and not keeping per-flow state in the network? (E.g., in terms of how aggressive flows can be.) What will the tradeoffs be when we have very fast networks, often with very high available bandwidth, and flows could often send all of their data is a fraction of a RTT? 33