Optimization via Communication Networks

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

description

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…. - PowerPoint PPT Presentation

Transcript of Optimization via Communication Networks

Page 1: Optimization via Communication Networks

CISS Princeton, March 2008 1

Optimization via Communication Networks

Matthew AndrewsAlcatel-Lucent Bell Labs

Page 2: Optimization via Communication Networks

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…

Page 3: Optimization via Communication Networks

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

),( dvQ

)},({)},({ duqdvq

),( duQ

Page 4: Optimization via Communication Networks

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

Page 5: Optimization via Communication Networks

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

Page 6: Optimization via Communication Networks

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.

Page 7: Optimization via Communication Networks

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

Page 8: Optimization via Communication Networks

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 )

..

0

)(

wo

dv

sv

f

f

xx

cx

i

i

ui

iiuv

ivu

vui

ivu

Page 9: Optimization via Communication Networks

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)

Px

bAx

Page 10: Optimization via Communication Networks

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)

..

0

)(

wo

dv

sv

f

f

xx

cx

i

i

ui

iiuv

ivu

vui

ivu

Page 11: Optimization via Communication Networks

11

1

1

2

2

2

3

2

11

31

21

2

1

21

22

11

e

e

ee

ee

ee

x

x

xx

xx

xx

Example

cap=2 cap=2e1 e2

Page 12: Optimization via Communication Networks

12

Example

1

1

2

2

2

3

2

11

31

21

2

1

21

22

11

e

e

ee

ee

ee

x

x

xx

xx

xx

cap=2 cap=2e1 e2

Page 13: Optimization via Communication Networks

13

Example

1

1

2

2

2

3

2

11

31

21

2

1

21

22

11

e

e

ee

ee

ee

x

x

xx

xx

xx

cap=2 cap=2e1 e2

Page 14: Optimization via Communication Networks

14

Example

1

1

2

2

2

3

2

11

31

21

2

1

21

22

11

e

e

ee

ee

ee

x

x

xx

xx

xx

cap=2 cap=2e1 e2

Page 15: Optimization via Communication Networks

15

Example

1

1

2

2

2

3

2

11

31

21

2

1

21

22

11

e

e

ee

ee

ee

x

x

xx

xx

xx

cap=2 cap=2e1 e2

Page 16: Optimization via Communication Networks

16

Example

1

1

2

2

2

3

2

11

31

21

2

1

21

22

11

e

e

ee

ee

ee

x

x

xx

xx

xx

cap=2 cap=2e1 e2

Page 17: Optimization via Communication Networks

17

Max-Weight Analysis Run Max-Weight with injection rates = (1 – ε/2) fi

After t time steps Data injected on flow i = t (1 – ε/2) fi

Aggregate queue size = poly(n, cuv )/ ε (use quadratic Lyapunov function)

Flow i data that has reached destination = t (1 – ε/2) fi - poly(n, cuv )/ ε

Create solution from routes of packets that have reached dest After time poly(n, fi , cuv , )/ ε2, have solution that routes flow i data at rate ′fi =(1 - ε) fi

..

0

)(

wo

dv

sv

f

f

xx

cx

i

i

ui

iiuv

ivu

vui

ivu

Page 18: Optimization via Communication Networks

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()

Page 19: Optimization via Communication Networks

19

Example

1

1

2

2

2

3

2

11

31

21

2

1

21

22

11

e

e

ee

ee

ee

x

x

xx

xx

xx

c(e1)=1 c(e2)=1

Page 20: Optimization via Communication Networks

20

Example

1

1

2

2

2

3

2

11

31

21

2

1

21

22

11

e

e

ee

ee

ee

x

x

xx

xx

xx

c(e1) *=1+() c(e2) *=(1+())*

(1+)

Page 21: Optimization via Communication Networks

21

Example

1

1

2

2

2

3

2

11

31

21

2

1

21

22

11

e

e

ee

ee

ee

x

x

xx

xx

xx

c(e2) *=1+()c(e1) *=(1+())*

(1+)

Page 22: Optimization via Communication Networks

22

Example

1

1

2

2

2

3

2

11

31

21

2

1

21

22

11

e

e

ee

ee

ee

x

x

xx

xx

xx

c(e1) *=1+() c(e2) *=(1+())*

(1+)

Page 23: Optimization via Communication Networks

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 ′fi =(1 - ε) fi

..

0

)(

wo

dv

sv

f

f

xx

cx

i

i

ui

iiuv

ivu

vui

ivu

Page 24: Optimization via Communication Networks

24

Recap

Running time for (1 - ε) approx Max-Weight

poly(n, fi , cuv , )/ ε2

Garg-Konemann, GK() poly(n)/ ε2

..

0

)(

wo

dv

sv

f

f

xx

cx

i

i

ui

iiuv

ivu

vui

ivu

Page 25: Optimization via Communication Networks

25

Question

Is the O(1/ ε2) factor real?

Could we get a simple iterative algorithm with running time O(1/ ε)?

..

0

)(

wo

dv

sv

f

f

xx

cx

i

i

ui

iiuv

ivu

vui

ivu

Page 26: Optimization via Communication Networks

26

Garg-Konemann What about Garg-Konemann?

There exist instances where GK() never achieves flow rates better than (1 - ε) fi

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

Page 27: Optimization via Communication Networks

27

Example

1

2

1

2

2

3

2

11

31

21

2

1

21

22

11

e

e

ee

ee

ee

x

x

xx

xx

xx

c(e1)=1 c(e2)=1

c=1 c=1

c=1

c=1

c=1

Page 28: Optimization via Communication Networks

28

Example

1

2

1

2

2

3

2

11

31

21

2

1

21

22

11

e

e

ee

ee

ee

x

x

xx

xx

xx

c(e2) *=1+()c(e1) *=(1+())*

(1+)

Page 29: Optimization via Communication Networks

29

Example

1

2

1

2

2

3

2

11

31

21

2

1

21

22

11

e

e

ee

ee

ee

x

x

xx

xx

xx

c(e2) *=(1+())* (1+())

c(e1) *=(1+)

Page 30: Optimization via Communication Networks

30

Max-Weight

What about Max-Weight?

Page 31: Optimization via Communication Networks

31

Standard Max-Weight Analysis Run Max-Weight with injection rates = (1 - ε) fi

Aggregate queue size = poly(n, cuv )/ ε , running time = poly(n, fi , cuv , )/ ε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))”

..

0

)(

wo

dv

sv

f

f

xx

cx

i

i

ui

iiuv

ivu

vui

ivu

Page 32: Optimization via Communication Networks

32

Alternative Max-Weight Analysis Joint work with Sasha Stolyar

Run Max-Weight with injection rates = fi

Aggregate queue size = F(n, fi , cuv , ) “Queues are stable at critical loads”

After time F(n, fi , cuv , )/ ε, have solution that routes flow i data at rate ′fi =(1 - ε) fi

..

0

)(

wo

dv

sv

f

f

xx

cx

i

i

ui

iiuv

ivu

vui

ivu

Page 33: Optimization via Communication Networks

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)

)(tQ

queuespace

rate region

C

Page 34: Optimization via Communication Networks

34

Stability at Critical Loads

Q (t ) = queue vector at time t

C = “normal cone”

Q* (t ) = closest point in C to Q (t )

)(tQ

)(* tQqueuespace

C

Page 35: Optimization via Communication Networks

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)

)(tQ

)(* tQ

C

Page 36: Optimization via Communication Networks

36

Summary Running time for (1 - ε) approx

Max-Weight min ( poly(n, fi , cuv , )/ ε2 , F(n, fi , cuv , )/ ε )

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?