Download presentation
Presentation is loading. Please wait.
Published byEmilia Kähkönen Modified over 5 years ago
1
Gurbinder Gill Roshan Dathathri Loc Hoang Keshav Pingali
A Study of Partitioning Policies for Graph Analytics on Large-scale Distributed Platforms Gurbinder Gill Roshan Dathathri Loc Hoang Keshav Pingali
2
Graph Analytics Need TBs of memory Applications:
machine learning and network analysis Datasets: unstructured graphs Applications: search engines, machine learning, social network analysis How to rank webpages? (PageRank) How to recommend movies to users? (Stochastic Gradient Descent) Who are the most influential persons in a social network? (Betweenness Centrality) Datasets: unstructured graphs Billions of nodes and trillions of edges Do not fit in the memory of a single machine Need TBs of memory Credits: Wikipedia, SFL Scientific, MakeUseOf Credits: Sentinel Visualizer
3
Distributed Graph Analytics
Distributed-memory clusters are used for in-memory processing of very large graphs D-Galois [PLDI’18], Gemini [OSDI’16], PowerGraph [OSDI’12], ... Graph is partitioned among machines in the cluster Many heuristics for graph partitioning (partitioning policies) Application performance is sensitive to policy There is no clear way to choose policies No clear to choose policies for the user as well as to support for the systems Main objectives of a good partitioning policy: Minimize the synchronization overhead Balance computation load -> motivation for our study
4
Existing Partitioning Studies
Performed on small graphs and clusters Only considered metrics such as edges cut, avg. number of replicas, etc. Did not consider work-efficient data-driven algorithms Only topology-driven algorithms evaluated Used framework that use similar communication pattern for all partitioning policies Putting some partitioning policies at a disadvantage suggested policies to minimize number of replicas Looked at the ways to control replication factor, Others just look at the metrics: edges cut, replication factor Nodes become active in data-dependent way, so static partitioning is of no good replication factor
5
Contributions Experimental study of partitioning strategies for work-efficient graph analytics applications: Largest publicly available web-crawls, such as wdc12 (~1TB) Large KNL and Skylake clusters with up to 256 machines (~69K threads) Uses the start-of-the-art graph analytics system, D-Galois [PLDI’19] Evaluate various kinds of partitioning policies Analyze partitioning policies using an analytical model and micro-benchmarking Present decision tree for selecting the best partitioning policy
6
Partitioning B C A D F G E H I J Original graph
Let’s first see how we partition the graph among hosts: We will use this small example graph of 10 nodes and 24 edges and partition it among 4 host, represented by 4 different colored boxes on the right. I J Original graph
7
Partitioning B C A D F G E H I J Original graph
Each edge is assigned to a unique host B C A D F G E H First we assign each edge uniquely to hosts I J Original graph
8
Partitioning B B C D B C A F G A D F G E H I F G E H B C D I J A D F G
Each edge is assigned to a unique host All edges connect proxy nodes on the same host B B C D B C A F G A D F G E H I F G E H B C D All the end points of these edges I J A D F G Original graph G F H J I J
9
Partitioning B B C D B C A F G A D F G E H I F G E H B C D I J A D F G
Each edge is assigned to a unique host All edges connect proxy nodes on the same host A node can have multiple proxies: one is master proxy; rest are mirror proxies B B C D B C A F G A D F G E H I F G E H B C D I J A D F G Original graph G F H J I J
10
Synchronization B B C D A F G F G E H I B C D A D F G G F H J I J
Reduce: Mirror proxies send updates to master Broadcast: Master sends canonical value to mirrors B B C D A F G F G E H I B C D A D F G G F H Broadcast Reduce J I J
11
Matrix representation
Matrix View of a Graph Destinations A B E F I C D G H J A B E F I C D G H J B C A D F G Sources E H I J Original graph Matrix representation
12
Partitioning Policies & Comm. Pattern
1D Partitioning Incoming Edge Cut (IEC) Outgoing Edge Cut (OEC) We are going to talk abt 4 policies in this talk: Different colors represent different hosts OEC is a simple 1D partitioning policy: In this adjacency matrix is partitioned along the rows as show in top left corner: Colored sources represent the CVC : cyclic along the rows and blocked along the columns Last one is most general, where edges are distributed without any contraints using some heuritstic, and is known as hybrid vertex cut Communication Pattern
13
Partitioning Policies & Comm. Pattern
2D Partitioning General Vertex Cut Cartesian Vertex Cut (CVC) Hybrid Vertex Cut (HVC) We are going to talk abt 4 policies in this talk: Different colors represent different hosts OEC is a simple 1D partitioning policy: In this adjacency matrix is partitioned along the rows as show in top left corner: Colored sources represent the CVC : blocked along the rows and cyclic along the columns HVC: treat nodes differently based on the degree Last one is most general, where edges are distributed without any contraints using some heuritstic, and is known as hybrid vertex cut Communication Pattern
14
Implementation: Partitioning: State-of-the-art graph partitioner, CuSP [IPDSP’19] Processing: State-of-the-art distributed graph analytics system, D-Galois [PLDI’18] Bulk synchronous parallel (BSP) execution Uses Gluon [PLDI’19] as communication substrate: Uses partition-specific communication pattern Only sends the updated node labels Avoids sending metadata in each round of synchronization
15
Experimental Setup Stampede2 at TACC: Up to 256 hosts Application:
KNL hosts Skylake hosts Application: bc bfs cc pagerank sssp Partitioning Policies: XtraPulp (XEC) Edge Cut (EC) Cartesian Vertex Cut (CVC) Hybrid Vertex Cut (HVC) kron30 clueweb12 wdc12 |V| 1073M 978M 3,563M |E| 10,791M 42,574M 128,736M Size on Disk 136GB 325GB 986GB 2 architectures to show that observations are independent of architecture KNL: 68 cores (without hyper threading) SKYLAKE: 24 cores Only going to talk abt EC, HVC, CVC Make it clear that only plotting execution time Inputs and their properties
16
Execution Time Pointer: CVC is doing best Log-log scale
Only execution time : without partitioning time Partitioning time can be amortized over the runs
17
Compute Time Scales Compute scales (mostly)
The difference (mostly) arises from communication Max across all hosts: Therefore, if there is any load imbalance it must be covered in the compute time. We measure the time for computation of each round or iteration on each host and take the maximum across hosts. Summing up over iterations, we get the computation time. BFS, SSSP : not scaling due to very small computation at that scale
18
Communication Volume and Time
>1000 <=100 Put 8 and 256 micro here + arrows The communication volume in work-efficient graph analytical applications changes over rounds and several rounds have low communication volume in practice. Low , Medium, High Do mention data driven algorithm: changes the amount of volume but still falls in those 2 categories over rounds and several rounds have low communication volume in practice.
19
Best Partitioning Policy (clueweb12)
Execution time (sec): 32 hosts 256 hosts XEC EC HVC CVC bc 136.2 439.1 627.9 539.1 413.7 420 1012.1 266.9 bfs 10.4 8.9 17.4 19.2 36.4 27.1 46.5 14.6 cc OOM 16.9 7.5 19.6 43.0 84.7 8.4 7.3 pr 272.6 219.6 193.5 217.9 286.7 82.3 97.5 60.8 sssp 16.5 13.1 26.6 31.7 32.5 54.7 21.8
20
Decision Tree Based on our study we present the decision tree to select the best partitioning policy: % difference in execution time between policy chosen by decision tree vs. optimal
21
Key Lessons Best performing policy depends on: Application Input
Number of hosts (scale) EC performs well at small scale but CVC wins at large scale Graph analytics systems must support: Various partitioning policies Partition-specific communication pattern Not a trivial thing to say what is best policy
22
Source Code ~ Thank you ~ Frameworks used for the study:
Graph Partitioner: CuSP [IPDPS’19] Communication Substrate: Gluon [PLDI’18] Distributed Graph Analytics Framework: D-Galois [PLDI’18] ~ Thank you ~
24
Partitioning Time CuSP [IPDSP’19]
25
Partitioning Time (clueweb12)
Partitioning time (sec) on 256 hosts: Can be amortized? Say here Another important consideration while choosing the right partition is the time it takes to partition the graph among hosts. In this we compare the time it takes to do different partitioning policies: As we can see that cvc takes the maximum time to among these policies. The more complex the policy is, the more time it takes to Partition the graph. We did not include the partitioning time for the previous results as partitioning time can be amortized by partitioning it once and Then reusing the partitions several times.
26
Micro-benchmarking CVC at 256 gives a geomean speedup of 4.6x to 5.6x over EC and HVC
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.