argo architecture aware graph par33oning
play

Argo: Architecture-Aware Graph Par33oning Angen Zheng - PowerPoint PPT Presentation

Argo: Architecture-Aware Graph Par33oning Angen Zheng Alexandros Labrinidis, Panos K. Chrysanthis, and Jack Lange Department of Computer Science, University of


  1. 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 ¡

  2. Big ¡Graphs ¡Are ¡Everywhere ¡ [SIGMOD’16 ¡Tutorial] ¡ 2 ¡

  3. A ¡Balanced ¡Par33oning ¡= ¡Even ¡Load ¡Distribu3on ¡ Minimal ¡Edge-­‑Cut ¡= ¡Minimal ¡Data ¡Comm ¡ ¡ N2 ¡ N1 ¡ N3 ¡ Assump3on: ¡Network ¡is ¡the ¡boOleneck. ¡ 3 ¡

  4. 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 ¡

  5. The ¡End ¡of ¡Slow ¡Networks: ¡Does ¡ edge-­‑cut ¡s3ll ¡maOer? ¡ ¡ 5 ¡

  6. Roadmap ¡ ü IntroducGon ¡ ü Does ¡edge-­‑cut ¡s3ll ¡maOer? ¡ ü Why ¡edge-­‑cut ¡sGll ¡maCers? ¡ ü Argo ¡ ü EvaluaGon ¡ ü Conclusions ¡ 6 ¡

  7. 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 ¡

  8. 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 ¡

  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. ¡ ¡ 9 ¡

  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. ¡ ○ Conten3on ¡on ¡the ¡memory ¡subsystems ¡impacted ¡performance. ¡ ¡ ○ Network ¡may ¡not ¡always ¡be ¡the ¡boOleneck. ¡ ¡ 10 ¡

  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 ✓ 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 ¡

  12. 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 ¡

  13. 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 ¡

  14. Roadmap ¡ ü IntroducGon ¡ ü Does ¡edge-­‑cut ¡sGll ¡maCer? ¡ ü Why ¡edge-­‑cut ¡s3ll ¡maOers? ¡ ü Argo ¡ ü EvaluaGon ¡ ü Conclusions ¡ 14 ¡

  15. 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 ¡

  16. Intra-­‑Node ¡Data ¡Comm: ¡Shared ¡Memory ¡ Cached Send/Shared/Receive Buffer Cache ¡Pollu3on ¡ LLC ¡and ¡Memory ¡Bandwidth ¡Conten3on ¡ 16 ¡

  17. Intra-­‑Node ¡Data ¡Comm: ¡Shared ¡Memory ¡ Cached Send/Shared Buffer Cached Receive/Shared Buffer Cache ¡Pollu3on ¡ LLC ¡and ¡Memory ¡Bandwidth ¡Conten3on ¡ 17 ¡

  18. Excess ¡intra-­‑node ¡data ¡communica3on ¡ may ¡hurt ¡performance. ¡ 18 ¡

  19. 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 ¡

  20. Offloading ¡excess ¡intra-­‑node ¡data ¡comm ¡across ¡ nodes ¡may ¡achieve ¡beOer ¡performance. ¡ 20 ¡

  21. Roadmap ¡ ü IntroducGon ¡ ü Does ¡edge-­‑cut ¡sGll ¡maCer? ¡ ü Why ¡edge-­‑cut ¡sGll ¡maCers? ¡ ü Argo ¡ ü EvaluaGon ¡ ü Conclusions ¡ 21 ¡

  22. Argo: ¡Graph ¡Par33oning ¡Model ¡ Vertex Stream ... Partitioner ... Streaming ¡Graph ¡ParGGoning ¡Model ¡ [I. ¡Stanton, ¡KDD’12] ¡ 22 ¡

  23. 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 ¡

  24. 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 ¡

  25. Roadmap ¡ ü IntroducGon ¡ ü Does ¡edge-­‑cut ¡sGll ¡maCer? ¡ ü Why ¡edge-­‑cut ¡sGll ¡maCers? ¡ ü Argo ¡ ü Evalua3on ¡ ü Conclusions ¡ 25 ¡

  26. 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

  27. 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