Understanding Congestion Control Mohammad Alizadeh Fall 2018

Slides:



Advertisements
Similar presentations
Helping TCP Work at Gbps Cheng Jin the FAST project at Caltech
Advertisements

RED Enhancement Algorithms By Alina Naimark. Presented Approaches Flow Random Early Drop - FRED By Dong Lin and Robert Morris Sabilized Random Early Drop.
Restless bandits and congestion control Mark Handley, Costin Raiciu, Damon Wischik UCL.
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.
Active Queue Management: Theory, Experiment and Implementation Vishal Misra Dept. of Computer Science Columbia University in the City of New York.
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.
5/17/20151 Adaptive RED: An Algorithm for Increasing the Robustness of RED’s Active Queue Management or How I learned to stop worrying and love RED Presented.
Mohammad Alizadeh Adel Javanmard and Balaji Prabhakar Stanford University Analysis of DCTCP:Analysis of DCTCP: Stability, Convergence, and FairnessStability,
Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
Modeling TCP Congestion Control Don Towsley UMass Amherst collaborators: T. Bu, W. Gong, C. Hollot, V. Misra.
Ion Stoica, Scott Shenker, and Hui Zhang SIGCOMM’98, Vancouver, August 1998 subsequently IEEE/ACM Transactions on Networking 11(1), 2003, pp Presented.
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.
Resource pricing and the evolution of congestion control By R. J. Gibbens and F. P. Kelly.
Farsighted Congestion Controllers Milan Vojnović Microsoft Research Cambridge, United Kingdom Collaborators: Dinan Gunawardena (MSRC), Peter Key (MSRC),
Control Theory in TCP Congestion Control and new “FAST” designs. Fernando Paganini and Zhikui Wang UCLA Electrical Engineering July Collaborators:
Active Queue Management. Fundamental problem: Queues and TCP Queues –Queues are to absorb bursts of packets. –They are required for statistical multiplexing.
Lecture 9. Unconstrained Optimization Need to maximize a function f(x), where x is a scalar or a vector x = (x 1, x 2 ) f(x) = -x x 2 2 f(x) = -(x-a)
AQM for Congestion Control1 A Study of Active Queue Management for Congestion Control Victor Firoiu Marty Borden.
Comparing flow-oblivious and flow-aware adaptive routing Sara Oueslati and Jim Roberts France Telecom R&D CISS 2006 Princeton March 2006.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
6/16/20151 On Designing Improved Controllers for AQM Routers Supporting TCP flows By C.V Hollot, Vishal Mishra, Don Towsley and Wei-Bo Gong Presented by.
Network Bandwidth Allocation (and Stability) In Three Acts.
Fluid-based Analysis of a Network of AQM Routers Supporting TCP Flows with an Application to RED Vishal Misra Wei-Bo Gong Don Towsley University of Massachusetts,
ACN: AVQ1 Analysis and Design of an Adaptive Virtual Queue (AVQ) Algorithm for Active Queue Managment Srisankar Kunniyur and R. Srikant SIGCOMM’01 San.
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
Rethinking Internet Traffic Management: From Multiple Decompositions to a Practical Protocol Jiayue He Princeton University Joint work with Martin Suchara,
Lecture 5: Congestion Control l Challenge: how do we efficiently share network resources among billions of hosts? n Last time: TCP n This time: Alternative.
Presented by Anshul Kantawala 1 Anshul Kantawala FAST TCP: From Theory to Experiments C. Jin, D. Wei, S. H. Low, G. Buhrmaster, J. Bunn, D. H. Choe, R.
Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs.
Multipath Protocol for Delay-Sensitive Traffic Jennifer Rexford Princeton University Joint work with Umar Javed, Martin Suchara, and Jiayue He
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,
DaVinci: Dynamically Adaptive Virtual Networks for a Customized Internet Jennifer Rexford Princeton University With Jiayue He, Rui Zhang-Shen, Ying Li,
TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model CS 218 W 2003 Oct 29, 2003.
Fluid-based Analysis of a Network of AQM Routers Supporting TCP Flows with an Application to RED Vishal Misra Wei-Bo Gong Don Towsley University of Massachusetts,
Advanced Computer Networking
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
Congestion Control in CSMA-Based Networks with Inconsistent Channel State V. Gambiroza and E. Knightly Rice Networks Group
Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) S. Adlakha (UCLA), J. Doyle (Caltech), K. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang.
Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley (UCL), C. Rohrs (MIT) – SIGCOMM’02 Presented by Cheng.
DaVinci: Dynamically Adaptive Virtual Networks for a Customized Internet Jiayue He, Rui Zhang-Shen, Ying Li, Cheng-Yen Lee, Jennifer Rexford, and Mung.
Active Queue Management in Internet and Wireless Networks X. Deng, S. Yi, G. Kesidis and C. R. Das The Pennsylvania State University Stabilized queue size.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
Analysis and Design of an Adaptive Virtual Queue (AVQ) Algorithm for AQM By Srisankar Kunniyur & R. Srikant Presented by Hareesh Pattipati.
Real-time Transport for Assured Forwarding: An Architecture for both Unicast and Multicast Applications By Ashraf Matrawy and Ioannis Lambadaris From Carleton.
1 Transport Bandwidth Allocation 3/29/2012. Admin. r Exam 1 m Max: 65 m Avg: 52 r Any questions on programming assignment 2 2.
1 Network Transport Layer: TCP Analysis and BW Allocation Framework Y. Richard Yang 3/30/2016.
Congestion Control for High Bandwidth-Delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs Presented by Yufei Chen.
Congestion Control and AQM
CS 268: Lecture 6 Scott Shenker and Ion Stoica
Congestion control principles
Router-Assisted Congestion Control
TCP Congestion Control
TCP Congestion Control
Columbia University in the city of New York
TCP, XCP and Fair Queueing
Packet implementation: discretization
FAST TCP : From Theory to Experiments
Advanced Computer Networks
Title: An Adaptive Queue Management Method for Congestion Avoidance in TCP/IP Networks Presented By: Frank Posluszny Vishal Phirke Matt Hartling 12/31/2018.
Stability of Congestion Control Algorithms Using Control Theory with an application to XCP Ioannis Papadimitriou George Mavromatis.
TCP Modeling CMPT 765/408: Computer Networks Simon Fraser University
TCP Congestion Control
TCP Congestion Control
Adaptive RED: An Algorithm for Increasing the Robustness of RED’s Active Queue Management or How I learned to stop worrying and love RED Presented by:
Presentation transcript:

Understanding Congestion Control Mohammad Alizadeh Fall 2018 6.829 Computer Networks Understanding Congestion Control Mohammad Alizadeh Fall 2018

What Problem is TCP really solving? Max-min rate allocation? 1 Mb/s x1 = ? x2 = ? x3 = ? x1 x2 x3 Max-min 1/3 TCP Assuming equal RTTs

What Problem is TCP really solving? Max-min rate allocation? 1 Mb/s 1 Mb/s x1 = ? x3 = ? x2 = ? x1 x2 x3 Max-min 1/2 TCP ~0.4 ~0.6

What Problem is TCP really solving? 1 Mb/s 1 Mb/s 1 Mb/s x1 = ? x3 = ? x2 = ? What is the difference between these links?

What Problem is TCP really solving?

Network Utility Maximization TCP is solving an optimization problem! Spurred a lot of research on analyzing and designing network protocols from the lens of optimization

Is My Protocol “Stable”? Example: ns2 simulations, 50 AIMD TCP sources, capacity = 9000 pkt, RED AQM Credit: Low et al. “Dynamics of TCP/RED and a Scalable Control”, INFOCOM 2002.

Control Theoretic Analysis of TCP Model TCP as a dynamical system (“fluid model”) Analyze stability properties via control theory

Outline for Rest of Lecture Network Utility Maximization (NUM) Distributed Algorithm for NUM TCP’s NUM Problem TCP Fluid Models

Utility Function The benefit derived from sending at rate x Good model for elastic flows e.g. file downloads The benefit derived from sending at rate x We’ll assume U(.) is increasing & concave

Examples of Concave Utility Functions

Elastic vs. Inelastic Flows utility, U(x) rate, x utility, U(x) rate, x elastic traffic (e.g., file download) delay-tolerant, no intrinsic rate prefers to share inelastic traffic (e.g., real-time video) delay-sensitive, intrinsic rate prefers to randomize Credit: Frank Kelly (University of Cambridge)

Network Utility Maximization (NUM) c1 = 1 Mb/s c2 = 1 Mb/s x1 x3 x2 maximize log(x1) + log(x2) + log(x3) subject to: x1 + x2 ≤ 1 x1 + x3 ≤ 1

Network Utility Maximization (NUM) c1 = 1 Mb/s c2 = 1 Mb/s x1 x3 x2 maximize log(x1) + log(x2) + log(x3) subject to: x1 x2 x3 1 1 0 1 1 0 1

RLxN NUM: General Case maximize subject to: routing matrix N flows L links maximize subject to: x1 x2 xN c1 c2 cL 0 1 0 1 1 RLxN routing matrix 1 0 1 0 0 0 0 1 1 0 If Ui(.) strictly concave, the problem has unique solution

NUM Example 1: Throughput Maximization c1 = 1 Mb/s c2 = 1 Mb/s x1 x3 x2 maximize x1 + x2 + x3 subject to: x1 + x2 ≤ 1 x1 + x3 ≤ 1 x1★ = 0 Mb/s x2★ = 1 Mb/s x3★ = 1 Mb/s

NUM Example 2: Proportional Fairness c1 = 1 Mb/s c2 = 1 Mb/s x1 x3 x2 maximize log(x1) + log(x2) + log(x3) subject to: x1 + x2 ≤ 1 x1 + x3 ≤ 1 x1★ = 1/3 Mb/s x2★ = 2/3 Mb/s x3★ = 2/3 Mb/s

NUM Example 3: “α-fairness” c1 = 1 Mb/s c2 = 1 Mb/s x1 x3 x2 α ≥ 0 (a constant) maximize subject to: x1 + x2 ≤ 1 x1 + x3 ≤ 1 alpha Objective α = 0 Thrput Maximization α → 1 Proportional Fairness α →∞ Max-min Fairness

Outline The Network Utility Maximization (NUM) Problem Distributed Algorithm for NUM TCP’s NUM Problem TCP Fluid Models

Proportional Fairness Example c1 = 1 Mb/s c2 = 1 Mb/s x1 x3 x2 maximize log(x1) + log(x2) + log(x3) subject to: x1 + x2 ≤ 1 x1 + x3 ≤ 1

Distributed Algorithm c1 = 1 Mb/s c2 = 1 Mb/s x1 p1 p2 x3 x2 pl = “congestion price” for link l price per unit of bandwidth (pl ≥ 0) qi = total price for source i Sum of prices on source i’s path

This is done independently at each source. The Source Problem c1 = 1 Mb/s c2 = 1 Mb/s x1 p1 p2 x3 x2 Pick rate xi to maximize utility: log(xi) – qi xi benefit cost xi = 1/qi This is done independently at each source.

The Network Problem p1 p2 pl(t+1) = [ pl(t) + κ(yl(t) – cl) ]+ c1 = 1 Mb/s c2 = 1 Mb/s x1 p1 p2 x3 x2 Adapt link prices periodically based on congestion pl(t+1) = [ pl(t) + κ(yl(t) – cl) ]+ total traffic at link l [.]+ = max(., 0)

This is done independently at each link. The Network Problem c1 = 1 Mb/s c2 = 1 Mb/s x1 p1 p2 x3 x2 Adapt link prices periodically based on congestion pl(t+1) = [ pl(t) + κ(yl(t) – cl) ]+ This is done independently at each link.

Putting it All Together c1 = 1 Mb/s c2 = 1 Mb/s x1 p1 p2 x3 x2 Sources Links x1(t) = 1 / (p1(t) + p2(t)) x2(t) = 1 / p1(t) x3(t) = 1 / p2(t) p1(t+1) = [p1(t) + κ(y1(t) – c1)]+ p2(t+1) = [p2(t) + κ(y2(t) – c2)]+

Example x1 x2 x3

Outline The Network Utility Maximization (NUM) Problem NUM Distributed Algorithm TCP’s NUM Problem TCP Fluid Models

TCP + PI p1 p2 Sources Links p1(t+1) = [p1(t) + κ(y1(t) – c1)]+ c1 = 1 Mb/s c2 = 1 Mb/s x1 p1 p2 x3 x2 Sources Links x1(t) = 1 / RTT1 x2(t) = 1 / RTT2 x3(t) = 1 / RTT3 p1(t+1) = [p1(t) + κ(y1(t) – c1)]+ p2(t+1) = [p2(t) + κ(y2(t) – c2)]+

What is TCP’s Utility Function?

Outline The Network Utility Maximization (NUM) Problem NUM Distributed Algorithm TCP’s NUM Problem TCP Fluid Models

Is My Protocol “Stable”? Example: ns2 simulations, 50 AIMD TCP sources, capacity = 9000 pkt, RED AQM Credit: Low et al. “Dynamics of TCP/RED and a Scalable Control”, INFOCOM 2002.

TCP/RED Fluid Model - Setup p(t) Bi(t) q(t) Receiver Sender Receiver Sender C Receiver i Sender i One bottlenecked RED router capacity {C (packets/sec) } queue length q(t) drop prob. p(t) N TCP flows window sizes Wi(t) round trip time Ri(t) = Ai+q(t)/C throughputs Bi (t) = Wi(t)/Ri(t)

Fluid Model vs. Simulation Flow set 1 Flow set 2 Flow set 3 Flow set 4 Flow set 5 RED router 1 RED router 2 # flows per flow set: 40 -> 10 (t=75) -> 40 (t=150) Credit: Vishal Misra (Columbia)

Fluid Model vs. Simulation Queue 1 Queue 2

System of Differential Equations All quantities are average values. Timeouts and slow start ignored dWi dt ^ = 1 Ri(q(t)) Additive increase Wi(t-t) ^ Ri (q(t-t)) p(t-t) Loss arrival rate - Wi 2 ^ Mult. decrease Window Size: Queue length: dq dt = ^ + S Ri(q(t)) ^ Wi(t) Incoming traffic -1[q(t) > 0]C ^ Outgoing traffic

System of Differential Equations (cont.) Average queue length: q(t) ^ dx dt = ln (1-a) d - x(t) Where a = averaging parameter of RED(wth) d = sampling interval ~ 1/C Loss probability: dp dt = dx ^ Where dp is obtained from the marking profile