Congestion control with adaptive multipath routing based on optimization Fernando Paganini ORT University, Uruguay (on leave from UCLA) Collaborator: Enrique Mallada, ORT University, Uruguay. Optimization on the demand side: congestion control Source rate x(t) Price feedback Kelly's system problem Source k has rate x k , receives utility U k ( x k ). max x U i ( xi ) Single route case: Rlk 1 iff route k contains link l. Link l has total rate yl Rli xi :, and capacity cl . subject to i y Rx c. Market based-decentralized solution: link l generates price pl source k sees qk Rlk pl , tries to maximize profit U k ( x k ) qk x k [Kelly-Maulloo-Tan ’98, Low-Lapsley ’99, many others] Book by Srikant, 2004. Optimization on the supply side Given: a demand matrix of traffic between source-destination pairs (commodities) and a convex cost l ( yl ) per link, find routes through the multicommodity optimization min l ( yl ). Problem is convex if multiple paths are allowed. Selfish routing: back to Pigou, Wardrop, transportation networks; see Roughgarden '05. l ( yl ) yl ( yl ), where ( yl ) is a link latency, compare optimum with the Wardrop equilibrium where traffic units routes selfishly. Natural prices: pl l '( yl ). Traffic engineering in IP networks: Network operator solves optimization offline, implements (or approximates) via IP weights or MPLS tunnels. [Fortz-Thorup '00, Sridharan-Guerin-Diot '05, many othes], Adaptive version: MATE, Elwalid-Jin-Low-Widjaja '01. Combining demand and supply? Two natural optimization problems we will work on (both allowing multiple routes per source-destination pair): SYSTEM problem: max U k ( x k ) subject to flow balance at each node, and yl cl . BARRIER or Surplus problem: max S : U k ( x k ) l ( yl ) subject to flow balance at each node. Decentralized solutions? Most previous work uses path variables: for each end-to-end path p available to commodity k , let z kp be the rate. x k z kp , yl z kp . p k pl Adapting each z kp based on path congestion prices: (Kelly-Maullo-Tan '98, Han-Shakkottai-Hollot-Srikant-Towsley '03, Lestas-Vinnicombe '04 , Voice '04). Difficulties with the path formulation • An exponential number of paths! How do we limit size? • Sources do not have the path information, nor is it reasonable to add all this complexity to them. • Overlay with the edge router doing rate control? but even routers don’t know end-to-end paths. A better set of control variables. Each source controls only the total rate xk into the network. As feedback information, the source receives a single price signal qk that reflects the overall congestion state of all paths available to it. Routers control the traffic split of each commodity among their outgoing links.The splits depend only on destination (as in IP routing): id, j : fraction of traffic destined to d that router i sends through link (i, j). Routers update their split ratios gradually based on prices reported by neighboring nodes. Idea already developed in Gallager '78, for the "supply only" problem (optimization of delay cost). Everyone (source or router) uses the same "congestion currency". Other related work, wireless ad-hoc context: Chen-Low-Chiang-Doyle, Infocom '06. More detailed notation: Nodes i, j (sources, routers). d s1 Links l (i, j ). Commodities k , (source s(k ), dest d (k )). s2 xik : Total rate of commodity k reaching node i. x k xsk( k ) : Source rate of commodity k . yik, j : Rate of commodity k going through link l (i, j ). yi , j yik, j : Total rate going through link l (i, j ). k Mass balance: xik yik, j , (i , j )L Traffic split yik, j id, j( k ) xik Alternatively, d ( k )d i d (k ). xkj yik, j , (i , j )L (per commodity) yik, j id, j d ( k ) d xik (per destination) j s(k ). Price information: pi , j : Congestion price of link l (i, j ). qid : Average price of reaching destination d from node i, with current routing. qdd 0, qid id, j pi, j qdj , i d. ( i , j )L Recursion can be solved if there's a path between every node and the destination. We do not model these dynamics. qk qsd((kk)) : Average price seen by source. Under fixed routing splits id, j , we have a congestion control picture, analogous to the standard one. Source rates x k LINKS SOURCES Source prices q k Link rates yl R RT Link prices pl The R matrix can be determined from the set of routing splits id, j . Adaptation of router traffic splits Use price information from links and neighbor nodes to gradually change id, j , shifting traffic in the direction of cheaper routes. Assume: id, j 0 ( i , j )L id, j pi, j qkj 0 : (changes in id, j have negative correlation with prices). ( i , j )L (maintain mass balance). d i, j Equality above only if { } 0 , and this happens only if for each (i, j ) L, either qid = pi , j qdj , or id, j 0 and qid < pi , j qdj . Source rates x k Traffic splitting Adapt splits SOURCES Node prices qid Source prices qk Node price recursion Link rates yl Split ratios id, j Link prices pl LINKS Primal congestion control under adaptive multipath routing: Assume the sources run the control law x k ( x k ) U '( x k ) q k and links set prices as marginal costs: pl '( yl ) Theorem: with these dynamics, and under the earlier assumptions on split adaptation, the system converges globally to the optimum of the BARRIER problem, max S : U k ( x k ) l ( yl ) Proof : the surplus increases along trajectories, S 0. It could "stall" while the system searches for a cheap route, but will only "settle" at the global optimum. The proof involves Lasalle's principle, and invoking duality on the barrier problem wrt. to the mass balance constraints. Dual congestion control under fixed multipath routing: Sources set rates instantaneously to x k arg max U ( x k ) q k x k pl and links set prices with the dynamic rule: pl l yl cl The Lagrangian of the System Problem w.r.t. the capacity constraints, L( , p, x ) U k ( x k ) pl (cl yl ) [U k ( x k ) qk x k ] pl cl k l k l Then from duality we have max{ y c} U k ( x k ) max min p max x L( , p, x) W ( , p) k ( ) Proposition: for fixed {id, j }, the dual algorithm finds . Pf : as in single path case, W ( , p ) 0. Dual congestion control under adaptive multipath routing: max{ y c} U k ( x k ) max min p max x L( , p, x) k W ( , p) ( ) Issue: the adaptation of id, j , pushes W ( , p) in the increasing direction. So its behavior over time is inconclusive. Indeed, if routes are adapted too fast relative to price dynamics, the system could oscillate. Assumption: id, j are adapted at a slower time-scale than prices. Theorem: For each , assume prices and rates take instantaneously their equilibrium values. Then adapting as described earlier, the dynamics asymptotically reach a solution of the SYSTEM problem. EXAMPLE Links in light blue have very high capacity. i2 c24 1 Source 2 Destination i 3 i4 Source 1 i 1 c14 10 Initially, take the traffic split variables at nodes 1 and 3 to be at 1,3 0, 1,4 1, 3,2 0.5, 3,4 0.5 Under primal or dual congestion control, the system converges to some rates and link prices at the bottlenecks, say p1,4 0.1, p2,4 1. This yields the following node prices: q1 0.1, q2 1, q3 0.5, For node 1, the route through node 3 is more expensive, so there is no incentive to change 1,3 1,4 , all flows remain constant for a while. However, node 3 will adapt 3,2 ,3,4 , causing q3 to drop. Eventually, this route becomes cheaper and node 1 starts using it. EXAMPLE (cont) S i2 c24 1 i 3 i4 i 1 c14 10 q3 p1,4 Fluid-flow simulation Using SCILAB 1,3 1,4 3,4 3,2 Implementation issues Router i receives annoucements from its neighbors j indicating they have a route to a certain destination, and the corresponding prices qdj . It can update qid : id, j pi, j qdj , (i , j )L and then make its own annoucement. The above iteration converges, for fixed id, j , under mild assumptions. Now, for the theory to be relevant, this convergence must be faster than the dynamics we modeled (link prices, rates, and - adaptation). In particular, source rates, that adapt quickly with TCP-like algorithms, would not wait for the node to form the price with IP-style routing updates. This implies either: Interpret source demand as aggregate, long term. Use another method to form source node price. In particular ECN marking proportional to link prices will do this, to first order. Conclusions • We presented natural optimization problems that combine multipath routing with elastic demands, using variables which are local to sources and routers. • We introduced congestion prices for nodes that use multipath routing, and a slow adaptation of traffic split ratios at routers. Combined with standard congestion control, this strategy yields decentralized solutions to the optimization problems. • The algorithms fit with the TCP/IP philosophy (end-to-end control of source rate, local control of routing based on neighbor information). • Open question: what happens if we remove time-scale separations? • We are starting to look at implementation issues, in particular combining explicit and implicit methods to propagate prices.