360 likes | 496 Views
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….
E N D
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…
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 .
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
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
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.
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
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)
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)
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)
Example cap=2 e1 e2 cap=2
Example cap=2 e1 e2 cap=2
Example cap=2 e1 e2 cap=2
Example cap=2 e1 e2 cap=2
Example cap=2 e1 e2 cap=2
Example cap=2 e1 e2 cap=2
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
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)
Example c(e1)=1 c(e2)=1
Example c(e1) *=1+(e/2) c(e2) *=(1+(e/2))* (1+e)
Example c(e1) *=(1+(e/2))* (1+e) c(e2) *=1+(e/2)
Example c(e1) *=1+(e/2) c(e2) *=(1+(e/2))* (1+e)
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
Recap • Running time for (1 - ε) approx • Max-Weight • poly(n, fi , cuv , l)/ ε2 • Garg-Konemann, GK(e) • poly(n)/ ε2
Question • Is the O(1/ ε2) factor real? • Could we get a simple iterative algorithm with running time O(1/ ε)?
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
Example c=1 c=1 c(e1)=1 c(e2)=1 c=1 c=1 c=1
Example c(e1) *=(1+(e/2))* (1+e) c(e2) *=1+(e/2)
Example c(e1) *=(1+e) c(e2) *=(1+(e/2))* (1+(e/2))
Max-Weight • What about Max-Weight?
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))”
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
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)
Stability at Critical Loads queuespace • Q (t ) = queue vector at time t • C = “normal cone” • Q*(t ) = closest point in C to Q (t )
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)
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?