Advanced Flow-Based Multilevel Hypergraph Partitioning SEA 2020 - - PowerPoint PPT Presentation

advanced flow based multilevel hypergraph partitioning
SMART_READER_LITE
LIVE PREVIEW

Advanced Flow-Based Multilevel Hypergraph Partitioning SEA 2020 - - PowerPoint PPT Presentation

Advanced Flow-Based Multilevel Hypergraph Partitioning SEA 2020 June 5, 2020 Lars Gottesb uren , Michael Hamann, Sebastian Schlag, Dorothea Wagner I NSTITUTE OF T HEORETICAL I NFORMATICS A LGORITHMICS G ROUP s t KIT The Research


slide-1
SLIDE 1

KIT – The Research University in the Helmholtz Association

INSTITUTE OF THEORETICAL INFORMATICS · ALGORITHMICS GROUP

www.kit.edu June 5, 2020 Lars Gottesb¨ uren, Michael Hamann, Sebastian Schlag, Dorothea Wagner

Advanced Flow-Based Multilevel Hypergraph Partitioning

SEA 2020

t s

slide-2
SLIDE 2

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Hypergraph Partitioning

Hypergraph H = (V, E, c, ω) vertex set V = {1, ..., n} edge set E ⊆ P (V) \ ∅ incident edges Γ(u) = {e ∈ E | u ∈ e} vertex weights ϕ : V → R≥1 edge weights ω : E → R≥1

1

slide-3
SLIDE 3

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Hypergraph Partitioning

Hypergraph H = (V, E, c, ω) vertex set V = {1, ..., n} edge set E ⊆ P (V) \ ∅ incident edges Γ(u) = {e ∈ E | u ∈ e} vertex weights ϕ : V → R≥1 edge weights ω : E → R≥1

pin hyperedge / net

1

slide-4
SLIDE 4

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Hypergraph Partitioning

Partition into k disjoint blocks Π = {V1, . . . , Vk} blocks Vi have roughly equal weight:

ϕ(Vi) ≤ (1 + ε)

  • ϕ(V)

k

  • 1
slide-5
SLIDE 5

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Hypergraph Partitioning

Partition into k disjoint blocks Π = {V1, . . . , Vk} blocks Vi have roughly equal weight:

ϕ(Vi) ≤ (1 + ε)

  • ϕ(V)

k

  • imbalance

1

slide-6
SLIDE 6

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Hypergraph Partitioning

Partition into k disjoint blocks Π = {V1, . . . , Vk} blocks Vi have roughly equal weight:

ϕ(Vi) ≤ (1 + ε)

  • ϕ(V)

k

  • imbalance

minimize connectivity objective: con =

e∈E(λ(e) − 1) ω(e)

1

slide-7
SLIDE 7

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Hypergraph Partitioning

Partition into k disjoint blocks Π = {V1, . . . , Vk} blocks Vi have roughly equal weight:

ϕ(Vi) ≤ (1 + ε)

  • ϕ(V)

k

  • λ(e) = |{Vi | Vi ∩ e = ∅}|

# blocks overlapping with e imbalance minimize connectivity objective: con =

e∈E(λ(e) − 1) ω(e)

1

slide-8
SLIDE 8

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Applications

Route Planning Distributed Databases

q1 q2

HPC VLSI Design

2

slide-9
SLIDE 9

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Multilevel Algorithms

contract match or cluster Input Hypergraph uncontract local search initial partition

3

slide-10
SLIDE 10

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Multilevel Algorithms

contract match or cluster Input Hypergraph uncontract local search initial partition

3

slide-11
SLIDE 11

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Classic Fiduccia-Mattheyses

Algorithm 1: FM Local Search

while improvement found do while ¬ done do

find best move perform best move rollback to best solution

pass connectivity vertex moves

rollback

slide kindly provided by Sebastian Schlag

4

slide-12
SLIDE 12

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Classic Fiduccia-Mattheyses

Algorithm 1: FM Local Search

while improvement found do while ¬ done do

find best move perform best move rollback to best solution

pass vertex moves

rollback

connectivity pass 1 pass 2

slide kindly provided by Sebastian Schlag

4

slide-13
SLIDE 13

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Classic Fiduccia-Mattheyses

✗ get stuck in local optima

? ? OPT

✗ large edges zero gain moves

Algorithm 1: FM Local Search

while improvement found do while ¬ done do

find best move perform best move rollback to best solution

pass vertex moves

rollback

connectivity pass 1 pass 2

slide kindly provided by Sebastian Schlag

4

slide-14
SLIDE 14

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Classic Fiduccia-Mattheyses

✗ get stuck in local optima

? ? OPT

✗ large edges zero gain moves

Algorithm 1: FM Local Search

while improvement found do while ¬ done do

find best move perform best move rollback to best solution

pass vertex moves

rollback

connectivity pass 1 pass 2 max-flow-min-cut to the rescue

slide kindly provided by Sebastian Schlag

4

slide-15
SLIDE 15

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Classic Fiduccia-Mattheyses

✗ get stuck in local optima

? ? OPT

✗ large edges zero gain moves

Algorithm 1: FM Local Search

while improvement found do while ¬ done do

find best move perform best move rollback to best solution

pass vertex moves

rollback

connectivity pass 1 pass 2 max-flow-min-cut to the rescue

slide kindly provided by Sebastian Schlag

Issues?

  • nly 2-way

what are flows

  • n hypergraphs?

not balanced

4

slide-16
SLIDE 16

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Flow-Based Refinement in KaHyPar

V1 V2 V3 V4 select two adjacent blocks for refinement solve flow problem find more balanced minimum cut s t

3 2 2 2 1 2 1 5 4

V1 V2 s t

3 2 2 2 1 2 1 5 4

build graph-based flow model V1 V2 B1 B2

s t

slide kindly provided by Sebastian Schlag

5

slide-17
SLIDE 17

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Flow-Based Refinement in KaHyPar

V1 V2 V3 V4 select two adjacent blocks for refinement solve flow problem find more balanced minimum cut s t

3 2 2 2 1 2 1 5 4

V1 V2 s t

3 2 2 2 1 2 1 5 4

build graph-based flow model V1 V2 B1 B2

s t

slide kindly provided by Sebastian Schlag

either: restrict flow model size so that balance is guaranteed

  • r: make it a little larger, hope for balance. if not scale down again

5

slide-18
SLIDE 18

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Flow-Based Refinement in KaHyPar

V1 V2 V3 V4 select two adjacent blocks for refinement solve flow problem find more balanced minimum cut s t

3 2 2 2 1 2 1 5 4

V1 V2 s t

3 2 2 2 1 2 1 5 4

build graph-based flow model V1 V2 B1 B2

s t

slide kindly provided by Sebastian Schlag

5

slide-19
SLIDE 19

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Flow-Based Refinement in KaHyPar

V1 V2 V3 V4 select two adjacent blocks for refinement solve flow problem find more balanced minimum cut s t

3 2 2 2 1 2 1 5 4

V1 V2 s t

3 2 2 2 1 2 1 5 4

build graph-based flow model V1 V2 B1 B2

s t

slide kindly provided by Sebastian Schlag

5

slide-20
SLIDE 20

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

The new KaHyPar-HFC

V1 V2 V3 V4 select two adjacent blocks for refinement use FlowCutter find more balanced minimum cut s t

3 2 2 2 1 2 1 5 4

V1 V2 flows directly on hypergraph B1 B2

s

V1

t

V2

[Hamann, Strasser JEA18] [Gottesb¨ uren, Hamann, Wagner ESA19]

s t

naturally built-in

6

slide-21
SLIDE 21

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

The new KaHyPar-HFC

V1 V2 V3 V4 select two adjacent blocks for refinement use FlowCutter find more balanced minimum cut s t

3 2 2 2 1 2 1 5 4

V1 V2 flows directly on hypergraph B1 B2

s

V1

t

V2

[Hamann, Strasser JEA18] [Gottesb¨ uren, Hamann, Wagner ESA19]

s t

naturally built-in

6

slide-22
SLIDE 22

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

The new KaHyPar-HFC

V1 V2 V3 V4 select two adjacent blocks for refinement use FlowCutter find more balanced minimum cut s t

3 2 2 2 1 2 1 5 4

V1 V2 flows directly on hypergraph B1 B2

s

V1

t

V2

[Hamann, Strasser JEA18] [Gottesb¨ uren, Hamann, Wagner ESA19]

s t

naturally built-in

what’s new for FlowCutter? weighted instances new guidance

6

slide-23
SLIDE 23

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Flows on Hypergraphs

v u w x e

7

slide-24
SLIDE 24

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Flows on Hypergraphs

v u w x

  • f

( v , e ) = 4

  • f(u, e) = −2
  • f(x, e) = 3
  • f

( w , e ) =

5 f(e) = 7 c(e) = 12

capacity e

  • f(u, e) > 0 ⇒ u sends flow into e
  • f(u, e) < 0 ⇒ u receives flow from e

7

slide-25
SLIDE 25

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Flows on Hypergraphs

v u w x

  • f

( v , e ) = 4

  • f(u, e) = −2
  • f(x, e) = 3
  • f

( w , e ) =

5 f(e) = 7 c(e) = 12

capacity e

  • f(u, e) > 0 ⇒ u sends flow into e
  • f(u, e) < 0 ⇒ u receives flow from e

rcap(e, u, v) = c(e) − f(e) + f(u, e)− + f(v, e)+ = (12 − 7) + 2 + 4 = 11 max(0, f(v, e)) max(0, − f(u, e))

7

slide-26
SLIDE 26

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Flows on Hypergraphs

v u w x

  • f

( v , e ) = 4

  • f(u, e) = −2
  • f(x, e) = 3
  • f

( w , e ) =

5 f(e) = 7 c(e) = 12

capacity e

  • f(u, e) > 0 ⇒ u sends flow into e
  • f(u, e) < 0 ⇒ u receives flow from e

rcap(e, u, v) = c(e) − f(e) + f(u, e)− + f(v, e)+ = (12 − 7) + 2 + 4 = 11 max(0, f(v, e)) max(0, − f(u, e))

7

slide-27
SLIDE 27

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Flows on Hypergraphs

v u w x

  • f

( v , e ) = 4

  • f(u, e) = −2
  • f(x, e) = 3
  • f

( w , e ) =

5 f(e) = 7 c(e) = 12

capacity e

  • f(u, e) > 0 ⇒ u sends flow into e
  • f(u, e) < 0 ⇒ u receives flow from e

rcap(e, u, v) = c(e) − f(e) + f(u, e)− + f(v, e)+ = (12 − 7) + 2 + 4 = 11 max(0, f(v, e)) max(0, − f(u, e))

7

slide-28
SLIDE 28

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Flows on Hypergraphs

v u w x

  • f

( v , e ) = 4

  • f(u, e) = −2
  • f(x, e) = 3
  • f

( w , e ) =

5 f(e) = 7 c(e) = 12

capacity e

  • f(u, e) > 0 ⇒ u sends flow into e
  • f(u, e) < 0 ⇒ u receives flow from e

rcap(e, u, v) = c(e) − f(e) + f(u, e)− + f(v, e)+ = (12 − 7) + 2 + 4 = 11 max(0, f(v, e)) max(0, − f(u, e))

7

slide-29
SLIDE 29

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Flows on Hypergraphs

v u w x

  • f

( v , e ) = 4

  • f(u, e) = −2
  • f(x, e) = 3
  • f

( w , e ) =

5 f(e) = 7 c(e) = 12

capacity e

  • f(u, e) > 0 ⇒ u sends flow into e
  • f(u, e) < 0 ⇒ u receives flow from e

rcap(e, u, v) = c(e) − f(e) + f(u, e)− + f(v, e)+ = (12 − 7) + 2 + 4 = 11 max(0, f(v, e)) max(0, − f(u, e)) can implement any flow algorithm by treating nets like vertices we use Dinic

7

slide-30
SLIDE 30

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Dinic

residual BFS to compute distance labels residual DFS to find edge-disjoint shortest augmenting paths repeat until no flow augmented

8

slide-31
SLIDE 31

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Dinic

residual BFS to compute distance labels residual DFS to find edge-disjoint shortest augmenting paths repeat until no flow augmented Distance labels for hypergraphs d[u] for vertices di[e] for pushing flow to flow-sending pins f(v, e) > 0 do[e] for pushing flow to all pins. set if c(e) − f(e) + f(u, e)− > 0

8

slide-32
SLIDE 32

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Dinic

residual BFS to compute distance labels residual DFS to find edge-disjoint shortest augmenting paths repeat until no flow augmented Optimizations capacity scaling require ≥ α residual capacity if no flow augmented try with α ← α/2 iterative DFS with stored iterators no allocations range of active values trick fast resets

8

slide-33
SLIDE 33

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

9

slide-34
SLIDE 34

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow

9

slide-35
SLIDE 35

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 2. Find min s- and t-cut

9

slide-36
SLIDE 36

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side
  • 2. Find min s- and t-cut

9

slide-37
SLIDE 37

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 2. Find min s- and t-cut

9

slide-38
SLIDE 38

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-39
SLIDE 39

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-40
SLIDE 40

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-41
SLIDE 41

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-42
SLIDE 42

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-43
SLIDE 43

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-44
SLIDE 44

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-45
SLIDE 45

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-46
SLIDE 46

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-47
SLIDE 47

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-48
SLIDE 48

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-49
SLIDE 49

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-50
SLIDE 50

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-51
SLIDE 51

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

creates augmenting path

⇒ bad candidate

9

slide-52
SLIDE 52

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

⇒ good candidate

avoids augmenting paths creates augmenting path

⇒ bad candidate

9

slide-53
SLIDE 53

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-54
SLIDE 54

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-55
SLIDE 55

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-56
SLIDE 56

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-57
SLIDE 57

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-58
SLIDE 58

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-59
SLIDE 59

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

FlowCutter

s t

  • 1. Augment flow
  • 3. Pick smaller side 4. Assimilate side
  • 5. Pierce cut
  • 2. Find min s- and t-cut

9

slide-60
SLIDE 60

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Experimental Setup

Intel Xeon E5-2670 @ 2.6 Ghz, 64 GB RAM, 20 MB L3, 256KB L2 # Hypergraphs: [publicly available]

  • SuiteSparse Matrix Collection

184 SAT Competition 2014 (3 representations) 92·3 ISPD98 & DAC2012 VLSI Circuits 28 k ∈ {2, 4, 8, 16, 32, 64, 128} with imbalance: ε = 3% 10 random seeds

10

slide-61
SLIDE 61

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Experimental Setup

Intel Xeon E5-2670 @ 2.6 Ghz, 64 GB RAM, 20 MB L3, 256KB L2 # Hypergraphs: [publicly available]

  • SuiteSparse Matrix Collection

184 SAT Competition 2014 (3 representations) 92·3 ISPD98 & DAC2012 VLSI Circuits 28 k ∈ {2, 4, 8, 16, 32, 64, 128} with imbalance: ε = 3% 10 random seeds Comparing KaHyPar-HFC* and KaHyPar-HFC with: KaHyPar-MF hMetis-R(ecursive Bisection) & hMetis-K (direct -kway) PaToH-D(efault) & PaToH-Q(uality) Mondriaan Zoltan-AlgD HYPE

10

slide-62
SLIDE 62

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Comparison with previous KaHyPar

11

slide-63
SLIDE 63

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Comparison with previous KaHyPar

performance ratio r(a, i) =

con(a,i) min{con(a′,i) | a′∈A} of algorithm a on instance i

11

slide-64
SLIDE 64

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Comparison with previous KaHyPar

performance ratio r(a, i) =

con(a,i) min{con(a′,i) | a′∈A} of algorithm a on instance i

y-axis = fraction of instances with smaller performance ratio than value on x-axis

11

slide-65
SLIDE 65

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Comparison with previous KaHyPar

performance ratio r(a, i) =

con(a,i) min{con(a′,i) | a′∈A} of algorithm a on instance i

y-axis = fraction of instances with smaller performance ratio than value on x-axis x = 1 ⇒ fraction of instances on which algorithm is the best higher is better

11

slide-66
SLIDE 66

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Comparison with previous KaHyPar

Algorithm t[s] KaHyPar-MF 67.07 KaHyPar-HFC* 62.49 KaHyPar-HFC 44.84

11

slide-67
SLIDE 67

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Comparison with previous KaHyPar

Algorithm t[s] KaHyPar-MF 67.07 KaHyPar-HFC* 62.49 KaHyPar-HFC 44.84 Algorithm t[s] KaHyPar-CA (no flows)

∼ 40

take with a grain of salt!

11

slide-68
SLIDE 68

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Comparison with other Partitioners

12

slide-69
SLIDE 69

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Comparison with other Partitioners

infeasible timeout

12

slide-70
SLIDE 70

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Comparison with other Partitioners

Algorithm t[s] Zoltan-AlgD 107.60 PaToH-Q 7.48 PaToH-D 1.47 Mondriaan 6.44 HYPE 1.03 Algorithm t[s] KaHyPar-MF 67.07 KaHyPar-HFC* 62.49 KaHyPar-HFC 44.84 hMetis-R 96.55 hMetis-K 73.65 infeasible timeout

12

slide-71
SLIDE 71

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Detailed Running Time

13

slide-72
SLIDE 72

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Conclusion

KaHyPar-HFC – better and faster

14

slide-73
SLIDE 73

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Conclusion

KaHyPar-HFC – better and faster In the TR configuration study / assess impact of components different k / instance classes ⇒ improves a lot on dual SAT and large k earlier balance with subset sum for special vertices distance-based piercing flow routing

14

slide-74
SLIDE 74

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Conclusion

KaHyPar-HFC – better and faster

https://github.com/larsgottesbueren/WHFC https://github.com/kahypar/kahypar https://kahypar.org

In the TR configuration study / assess impact of components different k / instance classes ⇒ improves a lot on dual SAT and large k earlier balance with subset sum for special vertices distance-based piercing flow routing

14

slide-75
SLIDE 75

Lars Gottesb¨ uren – Advanced Flow-Based Multilevel Hypergraph Partitioning Institute of Theoretical Informatics Algorithmics Group

Conclusion

KaHyPar-HFC – better and faster

https://github.com/larsgottesbueren/WHFC https://github.com/kahypar/kahypar https://kahypar.org

parallel versions coming soonTM In the TR configuration study / assess impact of components different k / instance classes ⇒ improves a lot on dual SAT and large k earlier balance with subset sum for special vertices distance-based piercing flow routing

14