June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith...

16
June 10, 2003 STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan Tel-Aviv University

Transcript of June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith...

Page 1: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

Optimal Oblivious Routing in Polynomial Time

Harald Räcke Paderborn

Edith CohenAT&T Labs-Research

Yossi Azar Amos Fiat Haim KaplanTel-Aviv University

Page 2: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

Routing, Demands, Flow, Congestion

• Routing: a unit s-t flow for each origin-destination pair:

fab(i,j) 0 routing for OD pair a,b on edge (i,j)

• Demands: Dab >= 0 for each OD pair a,b• Flow on edge e=(i,j) when routing D with f: flow(e,f,D)=ab fab(i,j) Dab

Congestion on edge e=(i,j) when routing D with f: cong(e,f,D)=flow(e,f,d)/capacity(e)

Page 3: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

Congestion, Oblivious Routing

• Congestion of demands D with routing f: cong(f,D)= maxe cong(e,f,D)

• Optimal routing for D: min possible congestion: opt(D) = minf cong(f,D)

• Oblivious ratio of f: obliv(f)= maxD cong(f,D)/opt(D)• Optimal Oblivious Ratio of G: obliv-opt(G)=minf obliv(f)

Page 4: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

Example

1

4

3

2 1 2 3 4

1 1 1 1 1

2 1 1 1 1

3 1 1 1 1

4 1 1 1 1

Routing f: Route each OD pair on direct edgeDemands D: unit demand for all pairscong(e,f,D)=2 for all edgesThus, cong(f,D)=2 (f is optimal for D)

Page 5: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

Example

1

4

3

2 1 2 3 4

1 0 0 1 0

2 0 0 0 0

3 0 0 0 0

4 0 0 0 0

Routing f: Route each OD pair on direct edgeDemands D: unit demand for ONE paircong(e,f,D)=1 for used edge, 0 otherwise.Thus, cong(f,D)=1 (f is NOT optimal for D)

Page 6: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

Example

1

4

3

2 1 2 3 4

1 0 0 1 0

2 0 0 0 0

3 0 0 0 0

4 0 0 0 0

Routing f: Route each OD pair on the 3 1,2 hop pathsDemands D: unit demand for one paircong(e,f,D)=1/3 for used edgescong(f,D)=1/3 “direct” routing has oblivious ratio >= 3

Page 7: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

Example

1

4

3

2 1 2 3 4

1 1 1 1 1

2 1 1 1 1

3 1 1 1 1

4 1 1 1 1

Routing f: Route each OD pair on the 3 1,2 hop pathsDemands D: unit demand for all pairscong(e,f,D)=10/3 for all edges (10 pairs use each edge)cong(f,D)=10/3 (f is NOT optimal for D) 2-hop routing has oblivious ratio >= 5/3

Page 8: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

Optimal oblivious routing

• Balances performance across all demand matrices.

• Why is it interesting?– Demands are dynamic– Changes to routing are hard– Sometimes we don’t know the

demands

Page 9: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

History• Specific networks, VC routing

– Raghavan/Thompson 87…Aspnes et al 93– Valiant/Brebner 81: Hypercubes

• Räcke 02: Any undirected network has an oblivious

routing with ratio O(log^3 n)!!

• Questions: – Poly time algorithm. – Get an optimal routing. – Directed networks?

Page 10: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

LP for Optimal Oblivious Ratio

• Minimize r s.t. fab(i,j) is a routing (1-flow for every a,b)

For all demands Dab >= 0 which can be routed with congestion 1:

For all edges e=(i,j) : (cong(e,f,D) <= r)

ab fab(i,j) Dab/capacity(e) <= r

But… Infinite number of constraints use Ellipsoid

Page 11: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

Separation Oracle• Given a routing fab(i,j), find its oblivious ratio

and a demand matrix D which maximizes the ratio (the “worst” demands for f).

For each edge e=(i,j) solve the LP (and then take the maximum over these LPs):

• Maximize ab fab(i,j) Dab/capacity(e)

• gab(i,j) is a flow of demand Dab >= 0

• For all edges h, gab(h) <= capacity(h)

** Need to insure that the numbers don’t grow too much

Page 12: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

Directed Networks (Asymmetric link

capacities)• Our algorithm computes optimal oblivious

routing for undirected and directed networks.• Räcke’s O(log^3 n) bound applies only to

undirected networks. • We show that some directed networks have

optimal oblivious ratio of (sqrt(n)).

Page 13: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

t

{i,j}

( )k2

i j kk/2

Any flow from {i,j} to t is split on the two possible paths.Thus, a routing is determined by the split ratio for each {i,j}.For any routing f, there is at least one mid-layer node i thatroutes >= half the flow for >= k/2 pairs.

“Bad” demands for f: 1 on pairs {i,*} to t, 0 otherwise.congestion is >= k/4 with f. But optimal is 1 (via alternate paths)

Page 14: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

Extensions

• Subset of OD pair demands• Ranges of demands• Node congestion• Limiting dilation

Page 15: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

Follow up/subsequent work

• Polytime construction of a Räcke-like decomposition

(two SPAA 03 papers: Harrelson/Hildrum/Rao Bienkowski/Korzeniowski/Räcke)

• More efficient polynomial time algorithm (Applegate/Cohen SIGCOMM 03)

• Oblivious routing on ISP topologies (Applegate/Cohen SIGCOMM 03)

• Online oblivious routing (Bansal/Blum/Chawla/Meyerson SPAA 03)

Page 16: June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.

June 10, 2003 STOC 2003

Open Problems

• Tighten Räcke’s bound O(log^3 n) (log n) (Currently, O(log^2 n log log n) by Harrelson/Hildrum/Rao 03)• Single source demands: Is there a constant optimal

oblivious ratio ?