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

Similar documents
Equation-Based Congestion Control for Unicast Applications

Equation-Based Congestion Control for Unicast Applications: the Extended Version

Equation-Based Congestion Control for Unicast Applications

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

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

CS644 Advanced Networks

An Evaluation of Adaptive Multimedia Communication from a QoS Perspective

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED

Equation-based Congestion Control

Performance Comparison of TFRC and TCP

Congestion Control. Tom Anderson

MaVIS: Media-aware Video Streaming Mechanism

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Computer Networking

The Present and Future of Congestion Control. Mark Handley

Streaming Video and TCP-Friendly Congestion Control

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

Dynamic Behavior of Slowly-Responsive Congestion Control Algorithms

CS 268: Lecture 7 (Beyond TCP Congestion Control)

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

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

15-744: Computer Networking TCP

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

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

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

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

Lecture 14: Congestion Control"

Video Streaming in Wireless Environments

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

Congestion Control for High Bandwidth-delay Product Networks

Implementing stable TCP variants

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

Congestion Avoidance

Promoting the Use of End-to-End Congestion Control in the Internet

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

Lecture 14: Congestion Control"

Media-Aware Rate Control

Increase-Decrease Congestion Control for Real-time Streaming: Scalability

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

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

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

Reliable Transport II: TCP and Congestion Control

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

! Network bandwidth shared by all users! Given routing, how to allocate bandwidth. " efficiency " fairness " stability. !

CSE/EE 461 Lecture 16 TCP Congestion Control. TCP Congestion Control

CS4700/CS5700 Fundamentals of Computer Networks

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

Equation-Based Congestion Control

Performance Analysis of TCP Variants

This Lecture: Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control

Studying Fairness of TCP Variants and UDP Traffic

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Extending Equation-based Congestion Control to Multicast Applications

RED behavior with different packet sizes

Promoting the Use of End-to-End Congestion Control in the Internet

Congestion Collapse in the 1980s

Reliable Transport II: TCP and Congestion Control

CS321: Computer Networks Congestion Control in TCP

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

Congestion Avoidance and Control. Rohan Tabish and Zane Ma

CS 268: Computer Networking. This Lecture: Congestion Control

Lecture 4: Congestion Control

Flow Control. Flow control problem. Other considerations. Where?

CS3600 SYSTEMS AND NETWORKS

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

A Report on Some Developments in TCP Congestion Control Mechanisms

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

Placement of Function in a Best Effort World. Course Logistics Update

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

Congestion Control in a High Speed Radio Environment

Chapter III. congestion situation in Highspeed Networks

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

Comparison of different congestion control mechanisms: TFRC and TCP(a, b) ENSC835 and CMPT885 project team 15 Jian(Jason) Wen and Yi Zheng

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

Transport Layer (Congestion Control)

Addressing the Challenges of Web Data Transport

TEAR: TCP emulation at receivers flow control for multimedia streaming

PERFORMANCE COMPARISON OF THE DIFFERENT STREAMS IN A TCP BOTTLENECK LINK IN THE PRESENCE OF BACKGROUND TRAFFIC IN A DATA CENTER

XCP: explicit Control Protocol

CSE 123A Computer Networks

CS Networks and Distributed Systems. Lecture 10: Congestion Control

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

cs/ee 143 Communication Networks

Appendix B. Standards-Track TCP Evaluation

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

Communication Networks

Understanding TCP Parallelization. Qiang Fu. TCP Performance Issues TCP Enhancements TCP Parallelization (research areas of interest)

AN IMPROVED STEP IN MULTICAST CONGESTION CONTROL OF COMPUTER NETWORKS

On TCP-friendly Video Transfer

TCP-friendly SIMD Congestion Control and Its Convergence Behavior Λ

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

UNIT IV -- TRANSPORT LAYER

The Variation in RTT of Smooth TCP

Transmission Control Protocol (TCP)

Improving the Robustness of TCP to Non-Congestion Events

Flow and Congestion Control Marcos Vieira

CS268: Beyond TCP Congestion Control

A New TCP-Friendly Rate Control Algorithm for Scalable Video Streams.

Transcription:

Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley AT&T Center for Internet Research (ACIRI) Jitendra Padhye Umass Amherst Jorg Widmer International Computer Science Institute (ICSI) Proceedings of ACM SIGCOMM, 2000 Introduction TCP Dominant on Internet Needed for stability AIMD Window-based Bulk-data applications fine with TCP But real-time find window fluctuations annoying Equation-based congestion control to the rescue! Smooth the rate (Note, class-based isolation beyond this paper) But don t we need TCP? Practical Primary threat are from unresponsive flows + Choose UDP over TCP Give others protocol so they have something! Theoretical Internet does not require reduction by ½ + Other rates have been 7/8 (DECbit) Even fairness to TCP doesn t require this Needs some control to avoid high sending rate during congestion Guiding Basics for Equation-Based Protocol Determine maximum acceptable sending rate Function of loss event rate Round-trip time If competing with TCP (like Internet) should use TCP response equation during steady state There has been related work (see later sections) but still far away from deployable protocol This work presents one such protocol TFRC TFRC Goals Want reliable and as quick as possible? Use TCP Slowly changing rate? Use TFRC (ms. vs. s.) Tackle tough issues in equation-based Responsiveness to persistent congestion Avoiding unnecessary oscillations Avoiding unnecessary noise Robustness over wide-range of time scales Loss-event rate is a key component! Multicast If all receivers change rates a lot, never can scale 1

Foundations of Equation-Based Congestion Control TCP-Friendly Flow In steady-state, uses no more bandwidth than conformant TCP running under same conditions One formulation: s packet size R Round Trip Time p loss event rate t RTO TCP timeout (Results from analytic model of TCP) TFRC Basics Maintain steady sending rate, but still respond to congestion Refrain from aggressively seeking out bandwidth Increase rate slowly Do not respond as rapidly Slow response to one loss event Halve rate when multiple loss events Receiver reports to sender once per RTT If it has received packet If no report for awhile, sender reduces rate Protocol Overview Compute p (at receiver) Compute R (at sender) RTO and s are easy (like TCP and fixed) Computations could be split up many ways Multicast would favor fat receivers has receiver only compute p and send it to sender Next: Sender functionality Receiver functionality Sender Functionality Computing RTT Sender time-stamps data packets Smooth with exponentially weighted avg Echoed back by receiver Computing RTO From TCP: RTO = RTT + 4 * RTT var But only matters when loss rate very high So, use: RTO = 4 * R When receive p, calculate new rate T Adjust application rate, as appropriate Receiver Functionality Compute loss event rate, p Longer means subject to less noise Shorter means respond to congestion After much testing : Loss event rateinstead of packet loss rate + Multiple packets may be one event Should track smoothly when steady loss rate Should respond strongly when multiple loss events Different methods: Dynamic History Window, EWMA Loss Interval, Average Loss Interval 2

Computing Loss Event Rate Average Weighted Loss Intervals Dynamic History Window Window of packets Even at steady state as packets arrive and leave window, added noise could change rate Exponentially Weighted Moving Average Count packets between loss events Hard to adjust weights correctly Average Loss Interval Weighted average of packets between loss events over last n intervals The winner! (Comparison not in paper here) Loss Interval Computation Illustration of Average Loss Interval w i = 1 for 1 <= I <= n/2 w i = 1 (I n/2) / (n/2 + 1) 1, 1, 1, 1, 0.8, 0.6, 0.4, 0.2 Rate depends upon n n = 8 works well during increase in congestion (Later section validates) Have not investigated relative weights History discounting for sudden decreases in congestion Interval s 0 is a lot larger Can speed up Loss event rate, p, is inverse of loss interval Instability from RTT Variance Inter-packet time varies with RTT Fluctuations when RTT changes Improving Stability Take square root of current RTT (M is sqrt of average) 3

Slowstart TCP slowstart can no more than double congestion bottleneck 2 packets for each ack Rate-based could more than double Actual RTTs getting larger as congestion but measured RTTs too slow Have receiver send arrival rate T i+1 = min(2t i, 2T recv ) Will limit it to double cong bwidth Loss occurs, terminate slowstart Loss intervals? Set to ½ of rate for all Fill in normally as progress Mechanics (done) Discussion of features Loss Fraction vs. Loss Event Fraction Obvious is packets lost/packets received But different TCP s respond to multiple losses in one window differently + Tahoe, Reno, Sack all halve window + New Reno reduces it twice Use loss event fraction to ignore multiple drops within one RTT Previous work shows two rates are within 10% for steady state queues But DropTail queues are bursty Increasing the Transmission Rate What if T new is a lot bigger than T old? May want to dampen the increase amount Typically, only increase 0.14 packets / RTT History discounting provides 0.22 packets / RTT Theoretical limit on increase A is number of packets in interval, w is weight So no need to dampen more Response to Persistent Congestion To be smooth, TFRC does not respond as fast as does TCP to congestion TFRC requires 4-8 RTTs to reduce by ½ Balanced by milder increase in sending rate 0.14 packets per RTT rather than 1 Does respond, so will avoid congestion collapse (Me, but about response to bursty traffic?) Response to Quiescent Senders Assume sender sending at maximum rate Like TCP But if sender stops, and later has data to send the previous estimated rate, T, may be too high Solution: if sender stops, receiver stops feedback Sender ½ rate every 2 RTTs (Me, what about just a reduced rate that is significantly less than T? May happen for coarse level MM apps) 4

Simulation Implementation + Internet + Dummynet Simulation Results (NS) co-exist with many kinds of TCP traffic SACK, Reno, NewReno Lots of flows works well in isolation Or few flows Many network conditions TFRC vs. TCP, DropTail TFRC vs. TCP, RED Mean TCP throughput (want 1.0) Fair (?) Even more fair Not fair for small windows (Me bursty traffic with many flows?) Fair Overall, but what about Variance? CoV of Flows (Std Dev / Mean) Variance increases with loss rate, flows A fairness measure Average of 10 runs less fair for high loss rates (above typical) Same w/tahoe and Reno, SACK does better timer granularity is better with SACK 5

Individual Throughputs over Time Equivalence at Different Timescale Compare two flows Number between 0 and 1 (equation (4)) Cases Long duration flows in background On-Off flows in background.15 second interval (about multimedia sensitivity) Smoother rate from TFRC Equivalence for Long Duration Single bottleneck 32 flows 15 Mbps link Monitor 1 flow 95% confidence interval Results hold over Broad range of timescales Simulation + Fairness and Smoothness (CoV) (done) + Long Duration (done) + On-Off flows Implementation Performance with On-Off Flows Equivalence with TCP with Background Traffic 50 150 On/Off UDP flows On 1 second, off 2 seconds (mean) Send at 500 kbps rate Monitor TCP, Monitor TFRC At high loss rates, less equivalent (40% more, less) (Me, room for improvement) 6

CoV with Background Traffic Effect on Queue Dynamics TFRC rate has less variance, especially at high loss rates 40 flows, staggered start times TCP (top) has 4.9% loss and TFRC (bottom) has 3.5% loss 99% utilization for all (Bursty?) Basically, look the same Extensive tests, w/red and background look the same Simulation (done) Implementation + Internet Implementation Results on Internet Microwave T1 OC3 Cable modem Dialup modem Generally fair (See tech report for details) London to Berkeley TCP Equivalence over Internet 3 TCP flows, 1 TFRC flow slightly lower bandwidth but smoother Typical loss rates.1% to 5% 7

CoV over Internet TFRC unfair to TCP when When flows have one packet per RTT TFRC can get far more than its fair share Due to conservative clock (500ms) in FreeBSD? Some TCP variants are buggy Linux vs. Solaris (Me, a neat project) Real-world Phase Effect (?) Testing the Loss Predictor How effective do X intervals predict immediate future loss rate? Related Work TCP Emulation At Receiver (TEAR) Compute window at receiver, convert to rate Rate Adaptation Protocol (RAP) AIMD approach No slow start, no timeout Other equation based One ties with MPEG (application) One TFRCP direct comparison But not just great prediction but reaction, too Issues for Multicast Congestion Control Still feedback every RTT Must change to aggregate or hierarchical Or lowest transmission rate Slowstart especially problematic as needs very timely feedback Synchronized clocks needed so receivers can determine RTT in scalable manner Conclusions gives TCP-fair allocation of bandwidth over wide range of environments smoother than TCP Evaluated over wide range of network conditions 8

Future Work What is some retransmission? How to divide up T What if some extra repair information? How to divide up T? Duplex TFRC? ECN and TFRC? Evaluation of Science? Category of Paper Science Evaluation (1-10)? Space devoted to Experiments? 9