Argo: ¡Architecture-‑Aware ¡Graph ¡Par33oning ¡ Angen ¡Zheng ¡ ¡Alexandros ¡Labrinidis, ¡Panos ¡K. ¡Chrysanthis, ¡and ¡Jack ¡Lange ¡ Department ¡of ¡Computer ¡Science, ¡University ¡of ¡PiCsburgh ¡ hCp://db.cs.piC.edu/group/ ¡ hCp://www.prognosGclab.org/ ¡ ¡ 1 ¡
Big ¡Graphs ¡Are ¡Everywhere ¡ [SIGMOD’16 ¡Tutorial] ¡ 2 ¡
A ¡Balanced ¡Par33oning ¡= ¡Even ¡Load ¡Distribu3on ¡ Minimal ¡Edge-‑Cut ¡= ¡Minimal ¡Data ¡Comm ¡ ¡ N2 ¡ N1 ¡ N3 ¡ Assump3on: ¡Network ¡is ¡the ¡boOleneck. ¡ 3 ¡
The ¡End ¡of ¡Slow ¡Networks: ¡Network ¡is ¡now ¡ as ¡fast ¡as ¡DRAM ¡ [C. ¡Bing, ¡VLDB’15] ¡ ✓ Dual-‑socket ¡ ¡Xeon ¡ ¡E5v2 ¡ ¡server ¡with ¡ ¡ ○ DDR3-‑1600 ¡ ✓ Infiniband: ¡ ¡ 1.7GB/s~37.5GB/s ¡ ¡ ○ 2 ¡FDR ¡4x ¡NICs ¡per ¡socket ¡ ¡ 6.25GB/s~16.6GB/s ¡ ¡ ✓ DDR3: ¡ 4 ¡
The ¡End ¡of ¡Slow ¡Networks: ¡Does ¡ edge-‑cut ¡s3ll ¡maOer? ¡ ¡ 5 ¡
Roadmap ¡ ü IntroducGon ¡ ü Does ¡edge-‑cut ¡s3ll ¡maOer? ¡ ü Why ¡edge-‑cut ¡sGll ¡maCers? ¡ ü Argo ¡ ü EvaluaGon ¡ ü Conclusions ¡ 6 ¡
The ¡End ¡of ¡Slow ¡Networks: ¡Does ¡edge-‑cut ¡ s3ll ¡maOer? ¡ Graph ¡Par33oners ¡ METIS ¡and ¡LDG ¡ Graph ¡Workloads ¡ BFS, ¡ SSSP , ¡and ¡PageRank ¡ Graph ¡Dataset ¡ Orkut ¡(|V|=3M, ¡|E|=234M) ¡ Number ¡of ¡Par33ons ¡ 16 ¡(one ¡parGGon ¡per ¡core) ¡ 7 ¡
The ¡End ¡of ¡Slow ¡Networks: ¡Does ¡edge-‑cut ¡ s3ll ¡maOer? ¡ SSSP Execution Time (s) m:s:c METIS LDG m: ¡ ¡ ¡# ¡of ¡machines ¡used ¡ 1:2:8 633 2,632 s: ¡ ¡ ¡ ¡# ¡of ¡sockets ¡used ¡per ¡machine ¡ c: ¡ ¡ ¡ ¡# ¡of ¡cores ¡used ¡per ¡socket ¡ 2:2:4 654 2,565 9x 4:2:2 521 631 8:2:1 222 280 ✓ Denser ¡configura3ons ¡had ¡longer ¡execu3on ¡3me. ¡ ○ Conten3on ¡on ¡the ¡memory ¡subsystems ¡impacted ¡performance. ¡ ¡ ○ Network ¡may ¡not ¡always ¡be ¡the ¡boOleneck. ¡ ¡ 8 ¡
The ¡End ¡of ¡Slow ¡Networks: ¡Does ¡edge-‑cut ¡ s3ll ¡maOer? ¡ SSSP Execution Time (s) SSSP LLC Misses (in Millions) m:s:c m:s:c METIS LDG METIS LDG 1:2:8 633 2,632 1:2:8 10,292 44,117 2:2:4 654 2,565 2:2:4 10,626 44,689 9x 235x 4:2:2 521 631 4:2:2 2,541 1,061 8:2:1 222 280 8:2:1 96 187 ✓ Denser ¡configura3ons ¡had ¡longer ¡execu3on ¡3me. ¡ ○ Conten3on ¡on ¡the ¡memory ¡subsystems ¡impacted ¡performance. ¡ ¡ ○ Network ¡may ¡not ¡always ¡be ¡the ¡boOleneck. ¡ ¡ 9 ¡
The ¡End ¡of ¡Slow ¡Networks: ¡Does ¡edge-‑cut ¡ s3ll ¡maOer? ¡ SSSP Execution Time (s) SSSP LLC Misses (in Millions) m:s:c m:s:c METIS LDG METIS LDG 1:2:8 633 2,632 1:2:8 10,292 44,117 2:2:4 654 2,565 2:2:4 10,626 44,689 9x 235x 4:2:2 521 631 4:2:2 2,541 1,061 8:2:1 222 280 8:2:1 96 187 ✓ Denser ¡configura3ons ¡had ¡longer ¡execu3on ¡3me. ¡ ○ Conten3on ¡on ¡the ¡memory ¡subsystems ¡impacted ¡performance. ¡ ¡ ○ Network ¡may ¡not ¡always ¡be ¡the ¡boOleneck. ¡ ¡ 10 ¡
The ¡End ¡of ¡Slow ¡Networks: ¡Does ¡edge-‑cut ¡ s3ll ¡maOer? ¡ SSSP Execution Time (s) SSSP LLC Misses (in Millions) m:s:c m:s:c METIS LDG METIS LDG 1:2:8 633 2,632 1:2:8 10,292 44,117 2:2:4 654 2,565 2:2:4 10,626 44,689 9x 235x 4:2:2 521 631 4:2:2 2,541 1,061 8:2:1 222 280 8:2:1 96 187 ✓ Denser ¡configura3ons ¡had ¡longer ¡execu3on ¡3me. ¡ ¡ ○ ContenGon ¡on ¡the ¡memory ¡subsystems ¡impacted ¡performance. ¡ The distribution of edge-cut matters. ○ Network ¡may ¡not ¡always ¡be ¡the ¡boCleneck . ¡ ¡ 11 ¡
The ¡End ¡of ¡Slow ¡Networks: ¡Does ¡edge-‑cut ¡ s3ll ¡maOer? ¡ SSSP Execution Time (s) SSSP LLC Misses (in Millions) m:s:c m:s:c METIS LDG METIS LDG 1:2:8 633 2,632 1:2:8 10,292 44,117 2:2:4 654 2,565 2:2:4 10,626 44,689 9x 235x 4:2:2 521 631 4:2:2 2,541 1,061 8:2:1 222 280 8:2:1 96 187 ✓ METIS had lower execution time and LLC misses than LDG. ○ Edge-cut matters. ○ Higher edge-cut-->higher comm-->higher contention 12 ¡
The ¡End ¡of ¡Slow ¡Networks: ¡Does ¡edge-‑cut ¡ s3ll ¡maOer? ¡ Yes! ¡Both ¡edge-‑cut ¡and ¡its ¡ distribu3on ¡maOer! ¡ ✓ Intra-‑Node ¡and ¡Inter-‑Node ¡Data ¡Communica3on ¡ ○ Have ¡different ¡performance ¡impact ¡on ¡the ¡memory ¡ subsystems ¡of ¡modern ¡mulGcore ¡machines. ¡ ¡ 13 ¡
Roadmap ¡ ü IntroducGon ¡ ü Does ¡edge-‑cut ¡sGll ¡maCer? ¡ ü Why ¡edge-‑cut ¡s3ll ¡maOers? ¡ ü Argo ¡ ü EvaluaGon ¡ ü Conclusions ¡ 14 ¡
Intra-‑Node ¡Data ¡Comm: ¡Shared ¡Memory ¡ Sending Core Receiving Core 4b. Write 2b. Write 3. Load 1. Load 4a. Load 2a. Load Shared Buffer Receive Buffer Send Buffer Extra ¡Memory ¡Copy ¡ 15 ¡
Intra-‑Node ¡Data ¡Comm: ¡Shared ¡Memory ¡ Cached Send/Shared/Receive Buffer Cache ¡Pollu3on ¡ LLC ¡and ¡Memory ¡Bandwidth ¡Conten3on ¡ 16 ¡
Intra-‑Node ¡Data ¡Comm: ¡Shared ¡Memory ¡ Cached Send/Shared Buffer Cached Receive/Shared Buffer Cache ¡Pollu3on ¡ LLC ¡and ¡Memory ¡Bandwidth ¡Conten3on ¡ 17 ¡
Excess ¡intra-‑node ¡data ¡communica3on ¡ may ¡hurt ¡performance. ¡ 18 ¡
Inter-‑Node ¡Data ¡Comm: ¡RDMA ¡Read/Write ¡ Node#1 Node#2 Sending Core Sending Core Send Receive Buffer Buffer IB IB HCA HCA No ¡Extra ¡Memory ¡Copy ¡and ¡Cache ¡Pollu3on ¡ ¡ 19 ¡
Offloading ¡excess ¡intra-‑node ¡data ¡comm ¡across ¡ nodes ¡may ¡achieve ¡beOer ¡performance. ¡ 20 ¡
Roadmap ¡ ü IntroducGon ¡ ü Does ¡edge-‑cut ¡sGll ¡maCer? ¡ ü Why ¡edge-‑cut ¡sGll ¡maCers? ¡ ü Argo ¡ ü EvaluaGon ¡ ü Conclusions ¡ 21 ¡
Argo: ¡Graph ¡Par33oning ¡Model ¡ Vertex Stream ... Partitioner ... Streaming ¡Graph ¡ParGGoning ¡Model ¡ [I. ¡Stanton, ¡KDD’12] ¡ 22 ¡
Argo: ¡Architecture-‑Aware ¡Vertex ¡Placement ¡ Place ¡vertex, ¡ v , ¡to ¡a ¡parGGon, ¡ Pi , ¡that ¡maximize: ¡ ¡ Weighted ¡Edge-‑cut ¡ Penalize ¡the ¡placement ¡ based ¡on ¡the ¡load ¡of ¡Pi ¡ ✓ Weighted ¡by ¡ the ¡rela3ve ¡network ¡comm ¡cost , ¡Argo ¡will ¡ ¡ ○ avoid ¡edge-‑cut ¡across ¡nodes ¡(inter-‑node ¡data ¡comm). ¡ Great for cases where the network is the bottleneck. 23 ¡
Argo: ¡Architecture-‑Aware ¡Vertex ¡Placement ¡ Degree ¡of ¡Conten3on ¡ ( 𝞵 ¡ ∈ ¡[0, ¡1]) ¡ Bottleneck Network Memory 𝞵 =0 ¡ 𝞵 =1 ¡ Maximal ¡Inter-‑Node ¡ Refined ¡ Intra-‑Node ¡ Original ¡Intra-‑Node ¡ Network ¡Comm ¡Cost ¡ Network ¡Comm ¡Cost ¡ Network ¡Comm ¡Cost ¡ ✓ Weighted ¡by ¡ the ¡refined ¡rela3ve ¡network ¡comm ¡cost , ¡Argo ¡will ¡ ○ avoid ¡ edge-‑cut ¡ across ¡ cores ¡ of ¡ the ¡ same ¡ node ¡ (intra-‑node ¡ data ¡comm). ¡ ¡ 24 ¡
Roadmap ¡ ü IntroducGon ¡ ü Does ¡edge-‑cut ¡sGll ¡maCer? ¡ ü Why ¡edge-‑cut ¡sGll ¡maCers? ¡ ü Argo ¡ ü Evalua3on ¡ ü Conclusions ¡ 25 ¡
Evalua3on: ¡Workloads ¡& ¡Datasets ¡ ü Three ¡Classic ¡Graph ¡Workloads ¡ o Breadth ¡First ¡Search ¡(BFS) ¡ o Single ¡Source ¡Shortest ¡Path ¡(SSSP) ¡ o PageRank ¡ ü Three ¡Real-‑World ¡Large ¡Graphs ¡ Dataset |V| |E| Orkut 3M 234M Friendster 124M 3.6B Twitter 52M 3.9B 26
Evalua3on: ¡Plaeorm ¡ Cluster ¡Configura.on ¡ # ¡of ¡Nodes ¡ 32 ¡ Network ¡Topology ¡ FDR ¡Infiniband ¡(Single ¡Switch) ¡ Network ¡Bandwidth ¡ 56Gbps ¡ Compute ¡Node ¡Configura.on ¡ 2 ¡Intel ¡Haswell ¡ ¡ # ¡of ¡Sockets ¡ (10 ¡cores ¡/ ¡socket) ¡ L3 ¡Cache ¡ 25MB ¡ 27 ¡
Recommend
More recommend