Modelling and Stability of TCP Peter Key MSR Cambridge.

Slides:



Advertisements
Similar presentations
Balaji Prabhakar Active queue management and bandwidth partitioning algorithms Balaji Prabhakar Departments of EE and CS Stanford University
Advertisements

Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Michele Pagano – A Survey on TCP Performance Evaluation and Modeling 1 Department of Information Engineering University of Pisa Network Telecomunication.
The strength of routing Schemes. Main issues Eliminating the buzz: Are there real differences between forwarding schemes: OSPF vs. MPLS? Can we quantify.
PATH SELECTION AND MULTIPATH CONGESTION CONTROL BY P. KEY, L. MASSOULIE, AND D. TOWSLEY R02 – Network Architectures Michaelmas term, 2013 Ulku Buket Nazlican.
Peter Key, Laurent Massoulie, Don Towsley Infocom 07 presented by Park HoSung 1 Path selection and multipath congestion control.
Restless bandits and congestion control Mark Handley, Costin Raiciu, Damon Wischik UCL.
Congestion Control Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
CS640: Introduction to Computer Networks Mozafar Bag-Mohammadi Lecture 3 TCP Congestion Control.
Mathematical models of the Internet Frank Kelly Hood Fellowship Public Lecture University of Auckland 3 April 2012.
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.
TCP Stability and Resource Allocation: Part II. Issues with TCP Round-trip bias Instability under large bandwidth-delay product Transient performance.
Fair queueing and congestion control Jim Roberts (France Telecom) Joint work with Jordan Augé Workshop on Congestion Control Hamilton Institute, Sept 2005.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
Control Theory in TCP Congestion Control and new “FAST” designs. Fernando Paganini and Zhikui Wang UCLA Electrical Engineering July Collaborators:
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
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.
Congestion Control Reading: Sections COS 461: Computer Networks Spring 2011 Mike Freedman
Network control Frank Kelly University of Cambridge Conference on Information Science and Systems Princeton, 22 March 2006.
Bandwidth sharing: objectives and algorithms Jim Roberts France Télécom - CNET Laurent Massoulié Microsoft Research.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
Network Bandwidth Allocation (and Stability) In Three Acts.
High speed TCP’s. Why high-speed TCP? Suppose that the bottleneck bandwidth is 10Gbps and RTT = 200ms. Bandwidth delay product is packets (1500.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
TCP Congestion Control TCP sources change the sending rate by modifying the window size: Window = min {Advertised window, Congestion Window} In other words,
Benefits of coordination in multipath flow control Laurent Massoulié & Peter Key Microsoft Research Cambridge.
Rethinking Internet Traffic Management: From Multiple Decompositions to a Practical Protocol Jiayue He Princeton University Joint work with Martin Suchara,
Combining Multipath Routing and Congestion Control for Robustness Peter Key.
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,
Second year review Resource Pooling Damon Wischik, UCL.
DaVinci: Dynamically Adaptive Virtual Networks for a Customized Internet Jennifer Rexford Princeton University With Jiayue He, Rui Zhang-Shen, Ying Li,
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
U Innsbruck Informatik - 1 CADPC/PTP in a nutshell Michael Welzl
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
MaxNet NetLab Presentation Hailey Lam Outline MaxNet as an alternative to TCP Linux implementation of MaxNet Demonstration of fairness, quick.
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
TCP with Variance Control for Multihop IEEE Wireless Networks Jiwei Chen, Mario Gerla, Yeng-zhong Lee.
Michael Schapira Yale and UC Berkeley Joint work with P. Brighten Godfrey, Aviv Zohar and Scott Shenker.
DaVinci: Dynamically Adaptive Virtual Networks for a Customized Internet Jiayue He, Rui Zhang-Shen, Ying Li, Cheng-Yen Lee, Jennifer Rexford, and Mung.
AQM & TCP models Courtesy of Sally Floyd with ICIR Raj Jain with OSU.
Murari Sridharan and Kun Tan (Collaborators: Jingmin Song, MSRA & Qian Zhang, HKUST.
June 4, 2003EE384Y1 Demand Based Rate Allocation Arpita Ghosh and James Mammen {arpitag, EE 384Y Project 4 th June, 2003.
1 Time-scale Decomposition and Equivalent Rate Based Marking Yung Yi, Sanjay Shakkottai ECE Dept., UT Austin Supratim Deb.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
The Macroscopic behavior of the TCP Congestion Avoidance Algorithm.
Explicit Allocation of Best-Effort Service Goal: Allocate different rates to different users during congestion Can charge different prices to different.
TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우. TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit.
Murari Sridharan Windows TCP/IP Networking, Microsoft Corp. (Collaborators: Kun Tan, Jingmin Song, MSRA & Qian Zhang, HKUST)
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.
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.
CIS, University of Delaware
TCP Congestion Control
TCP Congestion Control
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
TCP Congestion Control
TCP Congestion Control
Understanding Congestion Control Mohammad Alizadeh Fall 2018
Horizon: Balancing TCP over multiple paths in wireless mesh networks
Congestion Michael Freedman COS 461: Computer Networks
Presentation transcript:

Modelling and Stability of TCP Peter Key MSR Cambridge

Outline Simple TCP models Utility Maximisation - a framework for fairness –General Framework –TCP examples Stability, Delay and Stochastic Stability Stochastic arrivals Multipath routing Startup / slow start

Outline Simple TCP models Utility Maximisation - a framework for fairness –General Framework –TCP examples Stability, Delay and Stochastic Stability Stochastic arrivals Multipath routing

TCP in one slide Slow Start (exponential) Slow Start (exponential) Congestion Avoidance (Linear) Congestion Avoidance (Linear) Time (in round-trip times) Packets per RTT (window) Loss Window Halved on Packet Loss

Modelling TCP Why? Insight, understanding better design Mainly focussed on CA phase –But transients/slow start may be as/more important! Typically convert behaviour to a deterministic limit (an ODE) Issues –Going from stochastic to deterministic makes (several) assumptions Eg. Large number of flows –Window halving causes problems (non-smooth function), can justify with a lot of hard maths (& get v. slightly different results) – Feedback (eg loss) often assumed stochastic / uncorrelated. May be badly inaccurate (eg small flows, with drop tail)

Simple TCP model for CA Window increases by (1/W ) per ACK, and decrease by (Wp/ 2) where p is packet loss But if T is the RTT, then this occurs in time (T/W ), hence Gives steady state: Throughput:

Simple models of TCP (CA) Single resource, lose pkts with prob. p, x is window in MSS Strictly periodic loss (Sawtooth) Random loss,...

Rate model TCP model Rate of packet send, is x=W/T As if user is trying to maximise net utility =utility – cost where Utility: Cost (penalty) = px

Refined Rate model TCP model Rate of packet send, is x=W/T As if user is trying to maximise net utility =utility – cost where Utility: Cost (penalty) = px

Outline Simple TCP models Utility Maximisation - a framework for fairness –General Framework –TCP examples Stability, Delay and Stochastic Stability Stochastic arrivals Multipath routing

Different Users Suppose a number of different users, indexed by r, round trip times T r utility functions becomes More generally, users can increase window at rate m r per RTT, decrease window by 2m r equivalently

Different Users Network: number of resources J, feedback signal p j, aggregate feedback to user r is Example: – p j represents packet loss, loss approximately additive for small p j and losses are independent –p j represents a marking signal with additive marks

Theorem If each user independently updates their rates/window, then system converges to the unique equilibrium, where each user has mean rate Hence have can think of TCP as performing an implicit optimisation Equivalently system is maximising

Service Requirements & Bandwidth sharing (Shenker) Rejection Or randomise Limited capacity Share out bandwidth Limited capacity Utility U(x) Rate x Utility U(x) Real Time Elastic / Data

Game theoretic properties User has Utility U r (x) with allocation x Then Proportional fairness = Nash Bargaining scheme with Nash Bargaining is the only arbitration scheme to satisfy certain axioms of –Pareto optimality –Linearity –Irrelevant alternatives (contentious) –Symmetry

Fairness Examples, eg Max-min ½ ½ ½ Proportional 1/31/3 2/32/3 2/32/ TCP approx Max load

Utility functions, rate control & TCP Can map utility functions /utility maximisation problem rate control algorithms –Eg, TCP and TCP-like controllers Gives rate control as an ODE –Rates reacts to signals / prices Primal algorithms : end-systems aggregate information (appropriate for long RTTs and simple ) Dual algorithms : resources (eg routers) adjust prices and send more explicit feedback Primal – dual mix both

Outline Simple TCP models Utility Maximisation - a framework for fairness –General Framework –TCP examples Stability, Delay and Stochastic Stability Stochastic arrivals Multipath routing

Router/gateway mark information Wide Area Dynamic Resource Allocation

Generic Primal algorithm Gain: tune for convergence / stability generalise: eg

Interpretation of primal algorithm Resource j generates feedback signals at rate p j (t) signals sent to each user r whose route passes through resource j multiplicative decrease in flow x r at rate proportional to stream of feedback signals received linear increase in flow x r at rate proportional to w r

Global Stability Theorem: –Above dynamical system has a unique stable fixed point to which all trajectories converge. The fixed point is weighted proportionally fair Based on Lyapunov functions

Whats missing Effect of time delays –Feedback to sender delayed (by RTT) –Can use ideas from control theory (eg Nyquist) to prove end to end stability Stochastic effects –Rate control only gives mean rates –Stochastic analysis can provide variances Small systems / dependent feedback (eg drop tail)/ - discrete time / simple models give insight

TCP-like rate control algorithm cwnd T, rate x cwnd / T For route r : –Increase cwnd by a r cwnd n per positive ACK –Decrease cwnd by b r cwnd m per loss/congestion notification (m > n ) Eg, For TCP Reno m=1, n=-1, a=1, b=1/2

Stability Equilibrium point (thruput) Can derive a (local) stability condition that depends only on e-t-e path and local resources. Equilibrium is stable if there is a global constant s.t Per resource (price) sensitivity Per route increase (aggressiveness)

Variance (Ott 99) But feedback signals are noisy Stability depends on the decrease (m and b)

Choice of congestion controllers? Delay stability affected by increase behaviour (n) –For Reno, instability for small windows –Slow to react for large windows –Putting n=0 (eg scalable TCP) can make stability independent of congestion window Stochastic stability depends on decrease (m) –Scale invariance (for coeff of variation) if m=1 –m=-1 gives scale invariance for variance BUT … trade-off with convergence speed and BEWARE model limitations

Dynamic/Flow level stability More realistic model: stochastic arrivals –Demands (eg sessions) are as a stochastic process Eg arrive as Poisson process, rate Mean file size N r in progress Allocate x r to flow r Stable if Per resource stability sufficient (eg with TCP ) Not true if priorities ….

Outline Simple TCP models Utility Maximisation - a framework for fairness –General Framework –TCP examples Stability, Delay and Stochastic Stability Stochastic arrivals Multipath routing

Can combine with congestion control: multipath congestion control Gives –Efficiency / performance gains –Robustness Can implement in two ways –Coordinated (single controller per multipath set) –Uncoordinated (eg parallel TCP) At what layer (s)?

Receiver Driven Multipath Receiver Peer Kazaa – manual route selection Skype – fixed, automatic best choice BitTorrent – dynamic best 4 with reselection

Framework Network: capacited graph –G=[X,J] Edges have capacity C j Routes s S, sets of edges Demands type r, associated source – destination, can use a set of routes R(r)

Coordinated multipath controller Users of type r can use a set of routes R(r) –Send x sr on route s R(r) – Sends traffic on least cost route (eg, lowest loss) –Splits if several Stable & Efficient: routes traffic to minimise total cost, independent of rate control used (utility function ) Single rate-control (utility function U r ) per user across all routes. Single RTT dependence –Implies cannot have RTT bias per route

Uncoordinated multipath controller Users of type r can use a set of routes R(r) –Send x sr on route s R(r) Controller (rate control/utility) per route s chosen by user, eg parallel TCP Easier to implement … but lose efficiency Need to modify to be fair to single flows

Coordination – does it matter? Some recent results (Infocom 07, ICASSP) for static demand complement dynamic results Static route choices, even when users greedily choose best from a set (cf Kazaa, Skype) can lose efficiency –Eg, ½ throughput in a simple (contrived) example –Even when no loss of efficiency, can give worse performance or fairness For dynamic route choices (eg BitTorrent), where periodically other routes chosen /sampled and higher thruput route chosen –Coordinated is optimal (maximises social welfare) –Uncoordinated performs as well only if no RTT bias in controllers

Eg Performance with coordination : Example network: sharp link capacity constraints Schedulable region with coordination: C a bc 2C a b c so stable provided

Schedulable region depends on utility function a loss of 30% efficiency. C a bc For TCP, stable provided Performance without coordination

Uncoordinated controllers & efficiency Example: Long fat links (delay T), short-thin links ( ) Flows a a, b b,c c If Users choose short-long- short: Lose 50% of coordinated thruput T

Selecting relay or access points Coordinated and uncoordinated have same stability region But uncoordinated can have higher cost, depends on fairness condition Can show in the static case, for coordinated gives max- min fairness wrt load, uncoordinated unfair A B C

What about slow start? Current slow-start can be viewed as an example of risk-averse behaviour (ISQE, Key / Massoulie) Mice vs elephants: –Optimal strategy is to let mice go as quickly as possible (blast away) Like SRPT Doesnt hurt the elephants –Slow start (and CA?) does the reverse

Most flows are short (mice) Most volume in a few long flows (elephants) Currently, bias against mice If use weights w inversely related to (remaining) file size, can improve response dramatically Capacity Scheduling File Tansfers

Weighted shares We know how to design simple, robust, scalable sharing algorithms …eg generically Weight is like a willingness to pay … but why cooperate weight Price Pr{Mark}

Questions???