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

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

Embed Size (px)

Citation preview

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 ?