Differentiated Graph Computation and Partitioning on Skewed Graphs Rong Chen, JiaXin Shi, Yanzhe Chen, and Haibo Chen Institute of Parallel and Distributed Systems Shanghai Jiao Tong University http://ipads.se.sjtu.edu.cn/projects/powerlyra.html 2014 PowerLyra J R Y H B H
35
Embed
Differentiated Graph Computation and Partitioning on Skewed Graphs Rong Chen, JiaXin Shi, Yanzhe Chen, and Haibo Chen Institute of Parallel and Distributed.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Differentiated Graph Computation and Partitioning on Skewed Graphs
Rong Chen, JiaXin Shi, Yanzhe Chen, and Haibo Chen
Institute of Parallel and Distributed SystemsShanghai Jiao Tong University
High-degree vertex□ Distribute edges (e.g., in-edges) according to
another endpoint vertex (e.g., source)□ The upper bound of replications imported by
placing all edges belonged to high-degree vertex is #machines
low-masterlow-mirror
high-masterhigh-mirror
Existing Vertex-cut
Low-degree mirror
Graph Partitioning
High-degree vertex□ Distribute edges (e.g., in-edges) according to
another endpoint vertex (e.g., source)□ The upper bound of replications imported by
placing all edges belonged to high-degree vertex is #machines
low-masterlow-mirror
high-masterhigh-mirror
High-cut
Graph Partitioning
Hybrid vertex-cut□ User defined threshold (θ) and the direction of
locality□ Group edges in hash-based machine of vertex□ Low-cut: done! / High-cut: re-assignment
14 25 3
6
14 15
2 13
14
3
1 2
5 1 23
6
group
reassign
construct
e.g., θ =3 , IN
Heuristic for Hybrid-cut
Inspired by heuristic for edge-cut□ choose best master location of vertex
according to neighboring has located□ Consider one direction neighbors is enough□ Only apply to low-degree vertices□ Parallel ingress: periodically synchronize
private mapping-table (global vertex-id machine)
Optimization
Challenge: graph computation usually exhibits poor data access (cache) locality*□ irregular traversal of neighboring vertices along
edges
How about (cache) locality in communication?□ Problem: a mismatch of orders btw. sender &
receiver
*LUMSDAINE et al. Challenges in parallel graph processing. 2007
4
1 7
2 53
Locality-conscious Layout
General Idea: match orders by hybrid vertex-cut□ Tradeoff: ingress time vs. runtime□ Decentralized matching global vertex-id
9 86 2Low-master
high-mirrorHigh-master
low-mirror
4
35 4
5
72 6 1 8
2 6 1 8 3 9 7
4 9 8 6 2 5 1 9Zoning
M1
M2
M3
M1
M2
M3
H2 L2 h-mrr l-mrr
H3 L3 h-mrr l-mrr
H1 L1 h-mrr l-mrrZ1 Z2 Z3 Z4
8
15
52
8
4 371 6 8
2 6 4 3 9 7
9 3 1 2 5 46
Locality-conscious Layout
General Idea: match orders by hybrid vertex-cut□ Tradeoff: ingress time vs. runtime□ Decentralized algorithm global vertex-id
9 86 2Low-master
high-mirrorHigh-master
low-mirror
Grouping
M1
M2
M3
M1
M2
M3 8
15
52
8
4 371 6 8
2 6 4 3 9 7
9 3 1 2 5 46
8
65
82
8
4 371 6 5
2 1 4 7 9 3
9 3 1 2 4 56
H2 L2 h1 h3 l1 l3
H3 L3 h1 h2 l1 l2
H1 L1 h2 h3 l2 l3
H2 L2 h-mrr l-mrr
H3 L3 h-mrr l-mrr
H1 L1 h-mrr l-mrrZ1 Z2 Z3 Z4
Locality-conscious Layout
General Idea: match orders by hybrid vertex-cut□ Tradeoff: ingress time vs. runtime□ Decentralized algorithm global vertex-id
9 86 2Low-master
high-mirrorHigh-master
low-mirror
Sorting
M1
M2
M3
M1
M2
M3 5
65
52
8
7 341 6 8
2 1 4 7 3 9
3 9 1 2 4 86
8
65
82
8
4 371 6 5
2 1 4 7 9 3
9 3 1 2 4 56
H2 L2 h1 h3 l1 l3
H3 L3 h1 h2 l1 l2
H1 L1 h2 h3 l2 l3
H2 L2 h1 h3 l1 l3
H3 L3 h1 h2 l1 l2
H1 L1 h2 h3 l2 l3
Locality-conscious Layout
General Idea: match orders by hybrid vertex-cut□ Tradeoff: ingress time vs. runtime□ Decentralized algorithm global vertex-id