TCP SIAD: Congestion Control supporting Low Latency and High Speed

Similar documents
TCP LoLa Toward Low Latency and High Throughput Congestion Control

ADVANCED TOPICS FOR CONGESTION CONTROL

Model-based Measurements Of Network Loss

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

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

Preprint. Until published, please cite as:

TCP modifications for Congestion Exposure

One More Bit Is Enough

TCP Modifications for Congestion Exposure

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

CS 268: Lecture 7 (Beyond TCP Congestion Control)

CS644 Advanced Networks

15-744: Computer Networking TCP

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

Computer Networking

Transport Layer (Congestion Control)

Implementation and Evaluation of Coupled Congestion Control for Multipath TCP

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

CSE 123A Computer Networks

Congestion Collapse in the 1980s

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

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

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

Advanced Congestion Control (Hosts)

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

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

TCP modifications for Congestion Exposure

CS268: Beyond TCP Congestion Control

Chapter III: Transport Layer

CS4700/CS5700 Fundamentals of Computer Networks

Chapter 3 Transport Layer

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

Erratum: Evaluation of Different Decrease Schemes for LEDBAT Congestion Control

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Performance Comparison of TFRC and TCP

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

CS 268: Computer Networking

TCP Congestion Control

TCP Congestion Control

Bandwidth Allocation & TCP

CS3600 SYSTEMS AND NETWORKS

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

Congestion Control for High Bandwidth-delay Product Networks

Lecture 14: Congestion Control"

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

Operating Systems and Networks. Network Lecture 10: Congestion Control. Adrian Perrig Network Security Group ETH Zürich

Where we are in the Course. Topic. Nature of Congestion. Nature of Congestion (3) Nature of Congestion (2) Operating Systems and Networks

Router s Queue Management

TCP Congestion Control

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

EXPERIENCES EVALUATING DCTCP. Lawrence Brakmo, Boris Burkov, Greg Leclercq and Murat Mugan Facebook

A Bottleneck and Target Bandwidth Estimates-Based Congestion Control Algorithm for High BDP Networks

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

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

cs/ee 143 Communication Networks

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

CUBIC: A New TCP-Friendly High-Speed TCP Variant

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

CS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018

Lecture 15: Transport Layer Congestion Control

Flow and Congestion Control Marcos Vieira

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

Activity-Based Congestion Management for Fair Bandwidth Sharing in Trusted Packet Networks

Transmission Control Protocol (TCP)

Computer Networking Introduction

Congestion Control In the Network

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

TCP on High-Speed Networks

Mid Term Exam Results

Chapter 6 Congestion Control and Resource Allocation

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

image 3.8 KB Figure 1.6: Example Web Page

TCP Congestion Control. Lecture 16. Outline. TCP Congestion Control. Additive Increase / Multiplicative Decrease (AIMD)

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

Performance Analysis of TCP Variants

Congestion / Flow Control in TCP

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

Reliable Transport II: TCP and Congestion Control

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

Congestion Control for High Bandwidth-Delay Product Networks

TCP Westwood: Efficient Transport for High-speed wired/wireless Networks

CS321: Computer Networks Congestion Control in TCP

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

Chapter 3 Transport Layer

Networked Systems and Services, Fall 2018 Chapter 3

SharkFest'17 US. Understanding Throughput & TCP Windows. A Walk-Through of the Factors that can limit TCP Throughput Performance

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

CSC 4900 Computer Networks: TCP

Internet Networking recitation #10 TCP New Reno Vs. Reno

COMP/ELEC 429/556 Introduction to Computer Networks

Principles of congestion control

IKR SimLib-QEMU: TCP Simulations Integrating Virtual Machines

Chapter 3 Transport Layer

BBR Congestion Control: IETF 100 Update: BBR in shallow buffers

Fall 2012: FCM 708 Bridge Foundation I

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

Congestion Avoidance

Improving TCP Performance over Wireless Networks using Loss Predictors

Delay-based AIMD congestion control

Transcription:

TCP SIAD: Congestion Control supporting Low Latency and High Speed Mirja Kühlewind <mirja.kuehelwind@tik.ee.ethz.ch> IETF91 Honolulu ICCRG Nov 11, 2014

Outline Current Research Challenges Scalability in large BDP networks Low Latency Support In the Internet Per-User Fairness based on Congestion Policing TCP SIAD: Algorithm Design Scalable Increase Adaptive Decrease Evaluation Comparison in Single Flow Scenario Capacity Sharing Conclusion and Outlook 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 2

Scalability TCP NewReno is limited by theoretical limits of the network bit error rate B p = 1 RTT 3 2p needs long time to allocate new capacity e.g. to raise from 5 to 10 Gbit/s with RTT 100ms and 1500 bytes packets more than 1h! Most proposed schemes scale much better but still depend on the BDP! Congestion control should provide a fixed feedback rate independent of the link BDP allocate quickly newly available bandwidth (under changing network conditions) 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 5

Low Latency Support Today s Internet is mainly optimized for high through-put and low loss rates Large buffers needed to provide sufficient space for TCP congestion control (worst case: BDP) Link underutilization standing queue Enable operators to configure small buffers and keep utilization high! Congestion control (cannot change the buffer configuration but) should keep the link utilization high even if small buffers are configured avoid a standing queue by emptying the buffers at every decrease 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 6

Per-User Congestion Policing TCP-friendliness should not be a requirement for congestion control Fairness should be enforce on a long-term per-user (not instantaneous per-flow) basis E.g. based on (Ingress) congestion policing using Congestion Exposure (ConEx) It s okay to grab a larger share of the capacity (for a limited time) if needed Congestion control should provide an configuration knob to influence the amount of congestion 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 7

TCP SIAD: Design Goals High Link Utilization independent of network buffer sizes Avoid Standing Queue/Minimize Average Delay (however, still loss-based) Speed-up for Bandwidth Allocation (under changing network conditions) Fixed Feedback Rate independent of bandwidth (when self-congested) Configurable Aggressiveness (when competing with other traffic) can be used by a higher layer control loop to impact the capacity share at the cost of higher congestion, e.g. for applications that need a minimum rate 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 8

Additive Increase Multiplicative Decrease Exponential Increase (Slow Start) cwnd = cwnd + 1 [per ACK] Additive Increase (Congestion Avoidance) cwnd = cwnd + α [per ACK] cwnd for TPC NewReno: α = 1 Multiplicative Decrease (Fast Recovery) cwnd = β cwnd [on congestion event] for TCP NewReno: β = 0.5 congestion window: cwnd [pkts] 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 9

Scalable Increase Adaptive Decrease (SIAD) buffer size of one BDP smaller buffer Adaptive Decrease adapts decrease factor β to queue size Scalable Increase recalculates α to realize fixed feedback rate 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 10

Algorithm Design: SIAD Scalable Increase (SI) to receive the congestion feedback with a constant rate of Num RTT RTTs α = incthresh ssthresh Num RTT, 1 < α < ssthresh Adaptive Decrease (AD) to empty queue without causing underutilization or a standing queue cwnd RTT min RTT Curr cwnd max 1, cwnd 2 [on congestion notification] 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 11

Algorithm Design: Further Components Additional Decreases during congestion epoch to drain the queue Fast Increase phase above Linear Increment threshold incthresh to quickly allocate new bandwidth Trend calculation of cwnd max to improve convergence 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 12

Scalable Increase (1) 1. Adapt cwnd as congestion event occurred about one RTT ago cwnd max = cwnd cwnd 2 cwnd 3 incthresh ssthresh Num RTT α 2 α if α < cwnd cwnd ssthresh if cwnd insthresh α = cwnd 2 if cwnd insthresh α = 1 2. Trend calculation trend = cwnd max prev_cwnd max if cwnd > incthresh else prev_cwnd max : maximum congestion window of previous congestion event 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 13

Scalable Increase (2) 3. Linear Increment threshold incthresh = cwnd max + trend, incthresh ssthresh 4. Adaption of α α = ssthresh: incthresh: Num RTT : incthresh ssthresh Num RTT, 1 < α < ssthresh Slow Start threshold (= congestion window after reduction) Linear Increment threshold (see previous slide) configuration parameter for number of RTT between two congestion events 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 14

Scalable Increase (3) Linear Increment phase cwnd = cwnd + α cwnd [per ACK] Fast Increase phase (if cwnd incthresh) 1. Reset increase factor α to 1 2. Double increase factor α per RTT α = α + α cwnd, cwnd α 2 [per ACK] 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 15

Adaptive Decrease (1) Backlogged packets in queue (see Vegas, Compound, H-TCP...) Adaptive Decrease q = RTT t RTT min RTT(t) β = RTT min RTT curr cwnd cwnd β cwnd max 1, cwnd 2 [on congestion] only drains queue if all competing flow are synchronized 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 16

Adaptive Decrease (2) Additional Decrease (if minimum RTT cannot be observed after one RTT) 1. cwnd = RTT min RTT curr ssthresh 1 2. cwnd cwnd max(red, α new ) red = cwnd 1 Num RTT dec_cnt α new = incthresh cwnd Num RTT dec cnt 1 dec_cnt: number of additional decrease that have already been performed 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 17

Simulation Setup Event-driven network simulator IKR SimLib with integration for virtual machines IKR VMSimInt (http://www.ikr.uni-stuttgart.de/ikrsimlib/download/) Implementation in Linux kernel 3.5.7 (default Num RTT = 20) 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 18

TCP SIAD s Congestion Window Development 0.5 BDP buffering 10 Mbit/s 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 19

Single Flow on 10 Mbit/s link TCP SIAD always fully utilizes link + has average queue fill of 0.5 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 20

Single Flow with 0.5 BDP buffering TCP SIAD induces fixed feedback rate independent of link bandwidth 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 21

TCP SIAD s Capacity Sharing 20 Mbit/s, 0.5 BDP buffer 10 Mbit/s, 1 BDP buffer 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 22

Conclusion and Outlook TCP SIAD provides high link utilization with small buffer and standing queue avoidance configurable fixed feedback rate Allows network operators to configure small buffers (or low marking thresholds) and maintain high utilization! Next TCP SIAD and ECN SimpleSIAD Higher layer control loop for e.g. real-time video 11/11/2014 M. Kühlewind - TCP SIAD @ IETF91 Honolulu ICCRG 23