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
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
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
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
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
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
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
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
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
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.
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 ∂ ∂
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
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
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
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
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
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