XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science

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

Responsive Yet Stable Traffic Engineering Srikanth Kandula Dina Katabi, Bruce Davie, and Anna Charny.
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.
CSIT560 Internet Infrastructure: Switches and Routers Active Queue Management Presented By: Gary Po, Henry Hui and Kenny Chong.
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.
Mathematical models of the Internet Frank Kelly Hood Fellowship Public Lecture University of Auckland 3 April 2012.
Router-assisted congestion control Lecture 8 CS 653, Fall 2010.
Selfish Behavior and Stability of the Internet: A Game-Theoretic Analysis of TCP Presented by Shariq Rizvi CS 294-4: Peer-to-Peer Systems.
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.
Congestion control principles Presentation by: Farhad Rad (Advanced computer Networks Lesson in
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
TCP Stability and Resource Allocation: Part II. Issues with TCP Round-trip bias Instability under large bandwidth-delay product Transient performance.
One More Bit Is Enough Yong Xia, RPI Lakshminarayanan Subramanian, UCB Ion Stoica, UCB Shivkumar Kalyanaraman, RPI SIGCOMM’05, August 22-26, 2005, Philadelphia,
Farsighted Congestion Controllers Milan Vojnović Microsoft Research Cambridge, United Kingdom Collaborators: Dinan Gunawardena (MSRC), Peter Key (MSRC),
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.
Congestion control in data centers
Control Theory in TCP Congestion Control and new “FAST” designs. Fernando Paganini and Zhikui Wang UCLA Electrical Engineering July Collaborators:
1 Minseok Kwon and Sonia Fahmy Department of Computer Sciences Purdue University {kwonm, All our slides and papers.
High speed TCP’s. Why high-speed TCP? Suppose that the bottleneck bandwidth is 10Gbps and RTT = 200ms. Bandwidth delay product is packets (1500.
Comparison between TCPWestwood and eXplicit Control Protocol (XCP) Jinsong Yang Shiva Navab CS218 Project - Fall 2003.
The Effect of Router Buffer Size on HighSpeed TCP Performance Dhiman Barman Joint work with Georgios Smaragdakis and Ibrahim Matta.
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
L13: Sharing in network systems Dina Katabi Spring Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans.
Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs.
Core Stateless Fair Queueing Stoica, Shanker and Zhang - SIGCOMM 98 Rigorous fair Queueing requires per flow state: too costly in high speed core routers.
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
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.
TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model CS 218 W 2003 Oct 29, 2003.
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
Korea Advanced Institute of Science and Technology Network Systems Lab. 1 Dual-resource TCP/AQM for processing-constrained networks INFOCOM 2006, Barcelona,
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley (UCL), C. Rohrs (MIT) – SIGCOMM’02 Presented by Cheng.
Murari Sridharan and Kun Tan (Collaborators: Jingmin Song, MSRA & Qian Zhang, HKUST.
Thoughts on the Evolution of TCP in the Internet (version 2) Sally Floyd ICIR Wednesday Lunch March 17,
The Macroscopic behavior of the TCP Congestion Avoidance Algorithm.
Scalable Laws for Stable Network Congestion Control Fernando Paganini UCLA Electrical Engineering IPAM Workshop, March Collaborators: Steven Low,
Explicit Allocation of Best-Effort Service Goal: Allocate different rates to different users during congestion Can charge different prices to different.
Murari Sridharan Windows TCP/IP Networking, Microsoft Corp. (Collaborators: Kun Tan, Jingmin Song, MSRA & Qian Zhang, HKUST)
TeXCP: Protecting Providers’ Networks from Unexpected Failures & Traffic Spikes Dina Katabi MIT - CSAIL nms.csail.mit.edu/~dina.
Analysis and Design of an Adaptive Virtual Queue (AVQ) Algorithm for AQM By Srisankar Kunniyur & R. Srikant Presented by Hareesh Pattipati.
An Analysis of AIMD Algorithm with Decreasing Increases Yunhong Gu, Xinwei Hong, and Robert L. Grossman National Center for Data Mining.
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.
Congestion Control for High Bandwidth-Delay Product Networks
CS 268: Lecture 6 Scott Shenker and Ion Stoica
Congestion control principles
Router-Assisted Congestion Control
TCP Congestion Control
TCP Congestion Control
TCP, XCP and Fair Queueing
CS268: Beyond TCP Congestion Control
HighSpeed TCP for Large Congestion Windows
Internet Congestion Control Research Group
OptIPuter Networking and Middleware
RAP: Rate Adaptation Protocol
Stability of Congestion Control Algorithms Using Control Theory with an application to XCP Ioannis Papadimitriou George Mavromatis.
TCP Congestion Control
TCP Congestion Control
Understanding Congestion Control Mohammad Alizadeh Fall 2018
Review of Internet Protocols Transport Layer
Presentation transcript:

XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science

Sharing the Internet Infrastructure Two Types of Requirements: 1.Efficiency: Use links to maximum capacity 2.Allocation: What is the share of each user? Fairness; Differential Bandwidth Allocation; Priority … Is fundamental  Much research in Congestion Control, QoS, DiffServ, Pricing … Is difficult because of Scale!

Traditionally, a single mechanism controls both Efficiency and Allocation Example: In TCP, it is Additive-Increase Multiplicative-Decrease (AIMD) XCP Approach: Decouple Efficiency and Allocation Controls 1.Find best mechanism to control aggregate traffic at a link to achieve efficient links utilization 2.Find best mechanism to shuffle the bandwidth in the aggregate traffic to converge to the desired allocation

Decoupling Efficiency Control from Allocation Control Sharing Internet Resources Show it via examples …

Congestion Control Example 1:

Congestion Control Example 1:

Queue Congestion Control Example 1:

Queue Congestion Control Example 1:

Queue Congestion Control Example 1:

Queue Congestion Control Example 1:

Queue Congestion! I should slow down! Congestion Control Example 1:

Congestion! I should slow down! Control the sources’ rates to get: Efficiency: good link utilization, small queues, few drops Fairness: Senders congested at same link get equal throughput The Congestion Control Problem

Traditional Approach TCP TCP couples Efficiency & Fairness Control drops at router [RED, REM, AVQ, …] TCP’s Throughput Drop Time TCP uses AIMD: No Drop: Increase by a constant increment (i.e., 1 packet/RTT) Drop: Halve throughput

Problems with Current Approaches: Good performance requires parameter tuning [RED, ARED, REM, PI-controller, AVQ, …] Inefficient as bandwidth or delay increases [Low02] Round Trip Delay (sec) TCP Utilization Bottleneck Bandwidth (Mb/s) TCP Utilization  Need to change congestion control because: Bandwidth is increasing (demands for it are increasing too!) making TCP more inefficient Delay is already a problem  Need to change congestion control because: Bandwidth is increasing (demands for it are increasing too!) making TCP more inefficient Delay is already a problem

Congestion Control is Inefficient Because: Congestion feedback is binary (i.e., drop or no-drop) and indifferent to the degree of congestion o As a result, TCP oscillates between over-utilizing the link and under-utilizing it Efficient congestion control requires Explicit feedback (I.e., routers tell senders the degree of congestion ) Efficient congestion control requires Explicit feedback (I.e., routers tell senders the degree of congestion ) Solution:

Answer: Per-flow state in routers  Doesn’t Scale! Unexpressive & Scalable Expressive & Scalable Unexpressive & Unscalable TCP, TFRC, Binomial, … Why Current Approaches Don’t Use Expressive Feedback?  Expressive & Unscalable In ATM: ERICA, Charny’s, OSU, … (almost none in the Internet) (Flow: packets from same sender)

Efficient link utilization needs expressive feedback In coupled systems, expressive feedback led to per-flow state (Unscalable!) Efficiency Problem: Solution: Use Decoupling Decoupling looks at efficiency as a problem about aggregate traffic Match aggregate traffic to link capacity and drain the queue Benefits: No need for per-flow information

Router computes a flow’s fair rate explicitly To make a decision, router needs state of all flows Unscalable Shuffle bandwidth in aggregate to converge to fair rates To make a decision, router needs state of this flow Put a flow’s state in its packets [Stoica] Scalable Fairness Control

XCP: An eXplicit Control Protocol 1.Efficiency 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 keeping any per-flow state How does XCP Work?

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

 =  d avg Spare -  Queue Theorem: System is stable (I.e., converges to efficiency) for any link bandwidth, delay, number of sources if: (Proof based on Nyquist Criterion) It Is Tricky … Efficiency Controller Fairness Controller No Parameter Tuning No Parameter Tuning 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 i : Round Trip Time of pkt i Cwnd i : Congestion Window in pkt i No Per-Flow State No Per-Flow State Windows change by  every d avg Traffic rate changes by every d avg Rate r(t) changes per time unit by

 =  d avg Spare -  Queue Theorem: System is stable (I.e., converges to efficiency) for any link bandwidth, delay, number of sources if: (Proof based on Nyquist Criterion) It Is Tricky … Efficiency Controller Fairness Controller No Parameter Tuning No Parameter Tuning 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 i : Round Trip Time of pkt i Cwnd i : Congestion Window in pkt i 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

Performance

Simulations Show XCP is Better Extensive Simulations Compared with TCP over DropTail, RED, REM, AVQ, CSFQ XCP: Better utilization Near-zero drops Fairer Efficient & robust to increase in bandwidth Efficient & robust to increase in delay

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 Utilization Round Trip Delay (sec) Utilization Utilization as a function of Delay

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

Time (sec) XCP is More Efficient than TCP RTT = 40ms, C = 100 Mbps Time (sec) XCP shows fast adaptation! 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 Round Trip DelaySame Round Trip Delay Throughput (RTT is from 40 ms to 330 ms )

XCP Summary XCP o Outperforms TCP o Efficient for any bandwidth o Efficient for any delay o Scalable Benefits of Decoupling o Efficient utilization becomes about aggregate traffic  No need for per-flow state o Stability analysis looks only at Efficiency Controller (independent of number of flows)

Decoupling Efficiency Control from Allocation Control Sharing Internet Resources

Differential Service Problem Control sources’ rates to get: Efficiency : o Good utilization, small queues, and few drops Differential Bandwidth Allocation [Kelly]): o Each user pays a price per unit time o Users congested at the same link obtain throughputs proportional to their respective prices Example 2:

Efficiency Controller Decoupling allows us to use XCP’s Efficiency Controller Modularization & Reuse

Allocation Controller Algorithm: o If  > 0  Divide  equally between flows If  < 0  Divide  between flows proportionally to their current rate/price Implementation: o Substitute the congestion window field by congestion window/price Round Trip Time Congestion Window Price Feedback Goal: o Converge to differential bandwidth allocation o Decoupling  Don’t have to worry about efficiency

Allocation Controller can use a new class of algorithms that converge to desired allocation but not to efficiency o Doesn’t work without decoupling! E.g., modifying TCP to “Increase by one packet & Decrease proportionally to rate/price.” drops too many packets Benefits of Decoupling

Performance Experiment: 3 sources transferring a 10 MB file each o Price 0 = 5 o Price 1 = 10 o Price 2 = 15 Result: Users share the link proportionally to their prices 2

Conclusion Decoupling Efficiency control from Allocation control is useful for resource management o Efficiency control is independent of varying parameters such as number of flows o Modularization & reuse of controllers o Allocation control does not care about utilization issues  Can use a new class of aggressive allocation algorithms Currently applying decoupling to guaranteed service, priority service, reaction over different time scale, …

Questions?