41
1 Peter Sanders, Christian Schulz: High Quality Graph Partitioning Department of Informatics Institute for Theoretical Computer Science, Algorithmics II High Quality Graph Partitioning Peter Sanders, Christian Schulz KIT – Universit¨ at des Landes Baden-W ¨ urttemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Embed Size (px)

Citation preview

Page 1: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

1 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

High Quality Graph PartitioningPeter Sanders, Christian Schulz

KIT – Universitat des Landes Baden-Wurttemberg undnationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Page 2: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Overview

2 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

IntroductionMultilevel AlgorithmsAdvanced TechniquesEvolutionary TechniquesExperimentsSummary

Page 3: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

ε-Balanced Graph Partitioning

3 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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, . . .

Page 4: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Multi-Level Graph Partitioning

4 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

Successful in existing systems:Metis, Scotch, Jostle,. . . , KaPPa, KaSPar, KaFFPa, KaFFPaE

Page 5: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Advanced TechniquesTalk Today

5 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

Edge RatingsHigh Quality MatchingsFlow Based RefinementsMore Localized Local SearchF-cycles for Graph Partitioning

Page 6: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Graph PartitioningMatching Selection

6 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 7: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Graph PartitioningEdge Ratings

7 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

ω({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})

Page 8: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Flows as Local ImprovementTwo Blocks

8 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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)

Page 9: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Flows as Local ImprovementTwo Blocks

9 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 10: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Example100x100 Grid

10 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

Page 11: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

ExampleConstructed Flow Problem (using BFS)

11 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

Page 12: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

ExampleApply Max-Flow Min-Cut

12 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

Page 13: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

ExampleOutput Improved Partition

13 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

Page 14: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Local Improvement for k -partitionsUsing Flows?

14 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

on each pair of blocks

input graph

...

initial

...

outputpartition

local improvement

partitioning

match

contract uncontract

Page 15: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

More Localized Local Search

15 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 16: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

More Localized Local Search

15 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 17: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

More Localized Local Search

15 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 18: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

More Localized Local Search

15 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 19: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

More Localized Local Search

15 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 20: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

More Localized Local Search

15 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 21: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

More Localized Local Search

15 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 22: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

More Localized Local Search

15 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 23: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

More Localized Local Search

15 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 24: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

More Localized Local Search

15 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 25: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

More Localized Local Search

15 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 26: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

More Localized Local Search

15 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 27: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

DistributedEvolutionary Graph Partitioning

16 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 28: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Combine

17 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 29: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

ExampleTwo Individuals P1, P2

18 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

Page 30: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

ExampleOverlay of P1, P2

19 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

Page 31: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

ExampleMultilevel Combine of P1, P2

20 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

match

contract

Page 32: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Exchanging good parts is easyCoarsest Level

21 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

>> <

>> <

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)

Page 33: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

ExampleResult of P1, P2

22 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

Page 34: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Parallelization

23 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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)

Page 35: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Experimental ResultsComparison with Other Systems

24 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 36: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

QualityEvolutionary Graph Partitioning

25 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 37: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Quality

26 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

1 5 20 100 500

7900

8100

8300

k=64

normalized time tn

mea

n m

in c

ut Repetitions

KaFFPaE

Page 38: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Walshaw Benchmark

27 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

runtime is not an issue614 instances (ε ∈ {1%,3%,5%})focus on partition quality

Algorithm < ≤KaPPa 131 189KaSPar 155 238KaFFPa 317 435KaFFPaE 300 470

overall quality records ≤:ε ≤1% 78%3% 92%5% 94%

Page 39: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Summary

28 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

input graph

OutputPartition

contract

... ...

match

distr.evol. Alg.

partitioning

initial

local improvement

uncontract

Cycles a la multigridW−F−V−

[ALENEX12]

+

flows etc.

MultilevelGraph Partitioning

Page 40: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

Outlook

29 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

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

Page 41: High Quality Graph Partitioning - Peter Sanders, Christian Schulz

30 Peter Sanders, Christian Schulz:High Quality Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science, Algorithmics II

Thank you!

Contact: [email protected]@kit.edu