All-or-Nothing Multicommodity Flow Chandra Chekuri Sanjeev Khanna Bruce Shepherd Bell Labs U. Penn Bell Labs
Dec 15, 2015
All-or-Nothing Multicommodity Flow
Chandra Chekuri Sanjeev Khanna Bruce Shepherd
Bell Labs U. Penn Bell Labs
Routing connections in networks
25
NY
SE
DE 10
20
5
6
NY – SF 10 Gb/secNY – SF 20SE – DE 5SF – DE 6
Core Optical Network
Multicommodity Routing Problem
Network – graph with edge capacities Requests: k pairs, (si, ti) with demand di
Objective: find a feasible routing for all pairs
Optimization: maximize number of pairs routed
All-or-Nothing Flow Problems
Pair is routed only if all of di satisfied
Single path for routing: unsplittable flow(connection oriented networks)
Fractional flow paths: all-or-nothing flow(packet routing networks)
Integer flow paths: all-or-nothing integer flow (wavelength paths)
Complexity of AN-Flow
di = 1 for all i
Single path: edge disjoint paths problem (EDP)
classical problem, NP-hard only polynomial approx ratios
AN-MCF: APX-hard on trees approximation ?
Approximating EDP/AN-MCF
O(min(n2/3,m1/2)) approx in dir/undir graphs (EDP/UFP) [Kleinberg 95, Srinivasan 97, Kolliopoulos-Stein 98, C-Khanna 03, Varadarajan-Venkataraman 04]
EDP is (n1/2 - )-hard to approx in directed graphs [Guruswami-Khanna-Rajaraman-Shepherd-Yannakakis 99]
LP integrality gap for EDP is (n1/2) [GVY 93]
AN-MCF: APX-hard on trees [Garg-Vazirani-Yannakakis 93]
Results
In undirected graphs AN-MCF has an O(log3 n log log n) approximation
Polynomial factor to poly-logarithmic factor
Approx via LP, integrality gap not large
For planar graphs O(log2 n log log n) approxSame ratios for arbitrary demands: dmax · umin
Online algorithm with same ratio
LP Relaxation
xi : amount of flow routed for pair (si, ti)
max i xi
s.txi flow is routed for (si,ti) 1 · i · k
0 · xi · 1 1 · i · k
A Simple Fact
Given AN-MCF instance: all di = 1
Can find (OPT) pairs such that each pair routes 1/log n flow each
How? rand rounding of LP and scaling down
Problem: we need pairs that send 1 unit each
Nice Flow Paths
Suppose all flow paths use a single vertex v
v
s1
s2
s3
s4
t1
t2
t3
t4
Routing via Clustering
v
cluster has log n terminals cluster induces a connected component clusters are edge disjoint
Clustering
Finding connected edge-disjoint clusters?
G is connected: use a spanning tree for a rough grouping of terminals
New copy of G for clustering: congestion 21 for clustering, 1 for routing
Congestion 1 using complicated clustering
How to find nice flow paths?
Algorithmic tool:
Racke’s hierarchical graph decomposition for oblivious routing [Räcke02]
Räcke’s Graph Decomposition
Represent G as a capacitated tree T
leaves of T are vertices of G
internal node v: G(v) is induced graph on leaves of T(v)
103
2 4
7
4v
Räcke’s Result
T is a proxy for G For all Dc*(D,G) · c(D,T) · (G) c*(D,G)
Routing in T is unique
(G) = O(log3 n) [Räcke 02](G) = O(log2 n log log n) [Harrelson-Hildrum-Rao
03]
Routing details
With each v there is distribution v on G(v) s.t
i 2 G(v) v(i) = 1
s distributes 1 unit of flow to G(v) according to v
t distributes 1 unit of flow to G(v) according to v
v
s t
Back to Nice Flow Paths
v
s1
s2
s3
s4
t1
t2
t3t4
G(v), v
s1
s2
s3
s4
t1
t2
t3t4
X(v): pairs with v as their least common ancestor (lca)
Routing in T
Routing in G
Algorithm
Find set of pairs X that can be routed in T (use tree algorithm [GVY93,CMS03])
Each pair (si,ti) in X has a level L(i) Choose level L* at which most pairs turn Route pairs independently in subgraphs
at L*
L* v
Algorithm cont’d
v at L* , X(v) pairs in X that turn at v Can route 1/(G) flow for each pair in
X(v) using nice flow paths Use clustering to route X(v)/(G) pairs
Approx ratio is (G) depth(T) = O(log3 n log log n)
Open Problems
Improve approximation ratio What is integrality gap of LP ?
No super-constant gap known
Extend ideas to EDP Recent result: Poly-log approximation for
EDP/UFP in planar graphs with congestion 3