Congestion control with adaptive multipath routing based on optimization Fernando Paganini

advertisement
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 pl
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
RT
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.
i2
c24  1
Source 2
Destination
i 3
i4
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
i2
c24  1
i 3
i4
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.
Download