Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

Slides:



Advertisements
Similar presentations
Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in.
Advertisements

Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
CS 4700 / CS 5700 Network Fundamentals
One More Bit Is Enough Yong Xia, RPI Lakshmi Subramanian, UCB Ion Stoica, UCB Shiv Kalyanaraman, RPI SIGCOMM’ 05, Philadelphia, PA 08 / 23 / 2005.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
Congestion Control: TCP & DC-TCP Swarun Kumar With Slides From: Prof. Katabi, Alizadeh et al.
CS 268: Lecture 7 (Beyond TCP Congestion Control) Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University.
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
CS268: Beyond TCP Congestion Control Ion Stoica February 9, 2004.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
One More Bit Is Enough Yong Xia, RPI Lakshminarayanan Subramanian, UCB Ion Stoica, UCB Shivkumar Kalyanaraman, RPI SIGCOMM’05, August 22-26, 2005, Philadelphia,
An Implementation and Experimental Study of the eXplicit Control Protocol (XCP) Yongguang Zhang and Tom Henderson INFOCOMM 2005 Presenter - Bob Kinicki.
Congestion Control for High Bandwidth-Delay Product Networks Dina Katabi, Mark Handley and Charlie Rohrs SIGCOMM2002 Pittsburgh Presenter – Bob Kinicki.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
1 Congestion Control 2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley,
1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for.
High speed TCP’s. Why high-speed TCP? Suppose that the bottleneck bandwidth is 10Gbps and RTT = 200ms. Bandwidth delay product is packets (1500.
EE689 Lecture 5 Review of last lecture More on HPF RED.
Week 9 TCP9-1 Week 9 TCP 3 outline r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management.
Comparison between TCPWestwood and eXplicit Control Protocol (XCP) Jinsong Yang Shiva Navab CS218 Project - Fall 2003.
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
Data Communication and Networks
Transport Layer3-1 Data Communication and Networks Lecture 8 Congestion Control October 28, 2004.
Transport Layer Congestion control. Transport Layer 3-2 Approaches towards congestion control End-to-end congestion control: r no explicit feedback.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
Performance and Robustness Testing of Explicit-Rate ABR Flow Control Schemes Milan Zoranovic Carey Williamson October 26, 1999.
Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs.
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
UCB Improvements in Core-Stateless Fair Queueing (CSFQ) Ling Huang U.C. Berkeley cml.me.berkeley.edu/~hlion.
1 A State Feedback Control Approach to Stabilizing Queues for ECN- Enabled TCP Connections Yuan Gao and Jennifer Hou IEEE INFOCOM 2003, San Francisco,
CS268: Beyond TCP Congestion Control Kevin Lai February 4, 2003.
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
CS 268: Computer Networking L-6 Router Congestion Control.
Advance Computer Networking L-6 TCP & Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan.
U Innsbruck Informatik - 1 CADPC/PTP in a nutshell Michael Welzl
Contents Causes and cost of congestion Three examples How to handle congestion End-to-end Network-assisted TCP congestion control ATM ABR congestion control.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley (UCL), C. Rohrs (MIT) – SIGCOMM’02 Presented by Cheng.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
1 John Magee 20 February 2014 CS 280: Transport Layer: Congestion Control Concepts, TCP Congestion Control Most slides adapted from Kurose and Ross, Computer.
CS-1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
Explicit Allocation of Best-Effort Service Goal: Allocate different rates to different users during congestion Can charge different prices to different.
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
TeXCP: Protecting Providers’ Networks from Unexpected Failures & Traffic Spikes Dina Katabi MIT - CSAIL nms.csail.mit.edu/~dina.
Congestion Control for High Bandwidth-Delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs Presented by Yufei Chen.
1 Flow & Congestion Control Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
Approaches towards congestion control
Congestion Control for High Bandwidth-Delay Product Networks
Introduction to Congestion Control
CS 268: Lecture 6 Scott Shenker and Ion Stoica
Router-Assisted Congestion Control
TCP Congestion Control
Advance Computer Networking
TCP, XCP and Fair Queueing
CS268: Beyond TCP Congestion Control
October 1st, 2013 CS-1652 Jack Lange University of Pittsburgh
TCP Congestion Control
Understanding Congestion Control Mohammad Alizadeh Fall 2018
Chapter 3 outline 3.1 Transport-layer services
CS-1652 Congestion Control Jack Lange University of Pittsburgh
Transport Layer: Congestion Control
October 4th, 2011 CS-1652 Jack Lange University of Pittsburgh
Presentation transcript:

Router-assisted congestion control Lecture 8 CS 653, Fall 2010

TCP congestion control performs poorly as bandwidth or delay increases Round Trip Delay (sec) Avg. TCP Utilization Bottleneck Bandwidth (Mb/s) Avg. TCP Utilization Shown analytically in [Low01] and via simulations Because TCP lacks fast response Spare bandwidth is available  TCP increases by 1 pkt/RTT even if spare bandwidth is huge When a TCP starts, it increases exponentially  Too many drops  Flows ramp up by 1 pkt/RTT, taking forever to grab the large bandwidth Because TCP lacks fast response Spare bandwidth is available  TCP increases by 1 pkt/RTT even if spare bandwidth is huge When a TCP starts, it increases exponentially  Too many drops  Flows ramp up by 1 pkt/RTT, taking forever to grab the large bandwidth 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

Proposed Solution: Decouple Congestion Control from Fairness High Utilization; Small Queues; Few Drops Bandwidth Allocation Policy

Proposed Solution: Decouple Congestion Control from Fairness Example: In TCP, Additive-Increase Multiplicative- Decrease (AIMD) controls both Coupled because a single mechanism controls both How does decoupling solve the problem? 1.To control congestion: use MIMD which shows fast response 2.To control fairness: use AIMD which converges to fairness

Characteristics ofSolution 1.Improved Congestion Control (in high bandwidth- delay & conventional environments): Small queues Almost no drops 2.Improved Fairness Flexible bandwidth allocation: min-max fairness, proportional fairness, differential bandwidth allocation,… 3.Scalable (no per-flow state)

XCP: An eXplicit Control Protocol 1. Congestion Controller 2. Fairness Controller

Feedback Round Trip Time Congestion Window Congestion Header Feedback Round Trip Time Congestion Window How does XCP Work? Feedback = packet

Round Trip Time Congestion Window Feedback = packet How does XCP Work?

Congestion Window = Congestion Window + Feedback Routers compute feedback without any per-flow state How does XCP Work? XCP extends ECN and CSFQ

How Does an XCP Router Compute the Feedback? Congestion Controller Fairness Controller Goal: Divides  between flows to converge to fairness Looks at a flow’s state in Congestion Header Algorithm: If  > 0  Divide  equally between flows If  < 0  Divide  between flows proportionally to their current rates MIMD AIMD Goal: Matches input traffic to link capacity & drains the queue Looks at aggregate traffic & queue Algorithm: Aggregate traffic changes by   ~ Spare Bandwidth  ~ - Queue Size So,  =  d avg Spare -  Queue  Congestion Controller Fairness Controller

 =  d avg Spare -  Queue Theorem: System converges to optimal utilization (i.e., stable) for any link bandwidth, delay, number of sources if: (Proof based on Nyquist Criterion) Getting the devil out of the details … Congestion Controller Fairness Controller Algorithm: If  > 0  Divide  equally between flows If  < 0  Divide  between flows proportionally to their current rates Need to estimate number of flows N RTT pkt : Round Trip Time in header Cwnd pkt : Congestion Window in header T: Counting Interval No Per-Flow State No Per-Flow State

Implementation Implementation uses few multiplications & additions per packet Practical! XCP can co-exist with TCP and can be deployed gradually Gradual Deployment Liars? Policing agents at edges of the network or statistical monitoring Easier to detect than in TCP

Performance

Bottleneck S1S1 S2S2 R 1, R 2, …, R n SnSn Subset of Results Similar behavior over:

XCP Remains Efficient as Bandwidth or Delay Increases Bottleneck Bandwidth (Mb/s) Utilization as a function of Bandwidth Avg. Utilization Round Trip Delay (sec) Avg. Utilization Utilization as a function of Delay

Avg. Utilization XCP Remains Efficient as Bandwidth or Delay Increases Bottleneck Bandwidth (Mb/s)Round Trip Delay (sec) Utilization as a function of Delay XCP increases proportionally to spare bandwidth  and  chosen to make XCP robust to delay Utilization as a function of Bandwidth

XCP Shows Faster Response than TCP XCP shows fast response! Start 40 Flows Stop the 40 Flows

XCP Deals Well with Short Web-Like Flows Arrivals of Short Flows/sec AverageUtilization AverageQueue Drops

XCP is Fairer than TCP Flow ID Different RTT Same RTT Avg. Throughput Flow ID Avg. Throughput (RTT is 40 ms 330 ms )

XCP Summary  XCP  Outperforms TCP  Efficient for any bandwidth  Efficient for any delay  Scalable  Benefits of Decoupling  Use MIMD for congestion control which can grab/release large bandwidth quickly  Use AIMD for fairness which converges to fair bandwidth allocation

XCP Pros and Cons  Long-lived flows: Works well  Convergence to fair share rates, high link utilization, small queue, low loss  Mix of flow lengths: Deviates from processor sharing  Non-trivial convergence time  Flow durations longer

ATM ABR congestion control ABR: available bit rate:  “Elastic service”  If sender’s path “underloaded”:  sender should use available bandwidth  If sender’s path congested:  sender throttled to minimum guaranteed rate RM (resource management) cells:  Sent by sender, interspersed with data cells  Bits in RM cell set by switches (“network-assisted”)  NI bit: no increase in rate (mild congestion)  CI bit: congestion indication  RM cells returned to sender by receiver, with bits intact

ATM ABR congestion control  Two-byte ER (explicit rate) field in RM cell  congested switch may lower ER value in cell  sender’ send rate thus minimum supportable rate on path  EFCI bit in data cells: set to 1 in congested switch  if data cell preceding RM cell has EFCI set, sender sets CI bit in returned RM cell

ATM ERICA Switch Algorithm  ERICA: Explicit rate indication for congestion avoidance goals:  Utilization: allocate all available capacity to ABR flows  Queueing delay: keep queue small  Fairness: max-min “sought only after utilization achieved” (decoupled from utilization?)  Stability, ie reaches steady-state, and robustness, ie graceful degradation, when no steady-state

ERICA: Setting explicit rate (ER)  Initialization  MaxAllocPrev = MaxAllocCur = FairShare  End of avg’ing interval  Total ABR Cap. = Link Cap. - VBR Cap.  Target ABR Cap. = Fraction*Tot. ABR Cap.  Z = ABR Input rate  FairShare = Target ABR Cap. / # Active VCs  Goto Initialization  During congestion  VCShare = VCRate/Z  If (Z > 1+ ± ) ER = max(FairShare, VCShare)  Else ER = max(MaxAllocPrev, VCShare)  MaxAllocCur = max(MaxAllocCur, ER)  If (ER > FairShare and VCRate < FairShare) ER = FairShare

ABR vs. XCP or RCP?  Similarities?  Differences?