Distributed Evolutionary Graph...

62
1 Peter Sanders, Christian Schulz: Distributed Evolutionary Graph Partitioning Department of Informatics Institute for Theoretical Computer Science Institute for Theoretical Computer Science Distributed Evolutionary Graph Partitioning Peter Sanders, Christian Schulz Workshop on EA & EA – Agra, India KIT – Universit¨ at des Landes Baden-W ¨ urttemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Transcript of Distributed Evolutionary Graph...

Page 1: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 2: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

Overview

2 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

IntroductionMultilevel AlgorithmsEvolutionary TechniquesExperimentsSummary

Page 3: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 4: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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.

Page 5: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 6: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

6 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

Multilevel Graph Partitioning1. Contraction2. Local Search3. Global Search

Page 7: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 8: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

8 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

Multilevel Graph Partitioning1. Contraction2. Local Search3. Global Search

Page 9: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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?

Page 10: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 11: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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})

Page 12: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

12 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

Multilevel Graph Partitioning1. Contraction2. Local Search3. Global Search

Page 13: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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)

Page 14: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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)

Page 15: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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)

Page 16: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 17: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 18: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 19: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 20: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 21: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 22: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

+++

Page 23: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 24: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 25: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 26: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 27: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 28: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 29: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 30: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 31: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 32: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 33: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 34: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 35: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 36: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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)

Page 37: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 38: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

Example100x100 Grid

19 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

Page 39: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

ExampleConstructed Flow Problem (using BFS)

20 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

Page 40: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

ExampleApply Max-Flow Min-Cut

21 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

Page 41: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

ExampleOutput Improved Partition

22 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

Page 42: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 43: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 44: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 45: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

26 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

Evolutionary Graph Partitioning

Page 46: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 47: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 48: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

ExampleTwo Individuals P1, P2

29 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

Page 49: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

ExampleOverlay of P1, P2

30 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

Page 50: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

ExampleMultilevel Combine of P1, P2

31 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

match

contract

Page 51: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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)

Page 52: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

ExampleResult of P1, P2

33 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

Page 53: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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)

Page 54: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

35 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

Experiments

Page 55: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 56: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 57: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 58: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 59: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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%

Page 60: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 61: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

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

Page 62: Distributed Evolutionary Graph Partitioningalgo2.iti.kit.edu/schulz/collection/talks/talk_agra.pdf · Distributed Evolutionary Graph Partitioning Department of Informatics Institute

43 Peter Sanders, Christian Schulz:Distributed Evolutionary Graph Partitioning

Department of InformaticsInstitute for Theoretical Computer Science

Thank you!

Contact: [email protected]@kit.edu