Technical: what might I mean by multipath? 1.Via an overlay network 2.End-points are multi- homed, and expose multiple IP addresses; routing works as it.

Slides:



Advertisements
Similar presentations
Ch. 12 Routing in Switched Networks
Advertisements

Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Ch. 12 Routing in Switched Networks Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the.
Data and Computer Communications
State-Space Collapse via Drift Conditions Atilla Eryilmaz (OSU) and R. Srikant (Illinois) 4/10/20151.
Peter Key, Laurent Massoulie, Don Towsley Infocom 07 presented by Park HoSung 1 Path selection and multipath congestion control.
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
Restless bandits and congestion control Mark Handley, Costin Raiciu, Damon Wischik UCL.
1 Traffic Engineering (TE). 2 Network Congestion Causes of congestion –Lack of network resources –Uneven distribution of traffic caused by current dynamic.
24.1 Chapter 24 Congestion Control and Quality of Service Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Short-Term Fairness and Long- Term QoS Lei Ying ECE dept, Iowa State University, Joint work with Bo Tan, UIUC and R. Srikant, UIUC.
Mathematical models of the Internet Frank Kelly Hood Fellowship Public Lecture University of Auckland 3 April 2012.
1 EL736 Communications Networks II: Design and Algorithms Class8: Networks with Shortest-Path Routing Yong Liu 10/31/2007.
The Structure of Networks with emphasis on information and social networks T-214-SINE Summer 2011 Chapter 8 Ýmir Vigfússon.
Resource Pooling A system exhibits complete resource pooling if it behaves as if there was a single pooled resource. The Internet has many mechanisms for.
Congestion control principles Presentation by: Farhad Rad (Advanced computer Networks Lesson in
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.
Dynamic Internet Congestion with Bursts Stefan Schmid Roger Wattenhofer Distributed Computing Group, ETH Zurich 13th International Conference On High Performance.
Worst-case Fair Weighted Fair Queueing (WF²Q) by Jon C.R. Bennett & Hui Zhang Presented by Vitali Greenberg.
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)
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,
Network Bandwidth Allocation (and Stability) In Three Acts.
A TCP With Guaranteed Performance in Networks with Dynamic Congestion and Random Wireless Losses Stefan Schmid, ETH Zurich Roger Wattenhofer, ETH Zurich.
Benefits of coordination in multipath flow control Laurent Massoulié & Peter Key Microsoft Research Cambridge.
Dynamic routing – QoS routing Load sensitive routing QoS routing.
Combining Multipath Routing and Congestion Control for Robustness Peter Key.
How Bad is Selfish Routing A survey on existing models for selfish routing Professor John Lui, David Yau and Dah-Ming Qiu presented by Joe W.J. Jiang
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
The Structure of Networks with emphasis on information and social networks T-214-SINE Summer 2011 Chapter 8 Ýmir Vigfússon.
Second year review Resource Pooling Damon Wischik, UCL.
Distributed Quality-of-Service Routing of Best Constrained Shortest Paths. Abdelhamid MELLOUK, Said HOCEINI, Farid BAGUENINE, Mustapha CHEURFA Computers.
Cost-Performance Tradeoffs in MPLS and IP Routing Selma Yilmaz Ibrahim Matta Boston University.
DaVinci: Dynamically Adaptive Virtual Networks for a Customized Internet Jennifer Rexford Princeton University With Jiayue He, Rui Zhang-Shen, Ying Li,
Lecture 15. IGP and MPLS D. Moltchanov, TUT, Spring 2008 D. Moltchanov, TUT, Spring 2015.
Decentralised load balancing in closed and open systems A. J. Ganesh University of Bristol Joint work with S. Lilienthal, D. Manjunath, A. Proutiere and.
Flows and Networks Plan for today (lecture 5): Last time / Questions? Blocking of transitions Kelly / Whittle network Optimal design of a Kelly / Whittle.
L14. Fair networks and topology design D. Moltchanov, TUT, Spring 2008 D. Moltchanov, TUT, Spring 2015.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
Models of multipath resource allocation Damon Wischik, UCL.
Congestion control for Multipath TCP (MPTCP) Damon Wischik Costin Raiciu Adam Greenhalgh Mark Handley THE ROYAL SOCIETY.
CSCI 465 D ata Communications and Networks Lecture 15 Martin van Bommel CSCI 465 Data Communications & Networks 1.
DaVinci: Dynamically Adaptive Virtual Networks for a Customized Internet Jiayue He, Rui Zhang-Shen, Ying Li, Cheng-Yen Lee, Jennifer Rexford, and Mung.
Some questions about multipath Damon Wischik, UCL Trilogy UCL.
Intradomain Traffic Engineering By Behzad Akbari These slides are based in part upon slides of J. Rexford (Princeton university)
6 December On Selfish Routing in Internet-like Environments paper by Lili Qiu, Yang Richard Yang, Yin Zhang, Scott Shenker presentation by Ed Spitznagel.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
Network teleology Damon Wischik
Content caching and scheduling in wireless networks with elastic and inelastic traffic Group-VI 09CS CS CS30020 Performance Modelling in Computer.
Log Truck Scheduling Problem
1 Slides by Yong Liu 1, Deep Medhi 2, and Michał Pióro 3 1 Polytechnic University, New York, USA 2 University of Missouri-Kansas City, USA 3 Warsaw University.
Queueing in switched networks Damon Wischik, UCL thanks to Devavrat Shah, MIT TexPoint fonts used in EMF. Read the TexPoint manual before you delete this.
TeXCP: Protecting Providers’ Networks from Unexpected Failures & Traffic Spikes Dina Katabi MIT - CSAIL nms.csail.mit.edu/~dina.
Providing QoS in IP Networks
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
Impact of Interference on Multi-hop Wireless Network Performance
Multipath TCP and the Resource Pooling Principle
TCP Congestion Control
TCP Congestion Control
Data and Computer Communications
The Network Layer Network Layer Design Issues:
Computer Science Division
TCP Congestion Control
Javad Ghaderi, Tianxiong Ji and R. Srikant
TCP Congestion Control
Resource Pooling A system exhibits complete resource pooling if it behaves as if there was a single pooled resource. I propose ‘extent of resource pooling’
Algorithms for Selecting Mirror Sites for Parallel Download
Towards Predictable Datacenter Networks
Presentation transcript:

Technical: what might I mean by multipath? 1.Via an overlay network 2.End-points are multi- homed, and expose multiple IP addresses; routing works as it does now 3.End-systems set a path selector (e.g. 2 bits in the IP header), and multipath- aware routers use this to choose one of several available routes

Political: what can multipath achieve? It’s happening anyway, and we might as well make sure it happens right It will increase competition between network providers It allows end-users to signal what sort of service they want It increases the capacity of the network End-user performance is protected against link failures Multihoming is a simple and elegant way to support mobility and address aggregation Routing tables can be smaller Nice maths

Mathematical models of multipath resource allocation Damon Wischik, UCL Partners from Trilogy Damon Wischik, UCL Partners from Trilogy

4 What is the capacity of a network in which traffic flows can be split over multiple paths? → Generalized cut constraints What sort of rate-control algorithms might make full use of this capacity? → Resource pooling; fairness and stability What routing support does there need to be, in order to make use of the capacity? → Power of two choices Is there a conflict between routing at the end- systems, and traffic engineering in the network? → Wardrop equilibrium

I. Generalized cut constraints “Resource pooling in queueing networks with dynamic routing”, Laws, 1992 “Loss Networks”, Kelly, 1991

The multipath rate allocation problem 6 i 2 {1,2,3} are the flows x i is the arrival rate of flow i j 2 {1,2,3,4} are the resources C j is the capacity at resource j p 2 {1,…,5} are the paths Y p is the rate allocated to path p For what arrival rates x is it possible to allocate rates y without overloading the resources?

Generalized cut constraints 7 x 1 + x 2 · C 1 x 1 + x 3 · C 3 x 3 · C 4 x 1 + x 2 + x 3 · C 1 + C 4 x 1 +2 x 3 · C 3 + C 4 x 1 + x 2 · C 1 + C 2 x 1 +2 x 3 · C 3 + C 4

Generalized cut constraints 8 x 1 + x 2 · C 1 x 1 + x 3 · C 3 x 3 · C 4 x 1 + x 2 + x 3 · C 1 + C 4 x 1 +2 x 3 · C 3 + C 4 x 1 + x 2 · C 1 + C 2 x 1 +2 x 3 · C 3 + C 4 a cut constraint a generalized cut constraint

9 Generalized cut constraints Theorem. The set X of admissible arrival rates can always be written X = { x : ¸ ( k ) ¢ x · ¹ ( k ) ¢ C for all k } for a suitable set of variables ¸ ( k ) and ¹ ( k ) These constraints are called generalized cut constraints, corresponding to virtual resources Consider the linear program: “what is the least amount of extra capacity I need to add to be able to serve x ?” The generalized cut constraints are the extreme points of the dual feasible set. There are algorithms for computing the generalized cut constraints

Capacity region x1x1 x2x2 x3x3 These plots show the capacity region, i.e. the set of admissible arrival rates. Multipath will increase the capacity region. By how much? For which flows does multipath bring the greatest benefit?

Questions Given Internet topology, what multipaths do we need to ensure that the generalized cut constraints are as broad as possible? –e.g. if each flow could have only two paths, what should they be? –if you had complete flexibility, how big is the admissible region? Q

II. Resource pooling “State space collapse and diffusion approximation for a network operating under a proportional fair sharing policy”, Kang, Kelly, Lee, Williams “Heavy traffic analysis of optimal scheduling algorithms for switched networks”, Shah, Wischik

Example of resource pooling The total capacity of the four links is 36, and it can be evenly shared between the flows, even though none of the flows can balance its load across all four links. This is called resource pooling. When a link fails, the flows should automatically re-balance themselves so that service is maintained. Link failures will mean there is less path diversity, and this may break resource pooling.

“No constraints but the network itself” x1x1 x2x2 x3x3 What are the characteristics of a good rate allocation algorithm? A good algorithm will have decent performance whenever the arrival rates are admissible. It will not add extra constraints. It will only ‘see’ the generalized cut constraints. x 1 + x 2 · C 1 + C 2 x 1 +2 x 3 · C 3 + C 4

Revision of basic queueing theory Consider a M/G/1 processor sharing queue Jobs arise as a Poisson process, and job size distribution is arbitrary Let the utilization be ½ Then the number of active jobs has a geometric distribution with mean ½ /(1- ½ )

A critically loaded network x1x1 x2x2 x3x3 Let x 1, x 2, x 3 be arrival rates for the arrival of TCP sessions, assumed to be Poisson arrivals. Let C 1,…, C 4 be link speeds divided by mean flow size. Suppose that one generalized cut constraint is tight, while the other is not. x 1 + x 2 ¿ C 1 + C 2 x 1 +2 x 3 ¼ C 3 + C 4

Virtual queues at virtual resources x1x1 x2x2 x3x3 Define a virtual queue V as follows: For arrivals of type 1, put in one token Every arrival of type 3, put in two tokens Serve this queue at rate C 3 + C 4 Define the workload W for the critical constraint — the number of jobs of type 1, + 2 x number of jobs of type 3 Then W ¸ V. A perfect algorithm would achieve W = V, by ensuring that neither resource 3 nor resource 4 is underutilized whenever V is non- empty. If either of these becomes underutilized then W > V. A modified TCP achieves W = V. In this case V has a geometric distribution, and there are ¼ [ x 1 /( x 1 +2 x 3 )] W jobs on route 1 ¼ 0 jobs on route 2 ¼ [ x 1 /( x 1 +2 x 3 )] W jobs on route 3 x 1 + x 2 ¿ C 1 + C 2 x 1 +2 x 3 ¼ C 3 + C 4

Resource pooling x1x1 x2x2 x3x3 In effect, the system only ‘sees’ the virtual resources, and each of them behaves like a standard processor- sharing link. This is as good as possible. To achieve this, whenever a virtual resource is non-empty none of the real resources that comprise it should go idle. This is called resource pooling. (In this example, resource pooling is a consequence of the fact that one virtual resource is heavily loaded. This is heavy traffic theory.)

The multipath packet scheduling problem 19 Packets are sent on a route, chosen at the ingress. Servers have a choice of which routes to serve. Should packets be held back until there is a clear path, or should they commit to a route straight away? How should servers decide which packets to serve? Q

III. Fairness and stability of congestion control “Overlay TCP for multi-path routing and congestion control”, Han, Shakkottai, Hollot, Srikant, Towsley, “Stability of end-to-end algorithms for joint routing and rate control”, Kelly, Voice, 2005

Unfairness of per-path congestion control When some flows have several paths available, and other flows do not, it is fairer to allocate capacity to users rather than to paths Therefore we should not use standalone TCP congestion control on each path individually In maths: we want the congestion control to solve a user-centric utility maximization problem

Stability and responsiveness When a link fails, or when flows come and go, rates should rebalance gradually Otherwise the network will be susceptible to route flap / oscillations In maths: the dynamical system describing the algorithm should be stable

IV. Power of two choices “Queueing system with selection of the shortest of two queues: an asymptotic approach”, Vvedenskaya, Dobrushin, Karpelevich, 1996 “The power of two choices in randomized load balancing”, Mitzenmacher, 1996

A simple example of load-balancing Packets arrive as a random process. When they arrive they look at m queues, selected at random, and join the shorter queue What is the resulting distribution of queue sizes?

A simple example of load-balancing Packets arrive as a random process. When they arrive they look at m queues, selected at random, and join the shorter queue What is the resulting distribution of queue sizes?

A simple example of load-balancing The larger m is, the more uniform the queue sizes should be. Surprisingly, m =2 is enough to get most of the benefit. If m =1 then Prob( Q > q )= ½ q If m ¸ 2 then Prob( Q > q )= ½ ( m q -1)/( m -1) (Here ½ is the average load, arrivals are Poisson, service is exponential.) m =1 m =2 m =5 A sample of queue sizes, for different values of m

Two paths good… Recall resource pooling: This is what happens when all the real resources that make up a virtual resource are kept fully occupied as long as possible. It means that the system is operating at peak efficiency. Perhaps, if each flow could balance itself across two real resources in every virtual resource, then we will achieve resource pooling. x1x1 x2x2 x3x3 x 1 + x 2 · C 1 + C 2 x 1 +2 x 3 · C 3 + C 4

…as long as they are really random choices If the choices are structured, e.g. each packet selects from a set of size m, and the sets are chosen at random from some arbitrary balanced distribution, then we need m = log (# queues ) to get load balancing “Balls and bins with structure: balanced allocations on hypergraphs”, Godfrey, 2008 !

Two choices, in a loss network Several parallel links. Each call tries up to m links before giving up A fully-connected graph. Model 1. Each call tries the direct link, and if that is busy it fails Model 2. Each call tries the direct link, and if that is busy it tries a 2-hop link load drop prob. load drop prob. 100%

Two choices, in a loss network The benefit of two choices is only apparent in critically loaded systems (in a model with equal load and no failures) Maybe multipath is only really useful for coping with traffic surges and link failures It is important to make sure that the alternative paths do not consume too many resources

Questions What traffic mix / routing will give us load balancing? –Maybe, if 50% of flows using a given virtual resource have two choices of which real resource to use, this will be enough –Is BitTorrent doing all this already? –How can we formulate this question properly? What is the relationship between heavy traffic resource pooling and the example of ‘power of two choices’? –How does ‘power of two choices’ work in networks, i.e. not just an array of homogeneous resources? –One theory looks at the traffic matrix that leads to resource pooling, the other looks at the routing choice that leads to resource pooling. How can we integrate these two? Q

V. Wardrop equilibrium “Partially optimal routing”, Acemoglu, Johari, Ozdaglar, 2007 “How bad is selfish routing?”, Roughgarden, Tardos, 2002

Wardrop equilibrium Suppose the total traffic x is made up of many users who each can choose how to split their traffic, and they make their choice selfishly so as to minimize their congestion cost Let the congestion cost at resource 1 be C 1 ( y 1 + y 3 ) etc. Let the congestion cost of a path be the sum of the congestion costs along the route Then, if some path has greater congestion cost than others, no one will send any traffic over that path The resulting allocation is called a Wardrop equilibrium

Braess’s paradox Braess discovered a situation where by removing resource 3 we end up with lower congestion costs for all users This is called Braess’s paradox It is not an uncommon problem! 10 z 50+ z 6z6z each path costs 92

Braess’s paradox Braess discovered a situation where by removing resource 3 we end up with lower congestion costs for all users This is called Braess’s paradox It is not an uncommon problem! 10 z 50+ z 6z6z each path costs 83

Generalized Braess’s paradox Suppose an AS owns the middle of the network, and does load-balancing This will decrease the net congestion cost of traversing the middle of the network This may INCREASE the average congestion costs to users, by an extension of Braess’s paradox The relative cost C (selfish users & load-balancing) / C (selfish users) can be arbitrarily large Plus other perverse outcomes...

Questions Why do these problems not show up in the earlier model of capacity constraints? Is it because the model of congestion costs is fishy? The difference seems to be to do with congestion signals: the signals to which users respond are in this case not in alignment with the costs. It may be that the network has much more routing flexibility than do individual users. Does this lead to a different answer? How can we fit it into the model? Q

More questions Are there appropriate ways of signalling congestion, such that user and network incentives align? For example, if BitTorrent responded appropriately, could it do a much better job of traffic engineering? Multipath should lead to more competition, which should force prices closer to costs. What are appropriate models of this? Is P2P already enough to force competition? Q