Distributed Evolutionary Graph...
Transcript of Distributed Evolutionary Graph...
1 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Institute for Theoretical Computer Science
DistributedEvolutionary Graph PartitioningPeter Sanders, Christian SchulzWorkshop on EA & EA – Agra, India
KIT – Universitat des Landes Baden-Wurttemberg undnationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
Overview
2 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
IntroductionMultilevel AlgorithmsEvolutionary TechniquesExperimentsSummary
Simulation - FEM
3 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Simulation space is discretizedinto a meshSolution of partial differentialequations are approximated bylinear equationsNumber of vertices canbecome quite large→ time and memoryParallel processing required
The Common Parallel Approach
4 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Mesh partitioned via dual graph1. Each volume (data, calculation) is
represented by a vertex2. Interdependencies are represented by
edges
All PE’s get same amount of workCommunication is expensive
Graph Partitioning Problem:Partition a graph into (almost) equally sized blocks, such that thenumber of edges connecting vertices from different blocks is minimal.
ε-Balanced Graph Partitioning
5 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Partition graph G = (V ,E , c : V → R>0,ω : E → R>0)into k disjoint blocks s.t.
total node weight of each block ≤ 1 + ε
ktotal node weight
total weight of cut edges as small as possible
Applications:linear equation systems, VLSI design, route planning, . . .
6 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Multilevel Graph Partitioning1. Contraction2. Local Search3. Global Search
Multi-Level Graph Partitioning
7 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Successful in existing systems:Metis, Scotch, Jostle,. . . , KaPPa, KaSPar, KaFFPa, KaFFPaE
8 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Multilevel Graph Partitioning1. Contraction2. Local Search3. Global Search
Contract Matchings
9 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
a+b
A+B
a b
A B
But how are the edges selected?
Graph PartitioningMatching Selection
10 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Goals:1. large edge weights sparsify2. large #edges few levels3. uniform node weights “represent” input4. small node degrees “represent” input unclear objective gap to approx. weighted matchingwhich only considers 1.,2.
Our Solution:Apply approx. weighted matching to general edge rating function
input graph
...
contract
match
Graph PartitioningEdge Ratings
11 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
ω({u, v})
expansion({u, v}) :=ω({u, v})
c(u) + c(v)
expansion∗({u, v}) :=ω({u, v})c(u)c(v)
expansion∗2({u, v}) :=ω({u, v})2
c(u)c(v)
innerOuter({u, v}) :=ω({u, v})
Out(v) + Out(u)− 2ω(u, v)
where c = node weight, ω =edge weight,Out(u) := ∑{u,v}∈E ω({u, v})
12 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Multilevel Graph Partitioning1. Contraction2. Local Search3. Global Search
FM Local Search
13 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
compute gain ∀ v ∈ V
g(v) = dext (v)− dint (v)store gain of boundarynodes (e.g. in a heap)
FM Local Search
13 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
compute gain ∀ v ∈ Vg(v) = dext (v)− dint (v)
store gain of boundarynodes (e.g. in a heap)
FM Local Search
13 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
compute gain ∀ v ∈ Vg(v) = dext (v)− dint (v)store gain of boundarynodes (e.g. in a heap)
FM Local Search
13 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
move highest gain verticesto opposite blockeach node at most onceupdate gain of neighbors
Step: 0Edge Cut: 5
FM Local Search
13 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
move highest gain verticesto opposite blockeach node at most onceupdate gain of neighbors
Step: 0 1Edge Cut: 5 4
FM Local Search
13 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
move highest gain verticesto opposite blockeach node at most onceupdate gain of neighbors
Step: 0 1 2Edge Cut: 5 4 6
FM Local Search
13 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
move highest gain verticesto opposite blockeach node at most onceupdate gain of neighbors
Step: 0 1 2 3Edge Cut: 5 4 6 8
FM Local Search
13 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
stop after limittake best edge cutwithin balance constraint
steps
edgecut
Step: 0 1 2 3Edge Cut: 5 4 6 8
FM Local Search
13 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
stop after limittake best edge cutwithin balance constraint
steps
edgecut
Step: 0 1 2 3Edge Cut: 5 4 6 8
FM Local Search – Discussion
14 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
+ Generalizable for multiple blocks+ Linear time− Unlikely to find improvements requiring ≥ 2 negative gain moves
+++
More Localized Local Search
15 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Idea: KaPPa, KaSPar ⇒ more local searches are betterTypical: k -way local search initialized with complete boundaryLocalization:
1. complete boundary⇒ maintained todo list T2. initialize search with single node v ∈rnd T3. iterate until T = ∅
each node moved at most once
More Localized Local Search
15 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Idea: KaPPa, KaSPar ⇒ more local searches are betterTypical: k -way local search initialized with complete boundaryLocalization:
1. complete boundary⇒ maintained todo list T2. initialize search with single node v ∈rnd T3. iterate until T = ∅
each node moved at most once
More Localized Local Search
15 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Idea: KaPPa, KaSPar ⇒ more local searches are betterTypical: k -way local search initialized with complete boundaryLocalization:
1. complete boundary⇒ maintained todo list T2. initialize search with single node v ∈rnd T3. iterate until T = ∅
each node moved at most once
More Localized Local Search
15 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Idea: KaPPa, KaSPar ⇒ more local searches are betterTypical: k -way local search initialized with complete boundaryLocalization:
1. complete boundary⇒ maintained todo list T2. initialize search with single node v ∈rnd T3. iterate until T = ∅
each node moved at most once
More Localized Local Search
15 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Idea: KaPPa, KaSPar ⇒ more local searches are betterTypical: k -way local search initialized with complete boundaryLocalization:
1. complete boundary⇒ maintained todo list T2. initialize search with single node v ∈rnd T3. iterate until T = ∅
each node moved at most once
More Localized Local Search
15 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Idea: KaPPa, KaSPar ⇒ more local searches are betterTypical: k -way local search initialized with complete boundaryLocalization:
1. complete boundary⇒ maintained todo list T2. initialize search with single node v ∈rnd T3. iterate until T = ∅
each node moved at most once
More Localized Local Search
15 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Idea: KaPPa, KaSPar ⇒ more local searches are betterTypical: k -way local search initialized with complete boundaryLocalization:
1. complete boundary⇒ maintained todo list T2. initialize search with single node v ∈rnd T3. iterate until T = ∅
each node moved at most once
More Localized Local Search
15 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Idea: KaPPa, KaSPar ⇒ more local searches are betterTypical: k -way local search initialized with complete boundaryLocalization:
1. complete boundary⇒ maintained todo list T2. initialize search with single node v ∈rnd T3. iterate until T = ∅
each node moved at most once
More Localized Local Search
15 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Idea: KaPPa, KaSPar ⇒ more local searches are betterTypical: k -way local search initialized with complete boundaryLocalization:
1. complete boundary⇒ maintained todo list T2. initialize search with single node v ∈rnd T3. iterate until T = ∅
each node moved at most once
More Localized Local Search
15 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Idea: KaPPa, KaSPar ⇒ more local searches are betterTypical: k -way local search initialized with complete boundaryLocalization:
1. complete boundary⇒ maintained todo list T2. initialize search with single node v ∈rnd T3. iterate until T = ∅
each node moved at most once
More Localized Local Search
15 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Idea: KaPPa, KaSPar ⇒ more local searches are betterTypical: k -way local search initialized with complete boundaryLocalization:
1. complete boundary⇒ maintained todo list T2. initialize search with single node v ∈rnd T3. iterate until T = ∅
each node moved at most once
More Localized Local Search
15 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Idea: KaPPa, KaSPar ⇒ more local searches are betterTypical: k -way local search initialized with complete boundaryLocalization:
1. complete boundary⇒ maintained todo list T2. initialize search with single node v ∈rnd T3. iterate until T = ∅
each node moved at most once
16 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Multilevel Graph Partitioning1. Contraction2. Local Search
Localization of Local Search helpsFlows as Local Search
3. Global Search
Flows as Local ImprovementTwo Blocks
17 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
V1V2B
Gs t
∂1B ∂2B
area B, such that each (s, t)-min cut is ε-balanced cut in Ge.g. 2 times BFS (left, right)
stop the BFS, if size would exceed (1 + ε) c(V )2 − c(V2)
⇒ c(V2new) ≤ c(V2) + (1 + ε) c(V )2 − c(V2)
Flows as Local ImprovementTwo Blocks
18 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
s t
B
GV1
V2
obtain optimal cut in Bsince each cut in B yields a feasible partition→ improved two-partitionadvanced techniques possible and necessary
Example100x100 Grid
19 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
ExampleConstructed Flow Problem (using BFS)
20 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
ExampleApply Max-Flow Min-Cut
21 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
ExampleOutput Improved Partition
22 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Local Improvement for k -partitionsUsing Flows?
23 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
on each pair of blocks
input graph
...
initial
...
outputpartition
local improvement
partitioning
match
contract uncontract
24 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Multilevel Graph Partitioning1. Contraction2. Local Search
Localization of Local Search helpsFlows as Local Search
3. Global Search
Iterated Multilevel [Walshaw 2004]
25 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
contract
input graph
match
... ...local improvement
partitioning
initialuncontractcontract
...
uncontract
local improvement...
match
don’t contract cut edgesadapt previous solution as initial partitioningcuts can only improveV-cycles / F-cycles
26 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Evolutionary Graph Partitioning
DistributedEvolutionary Graph Partitioning
27 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Evolutionary Algorithms:highly inspired by biologypopulation of individualsselection, mutation, recombination, ...
Goal: Integrate KaFFPa in an Evolutionary StrategyEvolutionary Graph Partitioning:
individuals ↔ partitionsfitness ↔ edge cut
Parallelization→ quality records in a few minutes for small graphs
Combine
28 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
match
contract
two individuals P1, P2:don’t contract cut edges of P1 or P2
until no matchable edge is leftcoarsest graph↔ Q-graph of overlay→ exchanging good parts is easyinital solution: use better of both parents
ExampleTwo Individuals P1, P2
29 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
ExampleOverlay of P1, P2
30 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
⇒
ExampleMultilevel Combine of P1, P2
31 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
match
contract
⇒
Exchanging good parts is easyCoarsest Level
32 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
>> <
>> <
G
v1
v2
v3
v4 >> <
>> <
G
v1
v2
v3
v4
>> large weight, < small weightstart with the better partition (red, P2)move v4 to the opposite blockintegrated into multilevel scheme (+local search on each level)
ExampleResult of P1, P2
33 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
⇒
Parallelization
34 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
each PE has its own island (a local population)locally: perform combine and mutation operationscommunicate analog to randomized rumor spreading
1. rumor↔ currently best local partition2. local best partition changed → send it to O(log P) random PEs3. asynchronous communication (MPI Isend)
35 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Experiments
Experimental ResultsComparison with Other Systems
36 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Geometric mean, imbalance ε = 0.03:11 graphs (78K–18M nodes) ×k ∈ {2,4,8,16,64}
Algorithm large graphsBest Avg. t[s]
KaFFPa strong 12 053 12 182 121.22KaSPar strong 12 450 +3% 87.12KaFFPa eco 12 763 +6% 3.82Scotch 14 218 +20% 3.55KaFFa fast 15 124 +24% 0.98kMetis 15 167 +33% 0.83
Repeating Scotch as long as KaSPar strong run and choosing thebest result 12.1% larger cutsWalshaw instances, road networks, Florida Sparse MatrixCollection, random Delaunay triangulations, random geometricgraphs
QualityEvolutionary Graph Partitioning
37 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
blocks k KaFFPaEimprovement overreps. of KaFFPa
2 0.2%4 1.0%8 1.5%
16 2.7%32 3.4%64 3.3%
128 3.9%256 3.7%
overall 2.5%
2h time, 32 cores per graph and k , geom. mean
Quality
38 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
1 5 20 100 500
7900
8100
8300
k=64
normalized time tn
mea
n m
in c
ut Repetitions
KaFFPaE
Scalability
39 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
1 10 100 1000 10000
2450
2500
2550
2600
normalized time tn
mea
n m
in c
ut
(mm
c)p = 1p = 2p = 4
p = 8p = 16p = 32
p = 64p = 128p = 256
Walshaw Benchmark
40 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
runtime is not an issue614 instances (ε ∈ {1%,3%,5%})focus on partition quality
overall quality records (at submission time):
ε ≤1% 78%3% 92%5% 94%
Summary
41 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
input
[ESA10]
graphOutputPartition
contract
... ...
match
distr.evol. Alg.
partitioning
initial
local improvement
uncontract
[IPDPS10] [ESA11]
[ESA11] Cycles a la multigridW−F−V−
[IPDPS10]
[ALENEX12]
[SEA12]
n−level
todo
+
edge ratings
flows etc.parallel
GraphpartitioningMultilevel
Outlook
42 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Further Material in the Paper(s)F-cycles, High Quality Matchings, ....Different combine and mutation operatorsSpecialization to road networks (Buffoon)Many more details and experiments ...
Future Workother objective functions
currently via selection criterionconnectivity? f (P) := f (P) + χ{P not connected} · |E |
integrate other partitionersgraph clusteringopen source release
43 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning
Department of InformaticsInstitute for Theoretical Computer Science
Thank you!
Contact: [email protected]@kit.edu