1 Modelling multi-path problems Richard Gibbens Computer Laboratory, University of Cambridge 2nd Annual Conference on Information Sciences and Systems Princeton University 19 21 March 2
2 Multi-path flow control and routing Multi-path routing could improve both the performance and reliability of packet networks. Benefits accrue from load balancing and to responding through routing changes to congestion, failures and, perhaps, mobility. However, responding too quickly risks destabilizing the network whereas responding too slowly may miss potential benefits. An important challenge is to find our way between these opposing concerns.
3 Fluid models for networks We use the following basic objects sources s S comprising one or more routes r R route r is associated with source s(r) routes r comprising one or more resources j r resources have a capacity C j, j J delays and round trip times T r = T rj + T jr matrix A jr = 1 if j r and otherwise. We represent the flow on route r at time t by x r (t) for each r R. Notation: define the function a = (b) + c to mean a = b if c > and a = max(, b) if c =.
Primal and dual algorithms Primal: multi-path variant of scalable TCP T. Kelly, Scalable TCP: improving performance in highspeed wide area networks, Computer Communication Review, vol. 32, no. 2, pp. 3 91, 23. H. Han, S. Shakkottai, C. Hollot, R. Srikant, and D. Towsley, Overlay TCP for multi-path routing and congestion control, in ENS-INRIA ARC-TCP Workshop, 23, Paris, France. F. Kelly and T. Voice, Stability of end-to-end algorithms for joint routing and rate control, ACM SIGCOMM Computer Communication Review, vol. 35, no. 2, pp. 5 12, Apr. 25. Dual: controlled splitting algorithm T. Voice, Stability of mulit-path dual congestion control algorithms, IEEE/ACM Trans. Netw., vol. 15, no. 6, pp. 1231 1239, Dec. 27.
Primal algorithm [KV25] In this model fluid flows, x r (t), operate as follows ẋ r (t) = x r (t T r ) ( a(1 λr (t)) b r y T s(r) (t)λ r (t) ) + x r r (t) where λ r (t) = 1 ( 1 µj (t T jr ) ) j r and y s (t) = r s x r (t T r ) ; µ j (t) = p j x r (t T rj ). r:j r Each resource j has a capacity C j and an associated penalty function, p j ( ), given (for some constant β j ) by p j (z j ) = ( zj C j ) βj. 5
6 Primal stability conditions A sufficient condition [KV25] for local stability of the primal algorithm is that a(1 + β) < π 2. In comparison, the equivalent condition for (uni-path) scalable TCP is a(β) < π 2. See also, G. Vinnicombe. On the stability of networks operating TCP-like congestion control, Proc. IFAC World Congress, 22, Barcelona, Spain.
7 Network utility maximization Formulation for controlled splitting multi-path dual algorithm Maximize over x subject to U s (x s S x s r s x q r 1 q s ) s S and where for some choice p >. Ax C q = p/(p + 1)
Choice of utility function We use the standard choice of isoelastic utility functions given by y {w 1 α s U s (y) = 1 α if α 1 w s log(y) if α = 1 for parameters w s > and α >. These functions exhibit constant relative risk aversion (CRRA) given by yu s (y) U s(y) = α and elasticity of substitution given by 1/α.
Dual algorithm [V27] The fluid flows, x r (t), are then given by where and x r (t) = λ r (t) (p+1) ws p+1 y s(r) (t) 1 α(p+1) ( ) + ẏ s (t) = κ s y s (t) 1 p+1 x r (t T r ) q y s (t) q r s y s λ r (t) = j r µ j (t T jr ). The dual variables, µ j (t), obey the following relations µ j (t) = κ j µ j (t) ( z j (t) C j ) + µ j (t) where z j (t) = r:j r x r (t T rj ). Here, the parameters κ j and κ s are (sufficiently small) positive gain parameters. 9
1 Dual stability conditions When α(p + 1) > 1 we have local stability of the dual algorithm if the following sufficient conditions [V27] hold for each resource j and for each source s κ j (p + 1)T j C j < 1 2 where the weighted RTT for flow through resource j is T j = 1 x r T r C j r:j r and κ s ((p + 1)α 1) T s < 1 2 where the weighted RTT for flow from source s is T s = q ys p xr q T r. r s
11 Network example Flows Routes Resources j 1 r 1 s 1 s 1 r 5 r 2 s 3 r 6 r 3 j 2 s 3 s 2 s 2 r j 3
12 Network parameters Delay and round trip time (RTT) parameters are as follows. j r T rj T jr T r j 1 r 1.1.1.2 j 1 r 5.1.1.2 j 2 r 2.1.1.2 j 2 r 3.1.1.2 j 3 r 1. 1. 2. j 3 r 6 1. 1. 2. Capacities of C j = 1 for each resource j. Here, we have taken T rj = T jr so that T r = T rj + T jr = 2T rj = 2T jr.
13 Primal parameters Primal parameter values a =.1, b r =.75 and β j = 1 for each route r and resource j, respectively. Then, ( ) z βj p j (z) = implies that C j ( z ) 1 p j1 (z) = p j2 (z) = p j3 (z) =. 1
Primal results Flows by resources and sources 2 2 2 2 2 2 Resource, j 1 Resource, j 2 Resource, j 3 25 5 75 1 Source, s 1 6 2 Source, s 2 6 2 6 2 Source, s 3 25 5 75 1 1
15 Dual parameters The parameter p was 7 and thus q = p/(p + 1) = 7/. Take α = 1 corresponding to the utility function The dual gain parameters were U s (y) = w s log(y). j κ j s κ s w s j 1.1 s 1.25.1 j 2.1 s 2.1.1 j 3.1 s 3.1.1
16 Dual results Flows by resources and sources Resource, j 1 Resource, j 2 Resource, j 3 25 5 75 1 12 Source, s 1 12 Source, s 2 12 Source, s 3 25 5 75 1
17 Dynamic route selection algorithms Basic question How do we dynamically adjust the active set of routes in the face of varying congestion, failures, transient overloads and mobility? A possible approach is to use the behaviour of the multi-path congestion/flow control algorithm itself as the feedback signal within a sticky random algorithm, much as for circuit-switched telephone networks R.J. Gibbens, F.P. Kelly and P.B. Key Dynamic alternative routing modelling and behaviour. In Twelfth International Teletraffic Congress. North-Holland (19), Turin.
1 Thanks to... especially Frank Kelly, Peter Key, Don Towsley and Tom Voice for various conversations about multi-path protocols and to the UK EPSRC for research funding. Discussion