1 / 36

Optimization-based routing and congestion control

Optimization-based routing and congestion control. Routing, congestion control as optimization problems: how to route flows, set flow rates to optimize an objective (cost) function routing and congestion control protocols as distributed asynchronous implementations of optimization algorithms

darius-pope
Download Presentation

Optimization-based routing and congestion control

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Optimization-based routing and congestion control Routing, congestion control as optimization problems: • how to route flows, set flow rates to optimize an objective (cost) function • routing and congestion control protocols as distributed asynchronous implementations of optimization algorithms • systematic approach towards protocol design • e.g., TCP as distributed rate optimization

  2. rw2 rw1 1 2 3 Optimization Framework • W: set of source-destination (sd) pairs • rw: rate of sd pair w • Pw: set of paths between sd pair w • xp: packet flow rate (“fluid”) on path p • cij link capacity of link i,j, (assume same as cji) path 3, rate x3 path 4, rate x4 path 2, rate x2 c12 c23 c13 path 1, rate x1

  3. rw2 rw1 1 2 3 Optimization Framework • routing problem: rw (rate of sd pair w) typically given • question: what rate xp on each path p • rate control problem: rw (rate of sd pair w) variable • question: what rate xp on each given path p • single path or multiple paths between sd pair w path 3, rate x3 path 4, rate x4 path 2, rate x2 c12 c23 c13 path 1, rate x1

  4. rw2 rw1 1 2 3 Optimization Framework Key question: how to set rates on paths? Input rates may be fixed (routing) or variable (rate control) • routing problem: rw (rate of sd pair w) typically fixed • question: what rate xp on each path p • rate control problem: rw (rate of sd pair w) variable • question: what rate xp on each given path p • single path or multiple paths between sd pair w path 3, rate x3 path 4, rate x4 path 2, rate x2 c12 c23 c13 path 1, rate x1

  5. rw2 rw1 1 2 3 Optimization Framework • lookout for: where are path rates set • centrally: global computation • at endpoints: distributed algorithm with multiple endpoints at network edge • at routers: distributed algorithm with multplie routers within network path 3, rate x3 path 4, rate x4 path 2, rate x2 c12 c23 c13 path 1, rate x1

  6. rw2 rw1 1 2 3 Optimization Framework • lookout for: what cost function is being optimized? Typically: • minimize system-wide delay with variable routing given fixed sd traffic rates {rw } • maximize system-wide utility, SwUw(rw), with variable traffic rates {rw } given fixed paths path 3, rate x3 path 4, rate x4 path 2, rate x2 c12 c23 c13 path 1, rate x1

  7. rw2 rw1 1 2 3 Optimization Framework • lookout for: how are capacity constraints taken into account path 3, rate x3 path 4, rate x4 path 2, rate x2 c12 c23 c13 path 1, rate x1

  8. S xp Fij = all paths p crossing link i,j Optimization-based routing • read: Gallagher 1992 [sec 5.4 intro, 5.5, 5.6], [Gallagher 1977]. W: set of source-destination (sd) pairs rw: fixed rate of sd pair w (traffic to be routed) Pw: set of paths between sd pair w xp: packet flow rate (“fluid”) on path p cij link capacity of link i,j, (assume same as cji)

  9. all incoming flow (fixed) must be routed to dest. subject to: for all w in W S all links ij S xp = rw Fij as Fij approaches cij, Dij(Fij) approaches infinity > for all p in Pw, w in W xp 0 all paths p in Pw Dij(Fij) cij - Fij cij 0 Fij Optimization-based routing S Dij(Fij) = minimize: all links ij

  10. ( ) S xp all paths p with link ij all incoming flow (fixed) must be routed to dest. subject to: for all w in W S xp = rw > for all p in Pw, w in W xp 0 all paths p in Pw Optimization-based routing equivalently S Dij minimize: all links ij This is the routing optimization problem: how to choose {xp} to minimize cost function above.

  11. minimize: ( ) S xp S Dij all paths p with link ij all links ij consider: = ∂ ∂ ∂ ∂ Dij D(x*) D(x*) D(x) and let: x* = {xp*} be optimal path flows S ) ( xp S all paths p with link ij xp xp xp x’p ij ∂ ∂ ∂ ∂ How to solve optimal routing problem? Insight: looking at properties of optimal routing solution suggests algorithms (protocols) for finding optimum! Suppose move small amount flow d from p (with non-zero x*p at x*) to path p’ between same OD pair. Then: otherwise x*p in x* would not be optimal > d d

  12. minimize: ( ) S xp S Dij all paths p with link ij all links ij ∂ ∂ D(x*) D(x*) xp2 xp1 ∂ ∂ How to solve optimal routing problem? Insight:looking at properties of optimal routing solution suggests algorithms (protocols) for finding optimum! At the optimum: = for all non-zero xp1, xp2 in Pw, for all w set flow rate on alternative path so partial derivatives (marginal utilities) are equal

  13. w ∂ ∂ D(x) D(x) xp1 xpk ∂ ∂ This suggests an algorithm! For each sd pair, w: … for all kw paths for sd pair w evaluate: move “small” amount of flow to path with minimum marginal increase from other kw-1 paths for sd pair w in attempt to balance marginal utilities on paths with non-zero flows until for each sd pair, marginal utilities equal for all paths with non-zero flow for that sd pair for all sd pairs

  14. r1 = 0.25 Mbps x1+x2 = 0.25; x1> 0; x2> 0 + = D(x) = D1(x1) + D2(x2) ∂ ∂ ∂ ∂ D(x) D(x) D(x) D(x) current iteration: x1=0.2 x2 = 0.05 1 1 2 c1 c2 x2 x1 = = 2 = = 2 2 (1 - 0.05) (1 - 0.2) c2- x2 c1- x1 (c2- x2) (c1- x1) ∂ ∂ ∂ ∂ x1 x1 x2 x2 path 2, rate x2 path 1, rate x1 partial derivative of D wrt x2 is smaller, so shift “small” amount of flow from p1 to p2 and iterate A numerical example c2 = 1 Mbps c1 = 1 Mbps ~ 1.1 ~ 1.6

  15. Routing optimization: “hill descent” • key idea: iteratively evaluate marginal path costs (gradient descent) • various algorithms to determine which flows can accept a “little” more flow, which should give up a “little” flow , subject to: • maintaining flow conservation • respecting capacity constraints • maintaining loop freedom

  16. Optimization-based approach towards congestion control Resource allocation as optimization problem: • how to allocate resources (e.g., bandwidth) to optimize some objective function • maybe not possible that optimality exactly obtained but… • optimization framework as means to explicitly steer network towards desirable operating point • practical congestion control as distributed asynchronous implementations of optimization algorithm • systematic approach towards protocol design

  17. Model • Network: Links l each of capacity cl • Sources s:(L(s), Us(xs)) L(s) - links used by source s Us(xs) - utility if source rate = xs example utility function for elastic application Us(xs) xs x1 c1 c2 x2 x3

  18. Optimization Problem • maximize system utility (note: all sources “equal) • constraint: bandwidth used less than capacity • centralized solution to optimization impractical • must know all utility functions • impractical for large number of sources • we’ll see: congestion control as distributed asynchronous algorithms to solve this problem “system” problem

  19. cost user’s utility The user view • user can choose amount to pay per unit time, ws • Would like allocated bandwidth, xs in proportion to ws pscould be viewed as charge per unit flow for user s user problem

  20. The network view • suppose network knows vector {ws}, chosen by users • network wants to maximize logarithmic utility function network problem

  21. Solution existence • There exist prices, ps, source rates, xs, and amount-to-pay-per-unit-time, ws =psxs such that • {Ws} solves user problem • {Xs} solves the network problem • {Xs} is the unique solution to the system problem

  22. Proportional Fairness • Vector of rates, {Xs}, proportionally fair if feasible and for any other feasible vector {Xs*}: result: if wr=1, then {Xs} solves the network problem IFF it is proportionally fair Related results exist for the case that wr not equal 1.

  23. Solving the network problem • Results so far: existence - solution exists with given properties • How to compute solution? • ideally: distributed solution easily embodied in protocol • insight into existing protocol

  24. Solving the network problem congestion “signal”: function of aggregate rate at link l, fed back to s. linear increase multiplicative decrease change in bandwidth allocation at s where

  25. Solving the network problem • Results: • * converges to solution of “relaxation” of network problem • xs(t)Spl(t) converges to ws • Interpretation: TCP-like algorithm to iteratively solve optimal rate allocation!

  26. Optimization-based congestion control: summary • bandwidth allocation as optimization problem: • practical congestion control (TCP) as distributed asynchronous implementations of optimization algorithm • optimization framework as means to explicitly steer network towards desirable operating point • systematic approach towards protocol design

  27. Motivation Congestion Control: maximize user utility Traffic Engineering: minimize network congestion Given routing Rlihow to adapt end rate xi? Given traffic xihow to perform routing Rli?

  28. Congestion Control Model Users are indexed by i aggregate utility Utility Ui(xi) max. ∑i Ui(xi) s.t.∑i Rlixi ≤ cl var. x capacity constraints Source rate xi Congestion control provides fair rate allocation amongst users

  29. Traffic Engineering Model Links are indexed by l aggregatecost Cost f(ul) ul = 1 min.∑l f(ul) s.t. ul =∑i Rlixi/cl var. R Link Utilization ul Traffic engineering avoids bottlenecks in the network

  30. Model of Internet Reality Congestion Control: max ∑i Ui(xi), s.t. ∑i Rlixi ≤ cl xi Rli Traffic Engineering: min ∑l f(ul), s.t. ul =∑i Rlixi/cl

  31. System Properties • Convergence • Does it achieve some objective? • Benchmark: • Utility gap between the joint system and benchmark max. ∑i Ui(xi) s.t.Rx ≤ c Var. x, R

  32. Numerical Experiments • System converges • Quantify the gap to optimal aggregate utility • Capacity distribution: truncated Gaussian with average 100 • 500 points per standard deviation Access-Core Abilene Internet2 (a research net)

  33. Results for Abilene: f = eu_l Aggregate utility gap Gap exists Standard deviation

  34. Backward Compatible Design • Simulation of the joint system suggests that it is stable, but suboptimal • Gap reduced if we modify f f(ul) Cost f f(ul) ul =1 0 Link load ul

  35. Abilene Continued: f = n(ul)n Aggregate utility gap n Gap shrinks with larger n

  36. Theoretical Results • Modify congestion control to approximate the capacity constraint with a penalty function • Theorem: modified joint system model converges if Ui’’(xi)≤-Ui’(xi)/xi Master Problem: min. g(x,R) = - ∑iUi(xi) + γ∑lf(ul) Congestion Control: argminx g(x,R) Traffic Engineering: argminR g(x,R)

More Related