Congestion Control for High Bandwidth-Delay Product Networks

Similar documents
CS644 Advanced Networks

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

XCP: explicit Control Protocol

Congestion Control for High Bandwidth-delay Product Networks

CS 268: Lecture 7 (Beyond TCP Congestion Control)

CS268: Beyond TCP Congestion Control

One More Bit Is Enough

Congestion Control In the Network

ADVANCED TOPICS FOR CONGESTION CONTROL

Lecture 14: Congestion Control"

Internet Congestion Control for Future High Bandwidth-Delay Product Environments

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

In-network Resource Allocation (Scribed by Ambuj Ojha)

CS 268: Computer Networking

Improving XCP to Achieve Max-Min Fair Bandwidth Allocation

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

Congestion Control for High Bandwidth-Delay Product Networks

Transport Layer (Congestion Control)

TCP Congestion Control

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

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

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

Lecture 14: Congestion Control"

Reliable Transport II: TCP and Congestion Control

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

Oscillations and Buffer Overflows in Video Streaming under Non- Negligible Queuing Delay

A Relative Bandwidth Allocation Method Enabling Fast Convergence in XCP

P-XCP: A transport layer protocol for satellite IP networks

UNIVERSITY OF OSLO Department of Informatics A Linux implementation and analysis of the explicit Control Protocol (XCP) 24th May 2005

The Present and Future of Congestion Control. Mark Handley

Communication Networks

15-744: Computer Networking TCP

Congestion Control for High Bandwidth-Delay Product Networks

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

Principles of congestion control

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

Reliable Transport II: TCP and Congestion Control

CSE 123A Computer Networks

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

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

One More Bit Is Enough

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

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

Bandwidth Allocation & TCP

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

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

A Relative Bandwidth Allocation Method Enabling Fast Convergence in XCP

STUDIES ON THE PERFORMANCE IMPROVEMENT OF WINDOW ADJUSTMENT PROCEDURE IN HIGH BANDWIDTH DELAY PRODUCT NETWORK

One More Bit Is Enough

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

Congestion Avoidance and Control. Rohan Tabish and Zane Ma

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

Computer Network Fundamentals Spring Week 10 Congestion Control Andreas Terzis

Congestion Avoidance

Improving the Robustness of TCP to Non-Congestion Events

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

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

6.033 Computer System Engineering

Enabling Large Data Transfers on Dynamic, Very High-Speed Network Infrastructures

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

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

Computer Networking

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

TCP/IP over ATM using ABR, UBR, and GFR Services

Congestion control in TCP

RCP: Congestion Control to Make Flows Complete Quickly

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

Chapter III: Transport Layer

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

TCP on High-Speed Networks

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

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

Fall 2012: FCM 708 Bridge Foundation I

Advanced Computer Networks

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

TCP on High-Speed Networks

Lecture 14: Congestion Control

Computer Networking. Queue Management and Quality of Service (QOS)

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

Exercises TCP/IP Networking With Solutions

ECSE-6600: Internet Protocols Spring 2007, Exam 1 SOLUTIONS

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

Decoupling Congestion Control and Bandwidth Allocation Policy With Application to High Bandwidth-Delay Product Networks.

cs/ee 143 Communication Networks

Congestion Control in Communication Networks

Congestion Control in TCP

Towards Performance Evaluation of Rate Control Protocol in Satellite Networks

Flow and Congestion Control Marcos Vieira

On the Design of Load Factor based Congestion Control Protocols for Next-Generation Networks

On Network Dimensioning Approach for the Internet

Flow & Congestion Control

TCP SIAD: Congestion Control supporting Low Latency and High Speed

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

Lecture 21. Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov.

8. TCP Congestion Control

Confused, Timid, and Unstable: Picking a Video Streaming Rate is Hard

Real-Time Protocol (RTP)

CS551 Router Queue Management

Chapter III. congestion situation in Highspeed Networks

CS321: Computer Networks Congestion Control in TCP

Transcription:

Congestion Control for High Bandwidth-Delay Product Networks Presented by: Emad Shihab

Overview Introduce the problem of XCP (what the protocol achieves) (how the protocol achieves this)

The problem! TCP s AIMD policy limits its ability to acquire spare bandwidth to one packet per RTT (in congestion avoidance stage) Even in slow start, short TCP flows (web flows) cannot make use of high bandwidth links

The problem cont d Also, TCP cannot maintain stability over high-capacity or largedelay links TCP becomes oscillatory and prone to instability Since TCP s throughput is inversely proportional to RTT, fairness becomes a problem for flows with longer RTTs Solutions?...

The problem cont d Congestion Control for High Bandwidth-Delay Product Networks Shown analytically in [Low01] and via simulations 50 flows in both directions Buffer = BW x Delay RTT = 80 ms 50 flows in both directions Buffer = BW x Delay BW = 155 Mb/s Avg. TCP Utilization Avg. TCP Utilization Bottleneck Bandwidth (Mb/s) Round Trip Delay (sec)

XCP: explicit Control Protocol Main idea: Routers inform senders about degree of congestion at the bottleneck, not just if there is congestion or not Also, decouple congestion (utilization) control from fairness control In TCP, both utilization and fairness are controlled through the AIMD mechanism

XCP: explicit Control Protocol To control congestion, use MIMD for fast response To control fairness, use AIMD which converges to fairness

XCP: explicit Control Protocol cont d Advantages of doing this: Better utilization, use MIMD to achieve good utilization Better fairness, use AIMD to achieve fairness amongst flows Scalable, no per-flow info needed at router Better support for differentiated service Can distinguish between error losses and congestion losses Can detect misbehaving sources

XCP congestion header

XCP: Framework Senders maintain their cwnd and rtt and communicate this to routers Routers monitor input traffic and depending on the link, tell flows to increase or decrease cwnd More congested routers later in the path can further reduce the cwnd/feedback

XCP: Framework Feedback is divided between flows based on their cwnd and rtt so that the system converges to fairness Receivers return the feedback to the sender in an acknowledgment packet and senders update their cwnd accordingly

XCP: The efficiency controller (EC) The purpose of EC is to maximize utilization while minimizing drop rate and persistent queues The EC computes desired increase/decrease based on Φ = α*avg. RTT*spare BW β*pers. queue For system to be stable, 0 < α π/5.7 and β = α^2* 1.41 Q: Why do we need to consider queue here?

If Φ < 0, allocate it so that decrease in thr. of a flow is proportional to its current thr. XCP: The fairness controller (FC) You can notice, the EC does not deal with the issue of how we divide the feedback among packets. This is a fairness issue The FC relies on AIMD to achieve/converge fairness Follows a per packet policy that states: If Φ > 0, allocate it so that that increase in thr. of all flows is the same

XCP: The fairness controller (FC) cont d What if Φ ~ 0, then use bandwidth shuffling The idea is to simultaneously allocate and deallocate BW, such that total traffic does not change, yet thr. of each individual flow changes gradually to approach its fair share h= max(0, 10%*input - Φ ) h is called the shuffled traffic This equation ensures that every RTT 10% of traffic is redistributed according to AIMD

XCP: The fairness controller (FC) cont d To be able to apportion the feedback correctly, we need to estimate number of flows N=Σ pkt 1/(d*cwnd i /rtt i ) Now we need to calc. the per-packet feedback H_feeback = p i -n i

XCP: The fairness controller (FC) cont d When Φ > 0, then positive feedback is given by: p i = change in cwnd/ # of pkts router sees per d = thr. RTT / ((cwnd/s)/rtt) Where thr. is a const. given as thr. = agg. traffic rate / N = (h+ max(φ,0)) / N Therefore, p i = thr.*rtt^2*s i / cwnd i

XCP: The fairness controller (FC) cont d When Φ < 0, then negative feedback is given by: n i = change in cwnd / # of pkts router sees per d = Δcwnd / ((cwnd/s)/rtt) Here however, Δcwnd α cwnd (multiplicative dec.) In fact Δcwnd = thr. cwnd Where thr. is a const. given as thr. = agg. traffic decrease / N = (h + max(-φ,0)) / N Therefore, n i = thr.*rtt*s i

Efficiency when high BW and high Delay Utilization as a function of Bandwidth Utilization as a function of Delay Avg. Utilization Avg. Utilization Bottleneck Bandwidth (Mb/s) Round Trip Delay (sec)

XCP s response time Start 40 Flows Stop the 40 Flows Start 40 Flows Stop the 40 Flows

XCP s performance in presence of short web like flows Average Utilization Average Queue Drops

XCP s fairness compared with TCP Same RTT Different RTT Avg. Throughput Avg. Throughput Flow ID Flow ID (RTT is 40 ms ~ 330 ms)

XCP is efficient for large bandwidth and delay This is because it decouples utilization and fairness Uses MIMD for congestion control which can grab/release large bandwidth quickly Uses AIMD for fairness which converges to fair bandwidth allocation XCP also proved to be effective for short, web like flows

Questions or ideas? Ideas...suggestions...comments?