pulp - complex objective partitioning of small-world ...kxm85/papers/pulp_cse15_slides.pdfpulp...

28
PuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George M. Slota 1,2 Kamesh Madduri 2 Sivasankaran Rajamanickam 1 1 Sandia National Laboratories, 2 The Pennsylvania State University [email protected], [email protected], [email protected] SIAM CSE15 17 March 2015 1 / 18

Upload: others

Post on 06-Mar-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PuLPComplex Objective Partitioning of Small-World Networks

Using Label Propagation

George M. Slota1,2 Kamesh Madduri2

Sivasankaran Rajamanickam1

1Sandia National Laboratories, 2The Pennsylvania State [email protected], [email protected], [email protected]

SIAM CSE15 17 March 2015

1 / 18

Page 2: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

Highlights

We present PuLP, a multi-constraint multi-objectivepartitioner

Shared-memory parallelism (OpenMP)

PuLP demonstrates an average speedup of 14.5×relative to state-of-the-art partitioners on small-worldgraph test suite

PuLP requires 8-39× less memory than state-of-the-artpartitioners

PuLP produces partitions with comparable or betterquality than state-of-the-art partitioners for small-worldgraphs

Exploits the label propagation clustering algorithm

2 / 18

Page 3: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

Label PropagationAlgorithm progression

Randomly label with n labels

Iteratively update each v with max per-label count over neighbors, ties broken randomly

Algorithm completes when no new updates possible

3 / 18

Page 4: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

Label PropagationAlgorithm progression

Randomly label with n labels

Iteratively update each v with max per-label count over neighbors, ties broken randomly

Algorithm completes when no new updates possible

3 / 18

Page 5: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

Label PropagationAlgorithm progression

Randomly label with n labels

Iteratively update each v with max per-label count over neighbors, ties broken randomly

Algorithm completes when no new updates possible

3 / 18

Page 6: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

Label PropagationAlgorithm progression

Randomly label with n labels

Iteratively update each v with max per-label count over neighbors, ties broken randomly

Algorithm completes when no new updates possible

3 / 18

Page 7: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

Label PropagationAlgorithm progression

Randomly label with n labels

Iteratively update each v with max per-label count over neighbors, ties broken randomly

Algorithm completes when no new updates possible

3 / 18

Page 8: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

Label PropagationOverview and observations

Label propagation: initialize a graph with n labels,iteratively assign to each vertex the maximal per-labelcount over all neighbors to generate clusters, ties brokenrandomly (Raghavan et al. 2007)

Clustering algorithm - dense clusters hold same labelFast - each iteration in O(n+m)Naıvely parallel - only per-vertex label updatesObservation: Possible applications for large-scalesmall-world graph partitioning

4 / 18

Page 9: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PartitioningProblem description, objectives and constraints

Goal: minimize execution time for small-world graphanalytics

Constraints:

Vertex and edge balance: per-task memory andcomputation requirements

Objectives:

Edge cut and max per-part cut: total and per-taskcommunication requirements

Single level vs. multi level partitioners

Multi level produces high quality at cost of computingSingle level produces sub-optimal quality

Until now...

5 / 18

Page 10: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PartitioningProblem description, objectives and constraints

Goal: minimize execution time for small-world graphanalytics

Constraints:

Vertex and edge balance: per-task memory andcomputation requirements

Objectives:

Edge cut and max per-part cut: total and per-taskcommunication requirements

Single level vs. multi level partitioners

Multi level produces high quality at cost of computingSingle level produces sub-optimal quality

Until now...

5 / 18

Page 11: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PuLPOverview and description

PuLP : Partitioning using Label Propagation

Utilize label propagation for:

Vertex balanced partitions, minimize edge cut (PuLP)Vertex and edge balanced partitions, minimize edge cut(PuLP-M)Vertex and edge balanced partitions, minimize edge cutand maximal per-part edge cut (PuLP-MM)Any combination of the above - multi objective, multiconstraint

6 / 18

Page 12: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PuLP-MMAlgorithm overview

Randomly initialize p partitionsCreate partitions with degree-weighted label propagationfor Some number of iterations do

for Some number of iterations doBalance partitions to satisfy vertex constraintRefine partitions to minimize edge cut

for Some number of iterations doBalance partitions to satisfy edge constraint and minimize

per-part edge cutRefine partitions to minimize edge cut

7 / 18

Page 13: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PuLP-MMPuLP-MM algorithm

Randomly initialize partition labels for p parts

Run degree-weighted label prop to create initial partsIteratively balance for vertices, minimize edge cutBalance for edges, minimize per-part edge cut

Network shown is the Infectious network dataset from KONECT (http://konect.uni-koblenz.de/) 8 / 18

Page 14: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PuLP-MMPuLP-MM algorithm

Randomly initialize partition labels for p partsRun degree-weighted label prop to create initial parts

Iteratively balance for vertices, minimize edge cutBalance for edges, minimize per-part edge cut

Network shown is the Infectious network dataset from KONECT (http://konect.uni-koblenz.de/) 8 / 18

Page 15: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PuLP-MMPuLP-MM algorithm

Randomly initialize partition labels for p partsRun degree-weighted label prop to create initial parts

Iteratively balance for vertices, minimize edge cutBalance for edges, minimize per-part edge cut

Network shown is the Infectious network dataset from KONECT (http://konect.uni-koblenz.de/) 8 / 18

Page 16: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PuLP-MMPuLP-MM algorithm

Randomly initialize partition labels for p partsRun degree-weighted label prop to create initial partsIteratively balance for vertices, minimize edge cut

Balance for edges, minimize per-part edge cut

Network shown is the Infectious network dataset from KONECT (http://konect.uni-koblenz.de/) 8 / 18

Page 17: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PuLP-MMPuLP-MM algorithm

Randomly initialize partition labels for p partsRun degree-weighted label prop to create initial partsIteratively balance for vertices, minimize edge cut

Balance for edges, minimize per-part edge cut

Network shown is the Infectious network dataset from KONECT (http://konect.uni-koblenz.de/) 8 / 18

Page 18: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PuLP-MMPuLP-MM algorithm

Randomly initialize partition labels for p partsRun degree-weighted label prop to create initial partsIteratively balance for vertices, minimize edge cutBalance for edges, minimize per-part edge cut

Network shown is the Infectious network dataset from KONECT (http://konect.uni-koblenz.de/) 8 / 18

Page 19: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PuLP-MMLabel propagation step

P ← PULP-lp(G(V,E), p, P,N, Ip)Minv ← (n/p)× (1− εl)i← 0, r ← 1while i < Ip and r 6= 0 do

r ← 0for all v ∈ V do

C(1 · · · p)← 0for u ∈ E(v) do

C(P (u))← C(P (u)) + |E(u)|x← Max(C(1 · · · p))if x 6= P (v) and N(P (v))− 1 > Minv then

P (v)← xr ← r + 1

i← i+ 1return P

9 / 18

Page 20: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PuLP-MMVertex Balancing Step

P ← PULP-vp(G(V,E), P, p,N, Ib)i← 0, r ← 1Maxv ← (n/p)× (1 + εu)Wv(1 · · · p)← Max(Maxv/N(1 · · · p)− 1,0)while i < Ib and r 6= 0 do

r ← 0for all v ∈ V do

C(1 · · · p)← 0for all u ∈ E(v) do

C(P (u))← C(P (u)) + |E(u)|for j = 1 · · · p do

if Moving v to Pj violates Maxv thenC(j)← 0

elseC(j)← C(j)×Wv(j)

x← Max(C(1 · · · p))if x 6= P (v) then

Update(N(P (v)), N(x))Update(Wv(P (v)),Wv(x))P (v)← xr ← r + 1

i← i+ 110 / 18

Page 21: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

PuLP-MMEdge balancing and max per-part cut minimization step

P ← PULP-cp(G(V,E), P, p,N,M, T, U, Ib)i← 0, r ← 1Maxv ← (n/p)× (1 + εu), Maxe ← (m/p)× (1 + ηu)CurMaxe ← Max(M(1 · · · p)), CurMaxc ← Max(T (1 · · · p))We(1 · · · p)← CurMaxe/M(1 · · · p)− 1, Wc(1 · · · p)← CurMaxc/T (1 · · · p)− 1Re ← 1, Rc ← 1while i < Ip and r 6= 0 dor ← 0for all v ∈ V doC(1 · · · p)← 0for all u ∈ E(v) doC(P (u))← C(P (u)) + 1

for j = 1 · · · p doif Moving v to Pj violates Maxv , CurMaxe , CurMaxc then

C(j)← 0elseC(j)← C(j)× (We(j)× Re +Wv(j)× Rc)

x← Max(C(1 · · · p))if x 6= P (v) thenP (v)← xr ← r + 1Update all variables for x and P (v)

if CurMaxe < Maxe thenCurMaxe ← MaxeRc ← Rc × CurMaxcRe ← 1

elseRe ← Re × (CurMaxe/Maxe)Rc ← 1

i← i + 1

11 / 18

Page 22: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

ResultsTest Environment and Graphs

Test system: ComptonIntel Xeon E5-2670 (Sandy Bridge), dual-socket, 16 cores, 64GB memory.

Test graphs:LAW graphs from UF Sparse Matrix, SNAP, MPI, KoblenzReal (one R-MAT), small-world, 60 K–70 M vertices,275 K–2 B edges

Test Algorithms:METIS - single constraint single objectiveMETIS-M - multi constraint single objectiveParMETIS - METIS-M running in parallelKaFFPa - single constraint single objectivePuLP - single constraint single objectivePuLP-M - multi constraint single objectivePuLP-MM - multi constraint multi objective

Metrics: 2–128 partitions, serial and parallel running times, memoryutilization, edge cut, max per-partition edge cut

12 / 18

Page 23: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

ResultsPuLP Running Times - Serial (top), Parallel (bottom)

In serial, PuLP-MM runs 1.7× faster (geometric mean) than nextfastest of METIS and KaFFPa

● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●

LiveJournal R−MAT Twitter

0

100

200

300

0

500

1000

1500

5000

10000

15000

2 4 8 16 32 64 128 2 4 8 16 32 64 128 2 4 8 16 32 64 128Number of Partitions

Run

ning

Tim

e

Partitioner ● PULP PULP−M PULP−MM METIS METIS−M KaFFPa−FS

In parallel, PuLP-MM runs 14.5× faster (geometric mean) thannext fastest (ParMETIS times are fastest of 1 to 256 cores)

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

LiveJournal R−MAT Twitter

0

25

50

75

0

500

1000

1500

0

5000

10000

15000

2 4 8 16 32 64 128 2 4 8 16 32 64 128 2 4 8 16 32 64 128Number of Partitions

Run

ning

Tim

e

Partitioner ● PULP PULP−M PULP−MM ParMETIS METIS−M (Serial) PULP−M (Serial)

13 / 18

Page 24: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

ResultsPuLP memory utilization for 128 partitions

PuLP utilizes minimal memory, O(n), 8-39× less thanKaFFPa and METIS

Savings are mostly from avoiding a multilevel approach

Memory Utilization Improv.NetworkMETIS-M KaFFPa PuLP-MM Graph Size

LiveJournal 7.2 GB 5.0 GB 0.44 GB 0.33 GB 21×Orkut 21 GB 13 GB 0.99 GB 0.88 GB 23×R-MAT 42 GB - 1.2 GB 1.02 GB 35×DBpedia 46 GB - 2.8 GB 1.6 GB 28×WikiLinks 103 GB 42 GB 5.3 GB 4.1 GB 25×sk-2005 121 GB - 16 GB 13.7 GB 8×Twitter 487 GB - 14 GB 12.2 GB 39×

14 / 18

Page 25: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

ResultsPuLP quality - edge cut and max per-part cut

PuLP-M produces better edge cut than METIS-M over most graphs

●●

●●

LiveJournal R−MAT Twitter

0.1

0.2

0.3

0.4

0.4

0.6

0.8

1.0

0.2

0.4

0.6

0.8

2 4 8 16 32 64 128 2 4 8 16 32 64 128 2 4 8 16 32 64 128Number of Partitions

Edg

e C

ut R

atio

Partitioner ● PULP−M PULP−MM METIS−M

PuLP-MM produces better max edge cut than METIS-M over most graphs

● ●

● ●

●●

LiveJournal R−MAT Twitter

0.02

0.04

0.06

0.08

0.0

0.1

0.2

0.3

0.4

0.0

0.1

0.2

0.3

2 4 8 16 32 64 128 2 4 8 16 32 64 128 2 4 8 16 32 64 128Number of Partitions

Max

Per

−P

art R

atio

Partitioner ● PULP−M PULP−MM METIS−M

15 / 18

Page 26: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

ResultsPuLP– balanced communication

uk-2005 graph from LAW, METIS-M (left) vs. PuLP-MM (right)Blue: low comm; White: avg comm; Red: High commPuLP reduces max inter-part communication requirements andbalances total communication load through all tasks

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Part Number

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Par

t Num

ber

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Part Number

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Par

t Num

ber

16 / 18

Page 27: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

ResultsRe-balancing for multiple constraints and objectives

PuLP can balance a quality but unbalanced (single objective and constraint)partition

We observe up to 11% further improvement in edge cut produced byPuLP-MM when starting with a single constraint partition from KaFFPa

No cost to second objective (max per-part cut), our approaches show up to400% improvement relative to KaFFPa

0.1

0.2

0.3

0.4

2 4 8 16 32 64 128Number of Parts

Edg

e C

ut R

atio

Partitioner ● PULP−MM KaFFPa KaFFPa+PULP−MM

0.025

0.050

0.075

2 4 8 16 32 64 128Number of Parts

Max

Per

−pa

rt E

dge

Cut

Rat

io

Partitioner ● PULP−MM KaFFPa KaFFPa+PULP−MM

17 / 18

Page 28: PuLP - Complex Objective Partitioning of Small-World ...kxm85/papers/PULP_CSE15_slides.pdfPuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George

Conclusionsand future work

Average of 14.5× faster, 23× less memory, better edgecut or better per-part edge cut than next best testedpartitioner on small-world graph test suite

Future work:

Implementation in Zoltan2Explore techniques for avoiding local minima, such assimulated annealing, etc.Further parallelization in distributed environment formassive-scale graphsExplore tradeoff and interactions in various parametersand iteration countsNew initialization procedures for various graph types(meshes, road nets, etc.)

18 / 18