1 / 36

Optimization via Communication Networks

Optimization via Communication Networks. Matthew Andrews Alcatel-Lucent Bell Labs. 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….

candid
Download Presentation

Optimization via Communication Networks

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 via Communication Networks Matthew Andrews Alcatel-Lucent Bell Labs

  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. MaxWeight (Backpressure) Algorithm • 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 .

  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. 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. 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. 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. Multicommodity Flow • Routing problem • Find routes that satisfy the following (assuming they exist) • (Typically, want to find max l such flow rates are feasible. However, won’t worry about that here. We will assume that we know the maximum feasible l)

  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. Multicommodity Flow • Routing problem • Find routes that satisfy the following (assuming they exist) • (Typically, want to find max l such flow rates are feasible. However, won’t worry about that here)

  11. Example cap=2 e1 e2 cap=2

  12. Example cap=2 e1 e2 cap=2

  13. Example cap=2 e1 e2 cap=2

  14. Example cap=2 e1 e2 cap=2

  15. Example cap=2 e1 e2 cap=2

  16. Example cap=2 e1 e2 cap=2

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

  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 e, call it GK(e)

  19. Example c(e1)=1 c(e2)=1

  20. Example c(e1) *=1+(e/2) c(e2) *=(1+(e/2))* (1+e)

  21. Example c(e1) *=(1+(e/2))* (1+e) c(e2) *=1+(e/2)

  22. Example c(e1) *=1+(e/2) c(e2) *=(1+(e/2))* (1+e)

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

  24. Recap • Running time for (1 - ε) approx • Max-Weight • poly(n, fi , cuv , l)/ ε2 • Garg-Konemann, GK(e) • poly(n)/ ε2

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

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

  27. Example c=1 c=1 c(e1)=1 c(e2)=1 c=1 c=1 c=1

  28. Example c(e1) *=(1+(e/2))* (1+e) c(e2) *=1+(e/2)

  29. Example c(e1) *=(1+e) c(e2) *=(1+(e/2))* (1+(e/2))

  30. Max-Weight • What about Max-Weight?

  31. Standard Max-Weight Analysis • Run Max-Weight with injection rates = l (1 - ε) fi • Aggregate queue size = poly(n, cuv )/ ε, running time = poly(n, fi , cuv , l)/ ε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. Alternative Max-Weight Analysis • Joint work with Sasha Stolyar • Run Max-Weight with injection rates = lfi • Aggregate queue size = F(n, fi , cuv , l) “Queues are stable at critical loads” • After time F(n, fi , cuv , l)/ ε, have solution that routes flow i data at rate l′fi =l (1 - ε) fi

  33. Stability at Critical Loads queuespace rate region • 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)

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

  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. Summary • Running time for (1 - ε) approx • Max-Weight • min ( poly(n, fi , cuv , l)/ ε2, F(n, fi , cuv , l)/ ε ) • 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?

More Related