Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
153 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Efficient GPU Implementation of Static and Incrementally Expanding DF-P PageRank for Dynamic Graphs (2404.08299v2)

Published 12 Apr 2024 in cs.DC and cs.SI

Abstract: PageRank is a widely used centrality measure that "ranks" vertices in a graph by considering the connections and their importance. In this report, we first introduce one of the most efficient GPU implementations of Static PageRank, which recomputes PageRank scores from scratch. It uses a synchronous pull-based atomics-free PageRank computation, with the low and high in-degree vertices being partitioned and processed by two separate kernels. Next, we present our GPU implementation of incrementally expanding (and contracting) Dynamic Frontier with Pruning (DF-P) PageRank, which processes only a subset of vertices likely to change ranks. It is based on Static PageRank, and uses an additional partitioning between low and high out-degree vertices for incremental expansion of the set of affected vertices with two additional kernels. On a server with an NVIDIA A100 GPU, our Static PageRank outperforms Hornet and Gunrock's PageRank implementations by 31x and 5.9x respectively. On top of the above, DF-P PageRank outperforms Static PageRank by 2.1x on real-world dynamic graphs, and by 3.1x on large static graphs with random batch updates.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (63)
  1. Real time discovery of dense clusters in highly dynamic graphs: identifying real world events in highly dynamic environments. arXiv preprint arXiv:1207.0138 (2012).
  2. Stefano Allesina and Mercedes Pascual. 2009. Googling food webs: can an eigenvector measure species’ importance for coextinctions? PLoS computational biology 5, 9 (2009), e1000494.
  3. Local partitioning for directed graphs using pagerank. In in Proc. WAW. 166–178.
  4. Fast incremental and personalized pagerank. arXiv preprint arXiv:1006.2880 (2010).
  5. Equal opportunity for low-degree network nodes: a PageRank-based method for protein target identification in metabolic graphs. PLoS One 8, 1 (2013), e54204.
  6. A survey on embedding dynamic graphs. ACM Computing Surveys (CSUR) 55, 1 (2021), 1–37.
  7. Reducing pagerank communication via propagation blocking. In IEEE International Parallel and Distributed Processing Symposium (IPDPS). IEEE, 820–831.
  8. Hornet: An efficient data structure for dynamic sparse graphs and matrices on gpus. In 2018 IEEE High Performance extreme Computing Conference (HPEC). IEEE, 1–7.
  9. Efficient PageRank on GPU clusters. IPSJ SIG Notes 21 (2010), 1–6.
  10. Atos: A task-parallel GPU scheduler for graph analytics. In Proceedings of the 51st International Conference on Parallel Processing. 1–11.
  11. Scalable irregular parallelism with GPUs: getting CPUs out of the way. In SC22: International Conference for High Performance Computing, Networking, Storage and Analysis. IEEE, 1–16.
  12. YuAng Chen and Yeh-ching Chung. 2021. HiPa: Hierarchical partitioning for fast PageRank on NUMA multicore systems. In Proceedings of the 50th International Conference on Parallel Processing. 1–10.
  13. Local methods for estimating pagerank values. In Proceedings of the thirteenth ACM international conference on Information and knowledge management. 381–389.
  14. Alexei D Chepelianskii. 2010. Towards physical laws for software architecture. arXiv preprint arXiv:1003.5455 (2010).
  15. Towards Exploiting Link Evolution.
  16. Meerkat: A framework for Dynamic Graph Algorithms on GPUs. arXiv preprint arXiv:2305.17813 (2023).
  17. Gluon: A communication-optimizing substrate for distributed heterogeneous graph analytics. In Proceedings of the 39th ACM SIGPLAN conference on programming language design and implementation. 752–768.
  18. Incremental Page Rank Computation on Evolving Graphs. In Special Interest Tracks and Posters of the 14th International Conference on World Wide Web (Chiba, Japan) (WWW ’05). Association for Computing Machinery, New York, NY, USA, 1094–1095. https://doi.org/10.1145/1062745.1062885
  19. H. Dubey and N. Khare. 2022. Fast parallel computation of PageRank scores with improved convergence time. IJDMMM 14, 1 (2022), 63–88.
  20. Parallel pagerank computation using GPUs. In In Proceedings of the Third Symposium on Information and Communication Technology. 223–230.
  21. Parallel pagerank computation using gpus. In Proceedings of the 3rd Symposium on Information and Communication Technology. 223–230.
  22. Sparsification — A technique for speeding up dynamic graph algorithms. J. ACM 44, 5 (September 1997), 669–696. http://doi.acm.org/10.1145/265910.265914
  23. rapidsai/nvgraph. https://github.com/rapidsai/nvgraph/blob/main/cpp/src/pagerank.cu#L149
  24. P. Garg and K. Kothapalli. 2016. STIC-D: Algorithmic Techniques For Efficient Parallel Pagerank Computation on Real-World Graphs. In Proceedings of the 17th International Conference on Distributed Computing and Networking - ICDCN ’16. ACM Press, 1—10.
  25. HyPR: Hybrid Page Ranking on Evolving Graphs. In Proc. IEEE 27th International Conference on High Performance Computing, Data, and Analytics (HiPC). 62–71.
  26. Pagerank tracker: From ranking to tracking. IEEE Transactions on Cybernetics 44, 6 (2013), 882–893.
  27. High-performance GPU implementation of PageRank with reduced precision based on mantissa segmentation. In 2018 IEEE/ACM 8th Workshop on Irregular Applications: Architectures and Algorithms (IA3). IEEE, 61–68.
  28. Acceleration of PageRank with customized precision based on mantissa segmentation. ACM Transactions on Parallel Computing (TOPC) 7, 1 (2020), 1–19.
  29. Accelerating PageRank in shared-memory for efficient social network graph analytics. In 2020 IEEE 26th International Conference on Parallel and Distributed Systems (ICPADS). IEEE, 238–247.
  30. Adaptive methods for the computation of PageRank. Linear Algebra Appl. 386 (2004), 51–65.
  31. Computing pagerank scores of web crawl data using dgx a100 clusters. In 2020 IEEE High Performance Extreme Computing Conference (HPEC). IEEE, 1–4.
  32. Kyung Soo Kim and Yong Suk Choi. 2015. Incremental iteration method for fast pagerank computation. In Proceedings of the 9th International Conference on Ubiquitous Information Management and Communication. 1–5.
  33. Analysis on the transportation point in cheongju city using pagerank algorithm. In Proceedings of the International Conference on Big Data Applications and Services - BigDAS ’15, C. Leung and A. Nasridinov (Eds.). ACM Press, New York, New York, USA, 165–169.
  34. Tamara G Kolda and Michael J Procopio. 2009. Generalized badrank with graduated trust. Sandia National Laboratories, California (2009).
  35. The SuiteSparse matrix collection website interface. The Journal of Open Source Software 4, 35 (Mar 2019), 1244.
  36. Accelerating PageRank using Partition-Centric Processing. In USENIX Annual Technical Conference (USENIX ATC ’18). USENIX Association, Boston, MA, 427–440.
  37. A.N. Langville and C.D. Meyer. 2006. A reordering for the PageRank problem. SIAM SISC 27, 6 (2006), 2112–2120.
  38. Jure Leskovec and Andrej Krevl. 2014. SNAP Datasets: Stanford Large Network Dataset Collection. http://snap.stanford.edu/data.
  39. John Nickolls and William J Dally. 2010. The GPU computing era. IEEE micro 30, 2 (2010), 56–69.
  40. Tigr: Transforming irregular graphs for gpu-friendly graph processing. ACM SIGPLAN Notices 53, 2 (2018), 622–636.
  41. NVIDIA Corporation. 2019. nvGRAPH Library User’s Guide. https://docs.nvidia.com/cuda/archive/10.1/pdf/nvGRAPH_Library.pdf
  42. Efficient pagerank tracking in evolving networks. In Proceedings of the 21th ACM SIGKDD international conference on knowledge discovery and data mining. 875–884.
  43. The PageRank citation ranking: Bringing order to the web. Technical Report. Stanford InfoLab.
  44. R.P. Pashikanti and S. Kundu. 2022. FPPR: fast pessimistic (dynamic) PageRank to update PageRank in evolving directed graphs on network changes. SNAM 12, 1 (2022), 141.
  45. Solving write conflicts in GPU-accelerated graph computation: A PageRank case-study. In 2019 IEEE 5th International forum on Research and Technology for Society and Industry (RTSI). IEEE, 144–148.
  46. S.J. Plimpton and K.D. Devine. 2011. MapReduce in MPI for large-scale graph algorithms. Parallel Comput. 37, 9 (2011), 610–632.
  47. G. Ramalingam. 1996. Bounded Incremental Computation. Lecture Notes in Computer Science 1089 (1996), 101–129.
  48. A. Rungsawang and B. Manaskasemsak. 2012. Fast pagerank computation on a GPU cluster. In 20th Euromicro International Conference on Parallel, Distributed and Network-based Processing. IEEE, 450–456.
  49. Subhajit Sahu. 2024a. DF* PageRank: Improved Incrementally Expanding Approaches for Updating PageRank on Dynamic Graphs. arXiv preprint arXiv:2401.15870 (2024).
  50. Subhajit Sahu. 2024b. An Incrementally Expanding Approach for Updating PageRank on Dynamic Graphs. arXiv preprint arXiv:2401.03256 (2024).
  51. Dynamic Batch Parallel Algorithms for Updating PageRank. In 2022 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). IEEE, 1129–1138.
  52. Real-Time PageRank on Dynamic Graphs. In Proceedings of the 32nd International Symposium on High-Performance Parallel and Distributed Computing. 239–251.
  53. Jason Sanders and Edward Kandrot. 2010. CUDA by example: an introduction to general-purpose GPU programming. Addison-Wesley Professional.
  54. Reginald Sawilla. 2006. Abstracting PageRank to dynamic asset valuation. DRDC Ottawa TM 243 (2006).
  55. Julian Shun and Guy E Blelloch. 2013. Ligra: a lightweight graph processing framework for shared memory. In Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming. 135–146.
  56. Quantifying the performance impact of graph structure on neighbour iteration strategies for pagerank. In Euro-Par 2015: Parallel Processing Workshops: Euro-Par 2015 International Workshops, Vienna, Austria, August 24-25, 2015, Revised Selected Papers 21. Springer, 528–540.
  57. Grus: Toward unified-memory-efficient high-performance graph processing on gpu. ACM Transactions on Architecture and Code Optimization (TACO) 18, 2 (2021), 1–25.
  58. Gunrock: A high-performance graph processing library on the GPU. In Proceedings of the 21st ACM SIGPLAN symposium on principles and practice of parallel programming. 1–12.
  59. Efficient pagerank and spmv computation on AMD gpus. In 39th International Conference on Parallel Processing. IEEE, 81–89.
  60. GraphBLAST: A high-performance linear algebra-based graph framework on the GPU. ACM Transactions on Mathematical Software (TOMS) 48, 1 (2022), 1–51.
  61. Fast incremental pagerank on dynamic networks. In International Conference on Web Engineering. Springer, 154–168.
  62. Q. Zhang and T. Yuan. 2018. Analysis of China’s Urban Network Structure from the Perspective of “Streaming”. In 26th International Conference on Geoinformatics. IEEE, 1–7.
  63. T. Zhang. 2017. Efficient incremental pagerank of evolving graphs on GPU. In IEEE ICCSEC. 1232–1236.

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com