PPT

Another story on
Multi-commodity Flows
and its “dual” Network Monitoring
Rohit Khandekar
IBM Watson
Joint work with
Baruch Awerbuch
JHU
Outline
• Crash course:
– Set cover problem and the greedy algorithm
– Framework for distributed covering problems
• The maximum multi-commodity problem and its
dual passive commodity monitoring problem
• Fast converging distributed approximation schemes
The Set Cover Problem
Given
• a set of elements U
• subsets S1, S2, …, Sk µ U with costs c1, c2, …, ck ¸ 0
Find
• Minimum cost collection of subsets whose union is
entire U.
min
P
P
ci x i
i :e2 Si x i
xi
i
¸
2
1
8e 2 U
f 0; 1g 8i
The Greedy Algorithm
1. x i à 0 for all set s Si
2. r e à 1 for all e 2 U
P
3. While 9e 2 U wit h
(re = 1 if e is not yet covered)
i :e2 S i
x i < 1 do:
(a) Find a set Si t hat minimizes P
ci
e2 S i
re
(b) x i à 1
(c) r e à 0 for all e 2 Si
Gives O(log n) approximation where n = |U|.
The Fractional Set Cover Problem
The LP relaxation of the set cover IP.
min
P
P
ci x i
i :e2 Si x i
xi
xi
i
¸
2
¸
1
8e 2 U
f 0; 1g 8i
0
The Fractional Greedy Algorithm
Drawback:
#iterations = n/²2
1. x i à 0 for all set s Si
2. r e à 1 for all e 2 U
P
3. While 9e 2 U wit h
i :e2 S i
x i < 1 do:
(a) Find a set Si t hat minimizes P
ci
e2 S i
re
(b) x i à 1 x i à x i + ² 2
(c) r e à 0 r e Ã
r e ¢(1 ¡ ²) for all e 2 Si
Gives O(log n) ( 1 + ² ) approximation.
The Fractional Greedy Algorithm
1. x i à 0 for all set s Si
2. r e à 1 for all e 2 U
P
3. While 9e 2 U wit h
i :e2 S i
x i < 1 do:
all
ci
P
(a) Find a set Si t hat minimizes
e2 S i
(b) x i à x i + ² 2
(c) r e à r e ¢(1 ¡ ²) for all e 2 Si
re
The Fractional Distributed Algorithm
Also computes a
near-optimum dual
solution
1. x i à 0 for all set s Si
2. r e à 1 for all e 2 U
P
3. While 9e 2 U wit h
i :e2 S i
x i < 1 do:
(a) Find all Si t hat (approx.) minimize P
ci
e2 S i
re
(b) For all such i : do x i à x i ¢(1 + ² 2 ) + ±
(c) Decrease r e appropriat ely for all e
2
# iterations =
log ( n C )
²4
¢log 1±
Luby-Nissan (93),
Garg-Konemann (98),
Young (01)
Maximum Throughput
Concurrent Multi-commodity Flow
ce = capacity
Maximum Throughput
Concurrent Multi-commodity Flow
Send maximum total flow between the pairs
subject to the edge-capacity constraints.
Maximum Throughput
Concurrent Multi-commodity Flow
Primal (packing)
max
P
P
p
fp
f p · ce
fp ¸ 0
p:e2 p
Send maximum total flow between the pairs
subject to the edge-capacity constraints.
8e
8p
Distributed Computation Model
The ROUTERS model:
• “Intelligence” is embodied in the network routers
• Computations takes place by exchanging messages
between neighboring routers
Complexity measures:
• Approximation ratio ((1+²) approximation)
• Message congestion (# messages/router/round)
• Space complexity (space needed/router)
• Convergence time (# rounds to converge)
• Computational complexity (total work)
Multicommodity Problem & Its Dual
Primal (packing)
max
P
P
p
fp
f p · ce
fp ¸ 0
p:e2 p
Dual (covering)
min
8e
8p
P
P
x e ¸ 1 8p
xe ¸ 0
8e
e2 p
Dual: Probe edges e with frequency
xe so that each path gets probed to
an extent 1 while minimizing the
total cost of probing e ce xe
Passive commodity monitoring
e ce x e
dual = set cover
edges = sets
paths = elements
Main Result
There is an algorithm for maximum multicommodity
flows and passive commodity monitoring with the
following properties
L = maximum
hop-length of a
• (1 + ²) approximation
flowpath
³
3
log j P j
²4
´
³
O ( 1)
= O L 3 ¢ log ² 4
n
´
•
O
convergence
•
~ ¢L 3 ) messages/router
~ ¢L ) space and O(k
O(k
•
~ ¢k ¢L 3 ) computational overhead
O(m
Comparison with Previous Work
Reference
Rounds
Messages
Space
Comput at ion
GK , F, Y
m+ k
m+ k
m+ k
m ¢(m + k)
LN,Y
L
nL
nL
nL
AK R, AK
m ¢L
k ¢L
k
m 3 ¢k ¢L
AL
m ¢L
m ¢k ¢L
m ¢L
m 2 ¢L
t his work
L3
k ¢L 3
k ¢L
m ¢k ¢L 3
m
=
number of edges
n
=
number of vert ices
k
=
number of commodit ies
L
=
maximum hop-lengt h of a ° owpat h
The Algorithm
Primal (packing)
max
P
P
Dual (covering)
pfp
p:e2 p f p · ce
fp ¸ 0
min
P
8e
8p
P
e ce x e
x e ¸ 1 8p
xe ¸ 0
8e
e2 p
• Set cover with edges as sets and paths as elements
• Associate with each path p, a residual requirement
h
P
r p = exp ¡ ®¢
(® is a constant)
i
e2 p
xe
(profit of path p)
The Algorithm
• Repeat:
• For all edges that (approximately) minimize the
cost-to-profit ratio:
ce
P
p :e2 p
increase
rp
x e à x e(1 + ² 2 ) + ±
• Increase the flow on all paths through such edges
P
How to compute aaaaaaaa
p:e2 p r p
X
Compute
X Y
rp =
p
A shortest path algorithm
(Dijkstra) computes:
A similar (dynamic
programming) algorithm
computes:
exp[¡ ® ¢x e ]
p
e2 p
X
min
p
le
e2 p
X Y
le
p
e2 p
P Q
Computing shortest paths on a “semi-ring” (<; ; )
P
How to compute aaaaaaaa
p:e2 p r p
1
l1
2
3
4
P
l2
l3
l4
P
P
P
P
= l1 ¢ 1 + l2 ¢ 2 + l3 ¢ 3 + l4 ¢
4
Conclusions
• First multi-commodity algorithm
– Via dual multi-cut problem
– Breaks the (m) convergence barrier
– Convergence polynomial in path-length L
• Question: Can we get O(L) convergence?
Thank You