25
Graph Partitioning Donald Nguyen October 24, 2011

Graph Partitioning

Embed Size (px)

DESCRIPTION

Graph Partitioning. Donald Nguyen October 24 , 2011. Overview. Reminder: 1D and 2D partitioning for dense MVM Parallel sparse MVM as a graph algorithm Partitioning sparse MVM as a graph problem Metis approach to graph partitioning. Dense MVM. Matrix-Vector Multiply. x. y. A. =. - PowerPoint PPT Presentation

Citation preview

Page 1: Graph Partitioning

Graph Partitioning

Donald NguyenOctober 24, 2011

Page 2: Graph Partitioning

2

Overview

• Reminder: 1D and 2D partitioning for dense MVM

• Parallel sparse MVM as a graph algorithm• Partitioning sparse MVM as a graph problem• Metis approach to graph partitioning

Page 3: Graph Partitioning

3

Dense MVM

• Matrix-Vector Multiply

y xA=

Page 4: Graph Partitioning

4

1D Partitioning

=

Page 5: Graph Partitioning

5

2D Partitioning

=

Page 6: Graph Partitioning

6

Summary

• 1D and 2D dense partitioning– 2D more scalable

• Reuse partitioning over iterative MVMs– y becomes x in next iteration– use AllReduce to distribute results

Page 7: Graph Partitioning

7

Sparse MVM

y xA=

00 00

0 0

i

j

i

jAij

yi

xj

xi

yj

• A is incidence matrix of graph• y and x are labels on nodes

Page 8: Graph Partitioning

8

Graph Partitioning for Sparse MVM

a b

c

e

d

f

• Assign nodes to partitions of equal size minimizing edges cut– AKA find graph edge separator

• Analogous to 1D partitioning– assign nodes to processors

Page 9: Graph Partitioning

9

Partitioning Strategies

• Spectral partitioning– compute eigenvector of Laplacian– random walk approximation

• LP relaxation• Multilevel (Metis, …)– By far, most common and fastest

Page 10: Graph Partitioning

10

Metis

• Multilevel– Use short range and

long range structure

• 3 major phases– coarsening– initial partitioning– refinement

G1

Gn

… …

… …

coarsening

refin

emen

t

initial partitioning

Page 11: Graph Partitioning

11

Coarsening

• Find matching– related problems:

• maximum (weighted) matching (O(V1/2E))• minimum maximal matching (NP-hard), i.e., matching

with smallest #edges– polynomial 2-approximations

Page 12: Graph Partitioning

12

Coarsening

• Edge contract a b

c

*

c

Page 13: Graph Partitioning

13

Initial Partitioning

• Breadth-first traversal– select k random nodes

a

b

Page 14: Graph Partitioning

14

Initial Partitioning

• Kernighan-Lin– improve partitioning by greedy swaps

cd

Dc = Ec – Ic = 3 – 0 = 3

Dd = Ed – Id = 3 – 0 = 3

Benefit(swap(c, d)) = Dc + Dd – 2Acd = 3 + 3 – 2 = 4

cd

Page 15: Graph Partitioning

15

Refinement

• Random K-way refinement– Randomly pick boundary

node– Find new partition which

reduces graph cut and maintains balance

– Repeat until all boundary nodes have been visited

a

a

Page 16: Graph Partitioning

16

Parallelizing Multilevel Partitioning

• For iterative methods, partitioning can be reused and relative cost of partitioning is small

• In other cases, partitioning itself can be a scalability bottleneck– hand-parallelization: ParMetis– Metis is also an example of amorphous data-

parallelism

Page 17: Graph Partitioning

17

Operator Formulation• Algorithm

– repeated application of operator to graph• Active node

–node where computation is started• Activity

–application of operator to active node– can add/remove nodes from graph

• Neighborhood– set of nodes/edges read/written by activity– can be distinct from neighbors in graph

• Ordering on active nodes–Unordered, ordered

i1

i2

i3

i4

i5

: active node: neighborhood

Amorphous data-parallelism: parallel execution of activities, subject to neighborhood and ordering constraints

Page 18: Graph Partitioning

18

ADP in Metis

• Coarsening– matching– edge contraction

• Initial partitioning• Refinement

Page 19: Graph Partitioning

19

ADP in Metis

• Coarsening– matching– edge contraction

• Initial partitioning• Refinement

Page 20: Graph Partitioning

20

ADP in Metis

• Coarsening• Initial partitioning• Refinement

Page 21: Graph Partitioning

21

Parallelism Profile

t60k benchmark graph

Page 22: Graph Partitioning

22

Dataset

• Public available large sparse graphs from University of Florida Sparse Matrix Collection and DIMACS shortest path competition

Page 23: Graph Partitioning

23

Scalability

memchip(2.3s)

Freescale1(2.9s)

circu

it5M dc(3

.2s)

rajat31(4.0s)

kkt power(1

0.4s)

cage15(23.7s)

patents(51.7s)

cit-Patents(

58.7s)0

1

2

3

4

5

6

Best ParMetisBest GHMetis

Dataset (Metis time in seconds)

memchip(2.3s)

Freescale1(2.9s)

circu

it5M dc(3

.2s)

rajat31(4.0s)

kkt power(1

0.4s)

cage15(23.7s)

patents(51.7s)

cit-Patents(

58.7s)0

1

2

3

4

5

6

Best ParMetisBest GHMetis

Page 24: Graph Partitioning

24

Summary

• Graph partitioning arises in many applications– sparse MVM, …

• Multilevel partitioning is most common graph partitioning algorithm– 3 phases: coarsening, initial partitioning,

refinement

Page 25: Graph Partitioning

25