Combining Multipath Routing and Congestion Control for Robustness Peter Key Motivation • Performance of Internet /overlays unpredictable – and hard to manage • Multiple ownership / policies (eg BGP) can exacerbate performance problems • … but diversity increasing – Multihoming – Mesh • So why not harness the diversity? Outline • Motivation • Framework • Resource Pooling – 2 resources – the function – Cutset dimensioning • Multipath – Coordinated control – Fluid dynamics • Route choices & architectures • Concluding remarks Framework • Network: capacited graph – G=[X,J] • Edges have capacity Cj • Routes s S , sets of edges • Demands type r, associated source – destination, can use a set of routes • Link-route incidence matrix A, route flow incidence matrix B Framework • File Transfers – Arrival rate r – Mean file size Fr r 1 – Nr in progress • Streaming – Arrival rate r – Mean holding time r load r r r 1 – Mr in progress • Rate allocation : – xr to both types (fair share): exact rate depends on utility function (N M )x C r :l r r r r l Resource sharing F Fixed Routing F Capacity C Mean transfer time Dynamic Routing 2 Fixed Proportions 2 p 1-p Transfer time F C- 1 F 2 C- p 1-p Transfer time F C-2 p C-2 (1 p ) Stable C 2 max( p,1 p ) Performance : the function – Assume performance measure ( ,C ) – ( ,C ) non-decreasing in 1st arg., nonincreasing in second – Dimensioning means ( ,C ) D some measurable D – Eg ( ,C ) C , D =(-,0) ( , C ) 1 (C ) Cutset Dimensioning Take a cutset C of the Graph G Under resource pooling, necessary performance conditions are r , C j j C C j r j C D Becomes interesting when related to sufficiency Mesh Network Example 1 Node cutsets: (Keslassy et al) j ij r and j 2 6 ji 3 r 5 4 2r per link sufficient traffic matrices N • Symmetric case; – Valiant load balancing, – Dynamic routing r N 1 2r N Multipath Routing: Utility functions • Utility function associated with type r flow • Ur (x ) increasing, strictly concave etc – Eg TCP, U (x ) w x – Putting w=k/(RTT)2 implies familiar 1 TCP fair: x r Tr 1 p (r ) Cost functions • Now require “cost” j ( ,C ) convex, and L(z ;C ) (Lz ;LC ) • True for packet marking etcy • with “prices” pj,: • j (y j , C j ) j p z /C dz j j pj y j C j is prob of drop/marking0 at j when load is yj, • Eg small buffer model pj min 1, yj Cj yj b Cj Multipath Maximise NrUr Bsr xsr j Nr Ajs Bsr xsr ;C j r s s j r over xsr 0 • Coordinated • Single utility function across possible routes flow can choose – Single dependence on RTT Fluid Dynamics • Scale arrival rates and capacities by large number L and take limits 1 1 nr Nr , mr Mr L L • Gives limiting ODE (FLLN) nr (t ) r r nr (t )xr n (t ) m (t );C mr (t ) 'r r mr (t ) Limit Theorems • Theorem: – Under multipath routing, there is a unique ˆr r r , nˆr r xˆr invariant point m – System in Lyapunov stable (under mild conditions on j ) – Allocation is only non-zero to routes s for which “prices” on route are equal – When no streaming, offered load is split optimally, independent of utility functions Remarks • Prices on route s are A j js 'j (yˆj ;C j ) • Unless “prices” are equal on different routes, only one route is used • Coordinated multipath chooses load fractions rs to minimise total “cost” – if no streaming traffic present, fractions independent of utility functions Remarks • Coordinated multipath chooses load fractions rs to minimise total “cost” r Ajs Bsr sr r xˆsr ;C j j j s ,r Route Choices • How to search for low cost paths? – Use 2 per nominal route, (eg “direct” +1) – Periodically add new route at random – Probe to chose which route to drop • Cf “Sticky Random” DAR – “Power of 2”, Mitzenmacher • Theorem: Under random path resampling, mulitpath routing will find an optimal feasible load split, if one exists Architecture • Need path diversity – Dual homing – Multiple addresses (eg IPv6) • For overlays, wireless, or the Internet? • Need coordinated congestion control, uncoordinated, parallel, inefficient (see Laurent’s talk …) – at transport or application layer Summary: Multipath routing/multi-access • Source /edge routing C C C C • Halve delay (processor sharing) 2p 2 vs 2p • Resilience • Simpler dimensioning (cutsets) 1 1 vs 2C 2 ) (C ) Summary • Robust routing provides robustness to – Traffic variations /uncertainty – Routing / BGP / Network operators • Need to combine multipath routing with congestion control • Challenges: – Time-scales for route adaptation – Removing RTT bias of TCP? References • Fluid models of integrated traffic and multipath routing, Peter Key & Laurent Massoulié, QUESTA, June 2006 • Network Programming methods for loss networks, Gibbens and Kelly, JSAC 1995 • Stability of end-to-end algorithms for joint routing and rate control, Kelly and Voice, CCR, 2005 • Dynamic Alternative Routing, Gibbens, Kelly and Key, ITC, 1989.