LEDBAT++: Low priority TCP Congestion Control in Windows

Similar documents
Erratum: Evaluation of Different Decrease Schemes for LEDBAT Congestion Control

Less-than-Best-Effort capacity sharing over high BDP networks with LEDBAT

draft-johansson-rmcat-scream-cc

ADVANCED TOPICS FOR CONGESTION CONTROL

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

CS321: Computer Networks Congestion Control in TCP

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

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

TCP Congestion Control Beyond Bandwidth-Delay Product for Mobile Cellular Networks

A Survey on Quality of Service and Congestion Control

TCP SIAD: Congestion Control supporting Low Latency and High Speed

CMPE 257: Wireless and Mobile Networking

Performance Comparison of TFRC and TCP

Intended status: Experimental October 19, 2009 Expires: April 22, 2010

CS Networks and Distributed Systems. Lecture 10: Congestion Control

Computer Networking

ADVANCED COMPUTER NETWORKS

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Computer Networks. Course Reference Model. Topic. Congestion What s the hold up? Nature of Congestion. Nature of Congestion 1/5/2015.

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

Investigating the Use of Synchronized Clocks in TCP Congestion Control

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

RCRT:Rate-Controlled Reliable Transport Protocol for Wireless Sensor Networks

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

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

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

Mitigating Egregious ACK Delays in Cellular Data Networks by Eliminating TCP ACK Clocking

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

Internet Engineering Task Force (IETF) Request for Comments: Netflix G. Fairhurst University of Aberdeen December 2018

Communication Networks

CS644 Advanced Networks

TCP Congestion Control

Computer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am

Data Center TCP (DCTCP)

The Network Layer and Routers

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

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

CS268: Beyond TCP Congestion Control

Router s Queue Management

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

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

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

Flow and Congestion Control Marcos Vieira

Impact of transmission errors on TCP performance. Outline. Random Errors

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

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

Performance Analysis of TCP Variants

CS Transport. Outline. Window Flow Control. Window Flow Control

TCP: Transmission Control Protocol UDP: User Datagram Protocol TCP - 1

DualRTT: Enhancing TCP Performance During Delay Spikes

Design Issues in Traffic Management for the ATM UBR+ Service for TCP over Satellite Networks: Report II

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

CSC 4900 Computer Networks: Network Layer

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

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

Master s Thesis. TCP Congestion Control Mechanisms for Achieving Predictable Throughput

Performance Consequences of Partial RED Deployment

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

Chapter 24 Congestion Control and Quality of Service 24.1

Implementing stable TCP variants

Addressing the Challenges of Web Data Transport

CSCI-1680 Transport Layer III Congestion Control Strikes Back Rodrigo Fonseca

Lecture 14: Congestion Control"

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

Multiple unconnected networks

Transport Layer (Congestion Control)

Low Latency Low Loss Scalable throughput (L4S) and RACK an opportunity to remove HoL blocking from links

Queue Management. Last Wed: CongesDon Control. Today: Queue Management. Packet Queues

CS 268: Computer Networking

Tuning RED for Web Traffic

Congestion Collapse in the 1980s

Computer Networking Introduction

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

Transmission Control Protocol (TCP)

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

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

Congestion / Flow Control in TCP

Topic 4a Router Operation and Scheduling. Ch4: Network Layer: The Data Plane. Computer Networking: A Top Down Approach

Lecture 15: Datacenter TCP"

Cloud e Datacenter Networking

10 Reasons your WAN is Broken

Design and Performance Evaluation of High Efficient TCP for HBDP Networks

Bandwidth Allocation & TCP

Making TCP more Robust against Packet Reordering

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

Chapter III. congestion situation in Highspeed Networks

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

Lecture 14: Congestion Control"

Preprint. Until published, please cite as:

A transport-layer approach for achieving predictable throughput for Internet applications

cs/ee 143 Communication Networks

CS 268: Lecture 7 (Beyond TCP Congestion Control)

MEASURING PERFORMANCE OF VARIANTS OF TCP CONGESTION CONTROL PROTOCOLS

TCP conges+on control

Congestion Control in Datacenters. Ahmed Saeed

Chapter 4 Network Layer: The Data Plane

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

CS132/EECS148 - Instructor: Karim El Defrawy Midterm Spring 2013 Time: 1hour May 2nd, 2013

BicTCP Implemenation in Linux Kernels

Transcription:

LEDBAT++: Low priority TCP Congestion Control in Windows Praveen Balasubramanian pravb@microsoft.com

Background Software updates, telemetry, or error reporting Should not interfere with Skype call, interactive web browsing, etc. Four solutions to lower than best effort service: Delay based transport protocols Congestion window update algorithm designed to be less aggressive Application level solutions such as BITS, monitor network usage Network assisted solutions flag the packets as low priority In 2016, started exploring LEDBAT Easier to deploy and maintain than app layer alternatives e.g. BITS Versus waiting for hypothetical universal support in the network Literature survey and our own experiments found issues with LEDBAT as described in the RFC 2

LEDBAT (RFC 6817) Brief Recap Low Extra Delay Background Transport Minimize the impact of lower than best effort connections on the latency and bandwidth of other connections Compare measured delay with the base delay If delay is less than target, additive increase If delay is higher than target, additive decrease No strict requirements on slow start (with a suggestion to avoid) React to packet loss and ECN like standard TCP 3

Problems with LEDBAT One-way delay measurements are hard with TCP No standard clock frequency or synchronization Clock skew Latecomer advantage Reliance on inherent burstiness of network traffic to detect base delay Inter-LEDBAT fairness Proportional feedback uses both additive increases and decreases, stable queue but no fair sharing Carofiglio, G. et al. Rethinking the LEDBAT Protocol Somewhat vague recommendations regarding slow start Latency drift Impacts long running LEDBAT connections Low latency competition If bandwidth is large, queueing delay never exceeds the fixed target 4

Introducing LEDBAT++ LEDBAT++ comprises of the following Round trip latency measurements Slower than Reno cwnd increase with adaptive gain factor Multiplicative cwnd decrease with adaptive reduction factor Modified slow start Initial and periodic slowdown Part of Windows 10 since Anniversary Update Internal API currently in use by WER (Windows Error Reporting) and Windows Update Delivery Optimization Working on making the API and config public in future releases 5

Round trip latency Advantages Already available in TCP No need for clock synchronization Disadvantages Incorporates queuing delay in both directions Receiver delays and delayed ACKs Mitigations Erring on the side of higher latency estimation is acceptable Enable TCP timestamp option implicitly for LEDBAT connections Filter the RTT samples (minimum of the 4 most recent samples) Use a TARGET delay of 60 ms Larger than typical* server ACK delay (50ms) 100 msec consumes 2/3 rd of budget for 150 msec maximum acceptable delay for VoIP 6

Slower than Reno Reno On packet loss: W -= W/2 On packet acknowledgement: W += 1/W Introduce a reduction factor F: On packet loss: W -= W/2 On packet acknowledgement: W += 1/(F*W) Throughput of LEDBAT++ connection will be a fraction (1/SQRT(F)) of the throughput of regular TCP connection Based on experimentation we picked an adaptive scheme for F F = min (16, CEIL (2*TARGET/base)) 16 is a good tradeoff between responsiveness and performance Solves low latency competition problem 7

Multiplicative Decrease Carofiglio, G. et al Rethinking the Low Extra Delay Background Transport (LEDBAT) Protocol suggest multiplicative decrease Delay lower than target Delay larger than target Standard LEDBAT, per RTT Multiplicative decrease, per RTT W += Gain * (1 W += Gain delay/target) W -= Gain * (delay/target - 1) W += Gain Constant * W * (delay/target - 1) Only works when all connections measure same base delay, so Use constant value of 1 and cap the multiplicative decrease coefficient to be at least 0.5 Ensure that cwnd never decreases below 2 packets Solves the Inter-LEDBAT fairness problem 8

Modified slow start Skipping slow start results in really poor performance on long delay links Slower than Reno ramp up Apply the adaptive reduction factor F to the congestion window increases Limit the initial cwnd to 2 packets If queuing delay is larger than 3/4 ths of the TARGET, exit slow start Immediately move to the congestion avoidance phase Only apply the exit on excessive delay during the initial slow start Subsequent slow starts capped by recorded ssthresh 9

Initial and periodic slowdown Traffic is sustained for long periods Inaccurate base delay estimates Causes latency drift as well as the lack of inter-ledbat fairness Force gaps for measuring base delay, or slowdown periods slowdown is an interval during which the LEDBAT++ connection voluntarily reduces its traffic Upon entering slowdown, set ssthresh = cwnd, and reduce cwnd to 2 packets Keep CWND frozen at 2 packets for 2 RTT After 2 RTT, ramp up according to slow start until cwnd reaches ssthresh Initial slowdown 2*RTT after first slow start exit Periodic slowdown not more than 10% drop in throughput Measure duration of slowdown from entry to ramp up to ssthresh Schedule next slowdown 9 times this duration Solves the latency drift problem 10

Bandwidth sharing with normal priority traffic Blue: Standard TCP Purple: Short flows Red: LEDBAT++ Purple: Short flows 11

Reduced latency impact of LEDBAT++ Standard TCP LEDBAT++ 12

Handling latency drift Standard LEDBAT Mult. Decrease Mult. Decrease + slowdowns 13

Latecomer advantage & Inter-LEDBAT fairness Standard LEDBAT LEDBAT++ LEDBAT++ 14

Handling low latency competition Blue: Standard TCP Red: LEDBAT++, Fixed F=1 Blue: Standard TCP Red: LEDBAT++, adaptive F=16 15

Conclusion We found several shortcomings of LEDBAT as a solution for background connections LEDBAT++ is an attempt to overcome these problems Experiments show that LEDBAT++ addresses the shortcomings LEDBAT++ is already deployed and used on millions of systems Working on making API and knob public Working on a draft submission Should it be to iccrg or tcpm? 16

References and Q&A LEDBAT working group page: https://datatracker.ietf.org/wg/ledbat/charter/ Welzl, M., and D. Ros. A Survey of Lower-than-Best-Effort Transport Protocols, RFC 6297, June 2011. https://datatracker.ietf.org/doc/rfc6297/ Shalunov, S., Hazel, G., Iyengar, J. and M. Kuehlewind. Low Extra Delay Background Transport (LEDBAT). RFC 6817, December 2012. https://datatracker.ietf.org/doc/rfc6817/ Shalunov, S., Dunn, L., Gu, Y., Low, S., Rhee, I., Senger, S., Wydrowski, B., and L. Xu, "Design Space for a Bulk Transport Tool", Technical Report, Internet2 Transport Group, May 2005. Carofiglio, G., Muscariello, L., Rossi, D., and S. Valenti, "The quest for LEDBAT fairness", Proceedings of IEEE GLOBECOM 2010, December 2010. http://perso.telecom-paristech.fr/~drossi/paper/rossi10globecom-a.pdf Carofiglio, G., Muscariello, L., Rossi, D., Testa, C. and S. Valenti. Rethinking the Low Extra Delay Background Transport (LEDBAT) Protocol, Computer Networks, Volume 57, Issue 8, 4 June 2013, Pages 1838 1852. http://perso.telecom-paristech.fr/~drossi/paper/rossi13comnet.pdf Background Intelligent Transfer Service (BITS), Microsoft Developer Network, https://msdn.microsoft.com/enus/library/aa362708(v=vs.85).aspx Cisco. Understanding Delay in Packet Voice Networks. February 2006. http://www.cisco.com/c/en/us/support/docs/voice/voice-quality/5125-delay-details.html. Q&A