Presentation is loading. Please wait.

Presentation is loading. Please wait.

CISS Princeton, March 20081 Optimization via Communication Networks Matthew Andrews Alcatel-Lucent Bell Labs.

Similar presentations


Presentation on theme: "CISS Princeton, March 20081 Optimization via Communication Networks Matthew Andrews Alcatel-Lucent Bell Labs."— Presentation transcript:

1 CISS Princeton, March 20081 Optimization via Communication Networks Matthew Andrews Alcatel-Lucent Bell Labs

2 2 Packet Scheduling in Communication Networks Suppose we want to route and schedule packets in a wireline/wireless network so that queues are stable whenever possible One way to do this is…

3 3 At each time, for each open edge (v,u), choose d such that is maximized (as long as resulting differential is non-negative) Send one packet over the edge from to. MaxWeight (Backpressure) Algorithm

4 4 Why does this work? Given network routing problem… … can write down multicommodity-flow problem … then show that packet dynamics track solution to multicommodity-flow problem Thm: Multicommodity-flow problem is feasible iff queues are stable Proof: Quadratic Lyapunov function

5 5 But what if we want to go the other way?? Support we want to solve a multicommodity-flow problem … … we could construct a network, inject packets and run Max-Weight Thm: If queues are stable, we obtain approximate solution to original multicommodity-flow problem Running time often much better than generic LP algorithms

6 6 History  Max-Weight was studied independently in two separate communities  Networking community – scheduling in wireless networks e.g.  L. Tassiulas, A. Ephremides, IEEE Transactions on Information theory 1992.  Theoretical Computer Science community – distributed algorithm for solving multicommodity flow problems e.g.  B. Awerbuch, T. Leighton, STOC 1994.

7 7 Outline Present Max-Weight approach for multi-commodity flow probs “Additive weight method” Present another iterative method – Garg-Konemann algorithm “Multiplicative weight method” Investigate running time In particular, dependence on the error

8 8 Multicommodity Flow Routing problem Find routes that satisfy the following (assuming they exist) (Typically, want to find max such flow rates are feasible. However, won’t worry about that here. We will assume that we know the maximum feasible )

9 9 Packing problems Everything in this talk generalizes to packing problems Let P be a polytope and let A be a matrix s.t. Ax ≥0 for all x in P Packing problem: find an x that satisfies, using calls to an oracle that can minimize c ‧ x over P for any vector c (Dantzig-Wolfe algorithm)

10 10 Multicommodity Flow Routing problem Find routes that satisfy the following (assuming they exist) (Typically, want to find max such flow rates are feasible. However, won’t worry about that here)

11 11 Example cap=2 e1e1 e2e2

12 12 Example cap=2 e1e1 e2e2

13 13 Example cap=2 e1e1 e2e2

14 14 Example cap=2 e1e1 e2e2

15 15 Example cap=2 e1e1 e2e2

16 16 Example cap=2 e1e1 e2e2

17 17 Max-Weight Analysis Run Max-Weight with injection rates =  (1 – ε/2) f i After t time steps Data injected on flow i = t  (1 – ε/2) f i Aggregate queue size = poly(n, c uv )/ ε (use quadratic Lyapunov function) Flow i data that has reached destination = t  (1 – ε/2) f i - poly(n, c uv )/ ε Create solution from routes of packets that have reached dest After time poly(n, f i, c uv, )/ ε 2, have solution that routes flow i data at rate ′  f i =  (1 - ε) f i

18 18 Garg-Konemann Alternative approach: Find solution using a path routing algorithm, rather than a packet scheduling algorithm Have set of link weights Route according to shortest path Update weights multiplicatively!!! Algorithm parametrized by  call it GK(  )

19 19 Example c(e 1 )=1c(e 2 )=1

20 20 Example c(e 1 ) *=1+(  )c(e 2 ) *=(1+(  )) * (1+  )

21 21 Example c(e 2 ) *=1+(  )c(e 1 ) *=(1+(  )) * (1+  )

22 22 Example c(e 1 ) *=1+(  )c(e 2 ) *=(1+(  )) * (1+  )

23 23 Garg-Konemann Analysis Run GK(ε) Create solution from all flow routes, normalized to fit link capacities After time poly(n)/ ε 2, GK(  ) gives solution that routes flow i at rate ′  f i =  (1 - ε) f i

24 24 Recap Running time for (1 - ε) approx Max-Weight poly(n, f i, c uv, )/ ε 2 Garg-Konemann, GK(  ) poly(n)/ ε 2

25 25 Question Is the O(1/ ε 2 ) factor real? Could we get a simple iterative algorithm with running time O(1/ ε)?

26 26 Garg-Konemann What about Garg-Konemann? There exist instances where GK(  ) never achieves flow rates better than  (1 - ε) f i Moreover, time taken to achieve this solution is Ω (1/ ε 2 ) Two reasons why convergence time is quadratic in 1  Initial edges weights may be far from optimal Optimal solution may not increase edge weights uniformly due to 2 nd order terms

27 27 Example c(e 1 )=1c(e 2 )=1 c=1

28 28 Example c(e 2 ) *=1+(  ) c(e 1 ) *=(1+(  )) * (1+  )

29 29 Example c(e 2 ) *=(1+(  ))* (1+(  )) c(e 1 ) *=(1+  )

30 30 Max-Weight What about Max-Weight?

31 31 Standard Max-Weight Analysis Run Max-Weight with injection rates =  (1 - ε) f i Aggregate queue size = poly(n, c uv )/ ε, running time = poly(n, f i, c uv, )/ ε 2 Standard quadratic Lyapunov function argument does not imply stability at critical loads “q(t+1) ‧ q(t+1) = q(t) ‧ q(t) + 2q(t) ‧ (a(t)-s(t)) + (a(t)-s(t)) ‧ (a(t)-s(t))”

32 32 Alternative Max-Weight Analysis Joint work with Sasha Stolyar Run Max-Weight with injection rates = f i Aggregate queue size = F(n, f i, c uv, ) “Queues are stable at critical loads” After time F(n, f i, c uv, )/ ε, have solution that routes flow i data at rate ′  f i =  (1 - ε) f i

33 33 Stability at Critical Loads Q (t ) = queue vector at time t R = rate region (set of all possible changes to queue vector) C = “normal cone” to rate region (equiv. to opt dual solution) queuespace rate region

34 34 Stability at Critical Loads Q (t ) = queue vector at time t C = “normal cone” Q * (t ) = closest point in C to Q (t ) queuespace

35 35 Stability at Critical Loads Lemma: Q (t ) is bounded distance from Q * (t ) If Q (t ) is unstable Q * (t ) grows sublinearly. Q * (t ) is constant for arbitrarily long periods. Q (t ) must cycle. (Contradiction)

36 36 Summary Running time for (1 - ε) approx Max-Weight min ( poly(n, f i, c uv, )/ ε 2, F(n, f i, c uv, )/ ε ) Garg-Konemann poly(n)/ ε 2 Key question, what is the function F ? Alas, can be exponential in n Hence F/ ε running time only dominates when ε is exponentially small However F is intimately connected with geometry of problem Polynomial for randomly perturbed instances?


Download ppt "CISS Princeton, March 20081 Optimization via Communication Networks Matthew Andrews Alcatel-Lucent Bell Labs."

Similar presentations


Ads by Google