optimization based routing and congestion control routing
play

Optimization-based routing and congestion control Routing, - PowerPoint PPT Presentation

Optimization-based routing and congestion control Routing, congestion control as optimization problems: Routing, congestion control as optimization problems: how to route flows, set flow rates to optimize an objective (cost) how to route flows,


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

  2. Optimization Framework W: set of source-destination (sd sd) pairs ) pairs W: set of source-destination (   r w : rate of sd sd pair w pair w r w : rate of   P w P w : set of paths between : set of paths between sd sd pair w pair w   x p x p : packet flow rate ( : packet flow rate (“ “fluid fluid” ”) on path p ) on path p   c ij link capacity of link i,j, (assume same as link capacity of link i,j, (assume same as c c ji ) c ij ji )   r w2 path 3, path 4, rate x 3 rate x 4 2 path 2, rate x 2 c 12 c 23 r w1 3 1 c 13 path 1, rate x 1

  3. Optimization Framework routing problem: r r w (rate of (rate of sd sd pair w) typically pair w) typically given given routing problem: w    question: question: what rate what rate x x p on each path p on each path p p  rate control problem: r r w (rate of (rate of sd sd pair w) pair w) variable variable rate control problem: w    question: question: what rate what rate x x p on each given given path p path p p on each   single path or multiple paths between single path or multiple paths between sd sd pair w pair w  r w2 path 3, path 4, rate x 3 rate x 4 2 path 2, rate x 2 c 12 c 23 r w1 3 1 c 13 path 1, rate x 1

  4. Optimization Framework Key question: how  routing problem:  routing problem: r r w (rate of sd sd pair w) typically pair w) typically fixed fixed w (rate of to set rates on  question:  question: what rate what rate x x p on each path p p on each path p paths? Input  rate control problem:  rate control problem: r r w (rate of sd sd pair w) pair w) variable variable w (rate of rates may be  question: question: what rate what rate x x p on each given path p  on each given path p p fixed (routing)  single path or multiple paths between single path or multiple paths between sd sd pair w pair w  or variable (rate control) r w2 path 3, path 4, rate x 3 rate x 4 2 path 2, rate x 2 c 12 c 23 r w1 3 1 c 13 path 1, rate x 1

  5. Optimization Framework lookout for: where are path rates set lookout for: where are path rates set    centrally: centrally: global computation global computation   at endpoints: at endpoints: distributed algorithm with multiple endpoints at distributed algorithm with multiple endpoints at  network edge network edge  at routers: at routers: distributed algorithm with distributed algorithm with multplie multplie routers within network routers within network  r w2 path 3, path 4, rate x 3 rate x 4 2 path 2, rate x 2 c 12 c 23 r w1 3 1 c 13 path 1, rate x 1

  6. Optimization Framework lookout for: what cost function is being optimized? Typically: lookout for: what cost function is being optimized? Typically:    minimize minimize system-wide delay with variable routing given fixed system-wide delay with variable routing given fixed sd sd  traffic rates {r r w } traffic rates { w } Σ w system-wide utility, Σ  maximize maximize system-wide utility, U w (r w ), with variable traffic rates {r r w w U w (r w ), with variable traffic rates {  w } given fixed paths } given fixed paths r w2 path 3, path 4, rate x 3 rate x 4 2 path 2, rate x 2 c 12 c 23 r w1 3 1 c 13 path 1, rate x 1

  7. Optimization Framework lookout for: how are capacity constraints taken into account lookout for: how are capacity constraints taken into account   r w2 path 3, path 4, rate x 3 rate x 4 2 path 2, rate x 2 c 12 c 23 r w1 3 1 c 13 path 1, rate x 1

  8. Optimization-based routing read: Gallagher 1992 [sec 5.4 intro, 5.5, 5.6], [Gallagher 1977]. read: Gallagher 1992 [sec 5.4 intro, 5.5, 5.6], [Gallagher 1977].   W: set of source-destination (sd) pairs r w : fixed rate of sd pair w (traffic to be routed) P w : set of paths between sd pair w x p : packet flow rate (“fluid”) on path p c ij link capacity of link i,j, (assume same as c ji ) F ij = Σ x p all paths p crossing link i,j

  9. Optimization-based routing F ij Σ Σ D ij (F ij ) = minimize: c ij - F ij all links all links ij ij subject Σ x p = r w all incoming flow for all w in W to: (fixed) must be all paths p in P w routed to dest. > for all p in P w , x p 0 w in W as F ij approaches c ij , D ij (F ij ) D ij (F ij ) approaches infinity 0 cij F ij

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

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

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

  13. This suggests an algorithm! For each sd pair, w: D(x) D(x) … ∂ ∂ for all k w paths evaluate: x pk x p1 for sd pair w ∂ ∂ w move “small” amount of flow to path with minimum marginal increase from other k w -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. c 2 = 1 Mbps A numerical example path 2, rate x 2 path 1, rate x 1 r 1 = 0.25 Mbps x 1 +x 2 = 0.25; x 1 > 0; x 2 > 0 c 1 = 1 Mbps x 1 x 2 + = D(x) = D 1 (x 1 ) + D 2 (x 2 ) c 1 - x 1 c 2 - x 2 c 1 D(x) c 2 D(x) ∂ ∂ = = 2 2 (c 1 - x 1 ) x 1 (c 2 - x 2 ) x 2 ∂ ∂ current 1 1 D(x) D(x) iteration: ∂ ∂ = = 2 2 x 1 =0.2 x 2 x 1 (1 - 0.2) (1 - 0.05) ∂ ∂ x 2 = 0.05 ~ 1.6 ~ 1.1 partial derivative of D wrt x 2 is smaller, so shift “small” amount of flow from p 1 to p 2 and iterate

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

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

  17. Model l each of capacity c l Links l each of capacity c Network: Network: Links   l s : (L(s), U s (x x s )) Sources s (L(s), U s ( s )) : Sources   L(s) - links used by source L(s) - links used by source s s U s (x x s ) - utility if source rate = x s U s ( s ) - utility if source rate = x s example utility function for elastic U s (x s ) application x s x 1 x x c x x c + ! + ! 1 2 1 1 3 2 c 1 c 2 x 2 x 3

Recommend


More recommend