Parallel Double Greedy Submodular Maxmization Xinghao Pan, Stefanie Jegelka, Joseph Gonzalez, Joseph Bradley, Michael I.
Download
Report
Transcript Parallel Double Greedy Submodular Maxmization Xinghao Pan, Stefanie Jegelka, Joseph Gonzalez, Joseph Bradley, Michael I.
Parallel Double Greedy
Submodular Maxmization
Xinghao Pan, Stefanie Jegelka, Joseph Gonzalez, Joseph Bradley, Michael
I. Jordan
Submodular Set Functions
Diminishing Returns Property
F: 2V → R, such that for all
and
Submodular Examples
Sensing
(Krause & Guestrin 2005)
Document
Summarization
Network Analysis
(Kempe, Kleinberg, Tardos 2003,
Mossel & Roch 2007)
Graph Algorithms
S
clustering
graph partitioning
Max / Min
Cut
(Lin & Bilmes 2011)
Submodular Maximization
Parallel /
Distributed
Sequential
max F(A), A ⊆ V
Monotone (increasing) functions
[ Positive marginal gains ]
Non-monotone functions
Greedy (Nemhauser et al, 1978)
(1-1/e) - approximation
Optimal polytime
Double Greedy (Buchbinder et al, 2012)
½ - approximation
Optimal polytime
GREEDI (Mirzasoleiman et al, 2013)
(1-1/e)2 / p – approximation
1 MapReduce round
Concurrency Control Double Greedy
Optimal ½ - approximation
Bounded overhead
(Kumar et al, 2013)
1 / (2+ε) – approximation
O(1/ε) MapReduce rounds
Coordination Free Double Greedy
Bounded error
Minimal overhead
?
Double Greedy Algorithm
u
Set
A
Set
B
u
v
w
x
y
z
v
w
x
y
z
Double Greedy Algorithm
u
Set
A
Set
B
u
v
w
x
y
z
v
w
x
y
z
Double Greedy Algorithm
v
Set
A
Set
B
u
v
w
x
y
z
u
w
x
y
z
Marginal gains
Δ+(u|A) = F(A ∪ u) – F(A),
Δ-(u|B) = F(B \ u) – F(B).
p( u | A, B ) = + A
-B
0
1
rand
Double Greedy Algorithm
v
Set
A
Set
B
u
v
w
x
y
z
u
w
x
y
z
Marginal gains
Δ+(u|A) = F(A ∪ u) – F(A),
Δ-(u|B) = F(B \ u) – F(B).
p( u | A, B ) = + A
-B
0
1
rand
Double Greedy Algorithm
v
Set
A
u
Set
B
u
v
w
x
y
z
v
w
x
y
z
Marginal gains
Δ+(v|A) = F(A ∪ v) – F(A),
Δ-(v|B) = F(B \ v) – F(B).
p( v | A, B ) = + A
-B
0
1
rand
Double Greedy Algorithm
w
Set
A
u
Set
B
u
w
x
y
z
Return A
x
y
z
Parallel Double Greedy
Algorithm
u
Set
A
Set
B
v
CPU 1
u
v
w
x
y
z
CPU 2
w
x
y
z
Parallel Double Greedy
Algorithm
Set
A
Set
B
?
?
u
v
CPU 1
u
w
y
Δ+(u | ?) = ?
Δ-(u | ?) = ?
u
v
w
x
y
z
CPU 2
v
x
z
Δ+(v | ?) = ?
Δ-(v | ?) = ?
Concurrency Control Double
Greedy
Maintain bounds on A, B Enable threads to make decisions locally
Set
A
Set
B
CPU 1
u
w
y
v
x
z
u
u
v
w
x
CPU 2
v
y
z
Concurrency Control Double
Greedy
Maintain bounds on A, B Enable threads to make decisions locally
Set
A
u
v
Set
B
CPU 1
u
u
w
y
Δ+(u|A) ∈ [Δ+min(u|A), Δ+max(u|A)]
Δ-(u|B) ∈ [Δ-min(u|B), Δ-max(u|B) ]
p( u | A, B ) = + A
v
Uncertaint
y
-B
0
1
w
x
CPU 2
v
y
z
x
z
Δ+(v|A) ∈ [Δ+min(v|A), Δ+max(v|A)]
Δ-(v|B) ∈ [Δ-min(v|B), Δ-max(v|B) ]
p( v | A, B ) = + A
0
Uncertaint
y
-B
1
Concurrency Control Double
Greedy
Maintain bounds on A, B Enable threads to make decisions locally
Set
A
u
v
Set
B
CPU 1
u
u
w
y
Δ+(u|A) ∈ [Δ+min(u|A), Δ+max(u|A)]
Δ-(u|B) ∈ [Δ-min(u|B), Δ-max(u|B) ]
Uncertaint
y
p( u | A, B ) = + A
v
-B
0
1
rand
w
x
CPU 2
v
y
z
x
z
Δ+(v|A) ∈ [Δ+min(v|A), Δ+max(v|A)]
Δ-(v|B) ∈ [Δ-min(v|B), Δ-max(v|B) ]
p( v | A, B ) = + A
0
Uncertaint
y
-B
1
Concurrency Control Double
Greedy
Maintain bounds on A, B Enable threads to make decisions locally
Set
A
u
v
Set
B
CPU 1
w
y
Δ+(u|A) ∈ [Δ+min(u|A), Δ+max(u|A)]
Δ-(u|B) ∈ [Δ-min(u|B), Δ-max(u|B) ]
u
Uncertaint
y
p( u | A, B ) = + A
v
Common,
Fast
-B
0
1
rand
w
x
CPU 2
v
y
z
x
Rare,
Slow
z
Δ+(v|A) =
∈ F(A
[Δ+min
∪(v|A),
v) – F(A)
Δ+max(v|A)]
Δ-(v|B) =
∈ F(B
[Δ-min(v|B),
\ v) – F(B)
Δ-max(v|B) ]
p( v | A, B ) = + A
Uncertaint
y
0
-B
1
rand
Theorem: CC double greedy is serializable.
Corollary: CC double greedy preserves optimal
approximation guarantee of ½OPT.
Lemma: CC has bounded overhead.
Expected number of blocked elements
Concurren
cy
Correctness
Properties of CC Double
Greedy
set cover with costs:
< 2τ
sparse max cut:
< 2τ |E| / |V|
τ
Set A
Set B
u
u
w
w
x
x
D
y
y
E
z
Empirical Validation
Multicore up to 16 threads
Set cover, Max graph cut
Real and synthetic graphs
Graph
Vertices
Edges
IT-2004
Italian web-graph
41 Million
1.1 Billion
UK-2005
UK web-graph
39 Million
0.9 Billion
Arabic-2005
Arabic web-graph
22 Million
0.6 Billion
Friendster
Social sub-network
10 Million
0.6 Billion
Erdos-Renyi
Synthetic random
20 Million
2.0 Billion
ZigZag
Synthetic expander
25 Million
2.0 Billion
CC Double Greedy
Coordination
Only 0.01%
needs
blocking!
% elements failed + blocked
Increase in Coordination
Runtime and Strong-Scaling
Speedup for Max Graph Cut
3
15
2.5
2
Concurrency Ctrl.
Sequential
1.5
1
Speedup
Runtime relative to sequential
Runtime, relative to sequential
10
5
0.5
0
0
5
10
# threads
15
0
0
5
10
# threads
15
Conclusion
Scalability
Approximation
Sequential
Double Greedy
Always slow
Always optimal
Concurrency
Control
Double Greedy
Usually fast
Always optimal
Coordination Free
Double Greedy
Always fast
Near optimal
Paper @ NIPS 2014:
Parallel Double Greedy Submodular Maximization.
BACKUP SLIDES
Coordination Free
Theorem: serializable.
preserves optimal
approximation bound
½OPT.
τ
Lemma:
approximation
bound ½OPT error
Set A
Set B
u
u
w
w
x
x
D
y
y
E
set cover with costs:
sparse maxcut:
Correctness
Correctness
Concurrency Control
Lemma:
bounded overhead.
set cover with costs:
sparse maxcut:
from same
dependencies
(uncertainty region)
no
overhead
Concurren
Concurren
cy
z
Adversarial Setting
Processing order
Overlapping covers
Increased coordination
Adversarial Setting – Ring Set
Cover
Faster
Larger Error
Coord
Free
Conc
Ctrl
Always fast
Possibly wrong
Possibly slow
Always optimal