skip to main content
10.1145/3332466.3374527acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections

Practical parallel hypergraph algorithms

Published:19 February 2020Publication History

ABSTRACT

While there has been significant work on parallel graph processing, there has been very surprisingly little work on high-performance hypergraph processing. This paper presents a collection of efficient parallel algorithms for hypergraph processing, including algorithms for betweenness centrality, maximal independent set, k-core decomposition, hypertrees, hyperpaths, connected components, PageRank, and single-source shortest paths. For these problems, we either provide new parallel algorithms or more efficient implementations than prior work. Furthermore, our algorithms are theoretically-efficient in terms of work and depth. To implement our algorithms, we extend the Ligra graph processing framework to support hypergraphs, and our implementations benefit from graph optimizations including switching between sparse and dense traversals based on the frontier size, edge-aware parallelization, using buckets to prioritize processing of vertices, and compression. Our experiments on a 72-core machine and show that our algorithms obtain excellent parallel speedups, and are significantly faster than algorithms in existing hypergraph processing frameworks.

References

  1. Sinan Aksoy, Dustin Arendt, Louis S Jenkins, Brenda Praggastis, Emilie Purvine, and Marcin Zalewski. 2019. High Performance Hypergraph Analytics of Domain Name System Relationships. In HICSS Symposium on Cybersecurity Big Data Analytics.Google ScholarGoogle Scholar
  2. Noga Alon, Uri Arad, and Yossi Azar. 1999. Independent Sets in Hypergraphs with Applications to Routing via Fixed Paths. In International Workshop on Approximation Algorithms for Combinatorial Optimization Problems: Randomization, Approximation, and Combinatorial Algorithms and Techniques (RANDOM-APPROX). 16--27.Google ScholarGoogle ScholarCross RefCross Ref
  3. Giorgio Ausiello, Giuseppe F. Italiano, and Umberto Nanni. 1998. Hypergraph traversal revisited: Cost measures and dynamic algorithms. In Mathematical Foundations of Computer Science. 1--16.Google ScholarGoogle Scholar
  4. David A. Bader, Shiva Kintali, Kamesh Madduri, and Milena Mihail. 2007. Approximating betweenness centrality. In Workshop on Algorithms and Models for the Web-Graph (WAW). 124--137.Google ScholarGoogle ScholarCross RefCross Ref
  5. Paul Beame and Michael Luby. 1990. Parallel Search for Maximal Independence Given Minimal Dependence. In ACM-SIAM Symposium on Discrete Algorithms (SODA). 212--218.Google ScholarGoogle Scholar
  6. Scott Beamer, Krste Asanovic, and David Patterson. 2012. Direction-optimizing breadth-first search. In ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis (SC). Article 12, 12:1--12:10 pages.Google ScholarGoogle Scholar
  7. S. Beamer, K. Asanovic, and D. Patterson. 2017. Reducing Pagerank Communication via Propagation Blocking. In IEEE International Parallel and Distributed Processing Symposium (IPDPS). 820--831.Google ScholarGoogle Scholar
  8. Abdelghani Bellaachia and Mohammed Al-Dhelaan. 2013. Random Walks in Hypergraph. In International Conference on Applied Mathematics and Computational Methods. 187--194.Google ScholarGoogle Scholar
  9. Ioana O. Bercea, Navin Goyal, David G. Harris, and Aravind Srinivasan. 2017. On Computing Maximal Independent Sets of Hypergraphs in Parallel. ACM Trans. Parallel Comput. 3, 1, Article 5 (Jan. 2017), 5:1--5:13 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Guy E. Blelloch, Jeremy T. Fineman, and Julian Shun. 2012. Greedy sequential maximal independent set and matching are parallel on average. In ACM Symposium on Parallelism in Algorithms and Architectures (SPAA). 308--317.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Robert D. Blumofe and Charles E. Leiserson. 1999. Scheduling Multi-threaded Computations by Work Stealing. J. ACM 46, 5 (Sept. 1999), 720--748.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Cecile Bothorel and Mohamed Bouklit. 2011. An Algorithm for Detecting Communities in Folksonomy Hypergraphs. In International Conference on Innovative Internet Community Services. 159--168.Google ScholarGoogle Scholar
  13. Ulrik Brandes. 2001. A Faster Algorithm for Betweenness Centrality. Journal of Mathematical Sociology 25 (2001), 163--177.Google ScholarGoogle ScholarCross RefCross Ref
  14. Richard P. Brent. 1974. The Parallel Evaluation of General Arithmetic Expressions. J. ACM 21, 2 (April 1974), 201--206.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Alain Bretto, Hocine Cherifi, and Driss Aboutajdine. 2002. Hypergraph imaging: an overview. Pattern Recognition 35, 3 (2002), 651--658.Google ScholarGoogle ScholarCross RefCross Ref
  16. S. Brin and L. Page. 1998. The Anatomy of a Large-Scale Hypertextual Web Search Engine. In Computer Networks and ISDN Systems. 107--117.Google ScholarGoogle Scholar
  17. U. V. Catalyurek and C. Aykanat. 1999. Hypergraph-partitioning-based decomposition for parallel sparse-matrix vector multiplication. IEEE Transactions on Parallel and Distributed Systems 10, 7 (Jul 1999), 673--693.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Umit V. Catalyurek, Erik G. Boman, Karen D. Devine, Doruk Bozdaag, Robert T. Heaphy, and Lee Ann Riesen. 2009. A repartitioning hypergraph model for dynamic load balancing. J. Parallel and Distrib. Comput. 69, 8 (2009), 711--724.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. L. Chen, X. Huo, B. Ren, S. Jain, and G. Agrawal. 2015. Efficient and Simplified Parallel Graph Processing over CPU and MIC. In IEEE International Parallel and Distributed Processing Symposium (IPDPS). 819--828.Google ScholarGoogle Scholar
  20. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. 2009. Introduction to Algorithms (3. ed.). MIT Press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Roshan Dathathri, Gurbinder Gill, Loc Hoang, Hoang-Vu Dang, Alex Brooks, Nikoli Dryden, Marc Snir, and Keshav Pingali. 2018. Gluon: A Communication-optimizing Substrate for Distributed Heterogeneous Graph Analytics. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 752--768.Google ScholarGoogle Scholar
  22. Roshan Dathathri, Gurbinder Gill, Loc Hoang, and Keshav Pingali. 2019. Phoenix: A Substrate for Resilient Distributed Graph Analytics. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 615--630.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Karen D. Devine, Erik G. Boman, Robert T. Heaphy, Rob H. Bisseling, and Umit V. Catalyurek. 2006. Parallel Hypergraph Partitioning for Scientific Computing. In International Conference on Parallel and Distributed Processing (IPDPS). 124--124.Google ScholarGoogle Scholar
  24. Laxman Dhulipala, Guy Blelloch, and Julian Shun. 2017. Julienne: A Framework for Parallel Graph Algorithms Using Work-efficient Bucketing. In ACM Symposium on Parallelism in Algorithms and Architectures (SPAA). 293--304.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Laxman Dhulipala, Guy E. Blelloch, and Julian Shun. 2018. Theoretically Efficient Parallel Graph Algorithms Can Be Fast and Scalable. In ACM Symposium on Parallelism in Algorithms and Architectures (SPAA). 393--404.Google ScholarGoogle Scholar
  26. L. Ding and A. Yilmaz. 2008. Image Segmentation as Learning on Hypergraphs. In International Conference on Machine Learning and Applications. 247--252.Google ScholarGoogle Scholar
  27. Aurelien Ducournau and Alain Bretto. 2014. Random walks in directed hypergraphs and application to semi-supervised image segmentation. Computer Vision and Image Understanding 120 (2014), 91--102.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. D. Ediger, R. McColl J. Riedy, and D. A. Bader. 2012. STINGER: High performance data structure for streaming graphs. In IEEE Conference on High Performance Extreme Computing (HPEC). 1--5.Google ScholarGoogle Scholar
  29. Linton Freeman. 1977. A set of measures of centrality based upon betweenness. Sociometry 40 (1977), 35--41.Google ScholarGoogle ScholarCross RefCross Ref
  30. Giorgio Gallo, Giustino Longo, Stefano Pallottino, and Sang Nguyen. 1993. Directed hypergraphs and applications. Discrete Applied Mathematics 42, 2 (1993), 177 -- 201.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. J. Gao, Q. Zhao, W. Ren, A. Swami, R. Ramanathan, and A. Bar-Noy. 2012. Dynamic shortest path algorithms for hypergraphs. In International Symposium on Modeling and Optimization in Mobile, Ad Hoc and Wireless Networks (WiOpt). 238--245.Google ScholarGoogle Scholar
  32. Robert Geisberger, Peter Sanders, and Dominik Schultes. 2008. Better Approximation of Betweenness Centrality. In Algorithms Engineering and Experiments (ALENEX). 90--100.Google ScholarGoogle Scholar
  33. Gurbinder Gill, Roshan Dathathri, Loc Hoang, Andrew Lenharth, and Keshav Pingali. 2018. Abelian: A Compiler for Graph Analytics on Distributed, Heterogeneous Platforms. In Euro-Par. 249--264.Google ScholarGoogle Scholar
  34. Joseph Gonzalez, Yucheng Low, Haijie Gu, Danny Bickson, and Carlos Guestrin. 2012. PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs. In USENIX Symposium on Operating System Design and Implementation (OSDI). 17--30.Google ScholarGoogle Scholar
  35. Samuel Grossman, Heiner Litz, and Christos Kozyrakis. 2018. Making Pull-based Graph Processing Performant. In ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP). 246--260.Google ScholarGoogle Scholar
  36. Yan Gu, Julian Shun, Yihan Sun, and Guy E. Blelloch. 2015. A Top-Down Parallel Semisort. In ACM Symposium on Parallelism in Algorithms and Architectures (SPAA). 24--34.Google ScholarGoogle Scholar
  37. Torben Hagerup. 1992. Fast and optimal simulations between CRCW PRAMs. In Annual Symposium on Theoretical Aspects of Computer Science (STACS). 45--56.Google ScholarGoogle ScholarCross RefCross Ref
  38. Harshvardhan, Adam Fidel, Nancy M. Amato, and Lawrence Rauchwerger. 2012. The STAPL Parallel Graph Library. In Languages and Compilers for Parallel Computing (LCPC). 46--60.Google ScholarGoogle Scholar
  39. Harshvardhan, Adam Fidel, Nancy M. Amato, and Lawrence Rauchwerger. 2014. KLA: a new algorithmic paradigm for parallel graph computations. In International Conference on Parallel Architectures and Compilation (PACT). 27--38.Google ScholarGoogle Scholar
  40. Harshvardhan, Adam Fidel, Nancy M. Amato, and Lawrence Rauchwerger. 2015. An Algorithmic Approach to Communication Reduction in Parallel Graph Algorithms. In International Conference on Parallel Architecture and Compilation (PACT). 201--212.Google ScholarGoogle Scholar
  41. Benjamin Heintz, Rankyung Hong, Shivangi Singh, Gaurav Khandelwal, Corey Tesdahl, and Abhishek Chandra. 2019. MESH: A Flexible Distributed Hypergraph Processing System. In IEEE International Conference on Cloud Engineering (IC2E). 12--22.Google ScholarGoogle Scholar
  42. C. Hong, A. Sukumaran-Rajam, J. Kim, and P. Sadayappan. 2017. MultiGraph: Efficient Graph Processing on GPUs. In International Conference on Parallel Architectures and Compilation Techniques (PACT). 27--40.Google ScholarGoogle Scholar
  43. J. Jaja. 1992. Introduction to Parallel Algorithms. Addison-Wesley Professional.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Louis Jenkins, Tanveer Hossain Bhuiyan, Sarah Harun, Christopher Lightsey, David Mentgen, Sinan G. Aksoy, Timothy Stavcnger, Marcin Zalewski, Hugh R. Medal, and Cliff Joslyn. 2018. Chapel HyperGraph Library (CHGL). In IEEE High Performance Extreme Computing Conference (HPEC). 1--6.Google ScholarGoogle ScholarCross RefCross Ref
  45. Jiayang Jiang, Michael Mitzenmacher, and Justin Thaler. 2017. Parallel Peeling Algorithms. ACM Trans. Parallel Comput. 3, 1, Article 7 (Jan. 2017), 7:1--7:27 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. W. Jiang, J. Qi, J. X. Yu, J. Huang, and R. Zhang. 2019. HyperX: A Scalable Hypergraph Framework. IEEE Transactions on Knowledge and Data Engineering 31, 5, 909--922.Google ScholarGoogle ScholarCross RefCross Ref
  47. U. Kang, Charalampos E. Tsourakakis, and Christos Faloutsos. 2011. PEGASUS: mining peta-scale graphs. Knowl. Inf. Syst. 27, 2 (2011), 303--325.Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Richard M. Karp, Eli Upfal, and Avi Wigderson. 1988. The Complexity of Parallel Search. J. Comput. Syst. Sci. 36, 2 (April 1988), 225--253.Google ScholarGoogle ScholarCross RefCross Ref
  49. G. Karypis, R. Aggarwal, V. Kumar, and S. Shekhar. 1999. Multilevel hypergraph partitioning: applications in VLSI domain. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 7, 1 (March 1999), 69--79.Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Pierre Kelsen. 1992. On the Parallel Complexity of Computing a Maximal Independent Set in a Hypergraph. In ACM Symposium on Theory of Computing (STOC). 339--350.Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Jeremy Kepner, Peter Aaltonen, David A. Bader, Aydin Buluç, Franz Franchetti, John R. Gilbert, Dylan Hutchison, Manoj Kumar, Andrew Lumsdaine, Henning Meyerhenke, Scott McMillan, Carl Yang, John D. Owens, Marcin Zalewski, Timothy G. Mattson, and José E. Moreira. 2016. Mathematical foundations of the GraphBLAS. In IEEE High Performance Extreme Computing Conference (HPEC). 1--9.Google ScholarGoogle Scholar
  52. Gaurav Khanna, Nagavijayalakshmi Vydyanathan, T. Kurc, U. Catalyurek, P. Wyckoff, J. Saltz, and P. Sadayappan. 2005. A hypergraph partitioning based approach for scheduling of tasks with batch-shared I/O. In IEEE International Symposium on Cluster Computing and the Grid (CCGRID). 792--799.Google ScholarGoogle Scholar
  53. Vladimir Kiriansky, Yunming Zhang, and Saman P. Amarasinghe. 2016. Optimizing Indirect Memory References with milk. In International Conference on Parallel Architectures and Compilation (PACT). 299--312.Google ScholarGoogle Scholar
  54. Sriram Krishnamoorthy, Umit Catalyurek, Jarek Nieplocha, Atanas Rountev, and P. Sadayappan. 2006. Hypergraph Partitioning for Automatic Memory Hierarchy Management. In ACM/IEEE Conference on Supercomputing (SC).Google ScholarGoogle Scholar
  55. Jérôme Kunegis. 2013. KONECT: The Koblenz Network Collection. In International Conference on World Wide Web (WWW). 1343--1350.Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Aapo Kyrola, Guy Blelloch, and Carlos Guestrin. 2012. GraphChi: Large-Scale Graph computation on Just a PC. In USENIX Symposium on Operating Systems Design and Implementation (OSDI). 31--46.Google ScholarGoogle Scholar
  57. Kartik Lakhotia, Rajgopal Kannan, and Viktor Prasanna. 2018. Accelerating PageRank using Partition-Centric Processing. In USENIX Annual Technical Conference (ATC). 427--440.Google ScholarGoogle Scholar
  58. Charles E. Leiserson. 2010. The Cilk++ concurrency platform. J. Supercomputing 51, 3 (2010).Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Jure Leskovec and Andrej Krevl. 2019. SNAP Datasets: Stanford Large Network Dataset Collection, http://snap.stanford.edu/data.Google ScholarGoogle Scholar
  60. Heng Lin, Xiaowei Zhu, Bowen Yu, Xiongchao Tang, Wei Xue, Wenguang Chen, Lufei Zhang, Torsten Hoefler, Xiaosong Ma, Xin Liu, Weimin Zheng, and Jingfang Xu. 2018. ShenTu: Processing Multi-trillion Edge Graphs on Millions of Cores in Seconds. In Proceedings of the International Conference for High Performance Computing, Networking, Storage, and Analysis (SC). 56:1--56:11.Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Yucheng Low, Joseph Gonzalez, Aapo Kyrola, Danny Bickson, Carlos Guestrin, and Joseph M. Hellerstein. 2010. GraphLab: A New Parallel Framework for Machine Learning. In Conference on Uncertainty in Artificial Intelligence (UAI). 340--349.Google ScholarGoogle Scholar
  62. Michael Luby. 1986. A simple parallel algorithm for the maximal independent set problem. SIAM J. Comput. 15, 4 (November 1986), 1036--1055.Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. P. Macko, V. J. Marathe, D. W. Margo, and M. I. Seltzer. 2015. LLAMA: Efficient graph analytics using Large Multiversioned Arrays. In IEEE International Conference on Data Engineering (ICDE). 363--374.Google ScholarGoogle Scholar
  64. Saeed Maleki, G. Carl Evans, and David A. Padua. 2015. Tiled Linear Algebra a System for Parallel Graph Algorithms. In Languages and Compilers for Parallel Computing. 116--130.Google ScholarGoogle Scholar
  65. Grzegorz Malewicz, Matthew H. Austern, Aart J.C Bik, James C. Dehnert, Ilan Horn, Naty Leiser, and Grzegorz Czajkowski. 2010. Pregel: a system for large-scale graph processing. In ACM Conference on Management of Data (SIGMOD). 135--146.Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Robert Ryan McCune, Tim Weninger, and Greg Madey. 2015. Thinking Like a Vertex: A Survey of Vertex-Centric Frameworks for Large-Scale Distributed Graph Processing. ACM Comput. Surv. 48, 2, Article 25 (Oct. 2015), 39 pages.Google ScholarGoogle Scholar
  67. Frank McSherry, Michael Isard, and Derek G. Murray. 2015. Scalability! But at What COST?. In USENIX Conference on Hot Topics in Operating Systems (HotOS).Google ScholarGoogle Scholar
  68. Ke Meng, Jiajia Li, Guangming Tan, and Ninghui Sun. 2019. A pattern based algorithmic autotuner for graph processing on GPUs. In ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP). 201--213.Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Donald Nguyen, Andrew Lenharth, and Keshav Pingali. 2013. A Lightweight Infrastructure for Graph Analytics. In ACM Symposium on Operating Systems Principles (SOSP). 456--471.Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Lars Relund Nielsen, Kim Allan Andersen, and Daniele Pretolani. 2005. Finding the K Shortest Hyperpaths. Comput. Oper. Res. 32, 6 (June 2005), 1477--1497.Google ScholarGoogle Scholar
  71. Amir Hossein Nodehi Sabet, Junqiao Qiu, and Zhijia Zhao. 2018. Tigr: Transforming Irregular Graphs for GPU-Friendly Graph Processing. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 622--636.Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Sreepathi Pai and Keshav Pingali. 2016. A Compiler for Throughput Optimization of Graph Algorithms on GPUs. In ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). 1--19.Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. Zhen Peng, Alexander Powell, Bo Wu, Tekin Bicer, and Bin Ren. 2018. Graphphi: efficient parallel graph processing on emerging throughput-oriented architectures. In International Conference on Parallel Architectures and Compilation Techniques (PACT). 9:1--9:14.Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Rami Puzis, Manish Purohit, and V. S. Subrahmanian. 2013. Betweenness computation in the single graph representation of hypergraphs. Social Networks 35, 4 (2013), 561--572.Google ScholarGoogle ScholarCross RefCross Ref
  75. S. Riazi and B. Nords. 2016. GraphFlow: Workflow-based big graph processing. In IEEE International Conference on Big Data (Big Data). 3336--3343.Google ScholarGoogle Scholar
  76. A. Ritz, B. Avent, and T. M. Murali. 2017. Pathway Analysis with Signaling Hypergraphs. IEEE/ACM Transactions on Computational Biology and Bioinformatics 14, 5 (Sept 2017), 1042--1055.Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Sanjukta Roy and Balaraman Ravindran. 2015. Measuring Network Centrality Using Hypergraphs. In ACM IKDD Conference on Data Sciences. 59--68.Google ScholarGoogle Scholar
  78. D. Sengupta, S. L. Song, K. Agarwal, and K. Schwan. 2015. GraphReduce: processing large-scale graphs on accelerator-based systems. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC). 1--12.Google ScholarGoogle Scholar
  79. Xuanhua Shi, Zhigao Zheng, Yongluan Zhou, Hai Jin, Ligang He, Bo Liu, and Qiang-Sheng Hua. 2018. Graph Processing on GPUs: A Survey. ACM Comput. Surv. 50, 6, Article 81 (Jan. 2018), 81:1--81:35 pages.Google ScholarGoogle Scholar
  80. Yossi Shiloach and Uzi Vishkin. 1982. An O(log n) Parallel Connectivity Algorithm. J. Algorithms 3, 1 (1982), 57--67.Google ScholarGoogle ScholarCross RefCross Ref
  81. Julian Shun and Guy E. Blelloch. 2013. Ligra: A Lightweight Graph Processing Framework for Shared Memory. In ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP). 135--146.Google ScholarGoogle Scholar
  82. Julian Shun, Laxman Dhulipala, and Guy E. Blelloch. 2014. A Simple and Practical Linear-Work Parallel Algorithm for Connectivity. In ACM Symposium on Parallelism in Algorithms and Architectures (SPAA). 143--153.Google ScholarGoogle Scholar
  83. Julian Shun, Laxman Dhulipala, and Guy E. Blelloch. 2015. Smaller and Faster: Parallel Processing of Compressed Graphs with Ligra+. In IEEE Data Compression Conference (DCC). 403--412.Google ScholarGoogle Scholar
  84. Shuang Song, Xu Liu, Qinzhe Wu, Andreas Gerstlauer, Tao Li, and Lizy K. John. 2018. Start Late or Finish Early: A Distributed Graph Processing System with Redundancy Reduction. PVLDB 12, 2 (2018), 154--168.Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. Jiawen Sun, Hans Vandierendonck, and Dimitrios S. Nikolopoulos. 2017. GraphGrind: Addressing Load Imbalance of Graph Partitioning. In International Conference on Supercomputing (ICS). Article 16, 16:1--16:10 pages.Google ScholarGoogle Scholar
  86. Jiawen Sun, Hans Vandierendonck, and Dimitrios S. Nikolopoulos. 2019. VEBO: a vertex- and edge-balanced ordering heuristic to load balance parallel graph processing. In ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP). 391--392.Google ScholarGoogle Scholar
  87. Narayanan Sundaram, Nadathur Satish, Md Mostofa Ali Patwary, Subramanya R. Dulloor, Michael J. Anderson, Satya Gautam Vadlamudi, Dipankar Das, and Pradeep Dubey. 2015. GraphMat: High Performance Graph Analytics Made Productive. Proc. VLDB Endow. 8, 11 (July 2015), 1214--1225.Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. Guangming Tan, Dengbiao Tu, and Ninghui Sun. 2009. A Parallel Algorithm for Computing Betweenness Centrality. In International Conference on Parallel Processing (ICPP). 340--347.Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. Aleksandar Trifunovic and William J. Knottenbelt. 2008. Parallel multilevel algorithms for hypergraph partitioning. J. Parallel and Distrib. Comput. 68, 5 (2008), 563--581.Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. Dengbiao Tu and Guangming Tan. 2009. Characterizing Betweenness Centrality Algorithm on Multi-core Architectures. In IEEE International Symposium on Parallel and Distributed Processing with Applications (ISPA). 182--189.Google ScholarGoogle Scholar
  91. Lei Wang, Liangji Zhuang, Junhang Chen, Huimin Cui, Fang Lv, Ying Liu, and Xiaobing Feng. 2018. Lazygraph: lazy data coherency for replicas in distributed graph-parallel computation. In ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP). 276--289.Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. Hao Wei, Jeffrey Xu Yu, Can Lu, and Xuemin Lin. 2016. Speedup Graph Processing by Graph Ordering. In ACM International Conference on Management of Data (SIGMOD). 1813--1828.Google ScholarGoogle ScholarDigital LibraryDigital Library
  93. Da Yan, Yingyi Bu, Yuanyuan Tian, and Amol Deshpande. 2017. Big Graph Analytics Platforms. Foundations and Trends in Databases 7, 1-2 (2017), 1--195.Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. Jie Yan, Guangming Tan, Zeyao Mo, and Ninghui Sun. 2016. Graphine: Programming Graph-Parallel Computation of Large Natural Graphs for Multicore Clusters. IEEE Trans. Parallel Distrib. Syst. 27, 6 (2016), 1647--1659.Google ScholarGoogle ScholarCross RefCross Ref
  95. Matei Zaharia, Reynold S. Xin, Patrick Wendell, Tathagata Das, Michael Armbrust, Ankur Dave, Xiangrui Meng, Josh Rosen, Shivaram Venkataraman, Michael J. Franklin, Ali Ghodsi, Joseph Gonzalez, Scott Shenker, and Ion Stoica. 2016. Apache Spark: A Unified Engine for Big Data Processing. Commun. ACM 59, 11 (Oct. 2016), 56--65.Google ScholarGoogle ScholarDigital LibraryDigital Library
  96. Kaiyuan Zhang, Rong Chen, and Haibo Chen. 2015. NUMA-aware Graph-structured Analytics. In ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP). 183--193.Google ScholarGoogle Scholar
  97. Yunming Zhang, Vladimir Kiriansky, Charith Mendis, Matei Zaharia, and Saman P. Amarasinghe. 2017. Making Caches Work for Graph Analytics. In IEEE International Conference on Big Data (BigData). 293--302.Google ScholarGoogle Scholar
  98. Yunming Zhang, Mengjiao Yang, Riyadh Baghdadi, Shoaib Kamil, Julian Shun, and Saman Amarasinghe. 2018. GraphIt: A High-performance Graph DSL. Proc. ACM Program. Lang. 2, OOPSLA, Article 121 (Oct. 2018), 121:1--121:30 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  99. Peng Zhao, Chen Ding, Lei Liu, Jiping Yu, Wentao Han, and Xiao-Bing Feng. 2019. Cacheap: Portable and Collaborative I/O Optimization for Graph Processing. Journal of Computer Science and Technology 34, 3 (01 May 2019), 690--706.Google ScholarGoogle ScholarCross RefCross Ref
  100. Dengyong Zhou, Jiayuan Huang, and Bernhard Schölkopf. 2006. Learning with Hypergraphs: Clustering, Classification, and Embedding. In International Conference on Neural Information Processing Systems (NIPS). 1601--1608.Google ScholarGoogle Scholar
  101. Xiaowei Zhu, Wenguang Chen, Weimin Zheng, and Xiaosong Ma. 2016. Gemini: A Computation-Centric Distributed Graph Processing System. In USENIX Symposium on Operating Systems Design and Implementation (OSDI). 301--316.Google ScholarGoogle Scholar

Index Terms

  1. Practical parallel hypergraph algorithms

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      PPoPP '20: Proceedings of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
      February 2020
      454 pages
      ISBN:9781450368186
      DOI:10.1145/3332466

      Copyright © 2020 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 19 February 2020

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      PPoPP '20 Paper Acceptance Rate28of121submissions,23%Overall Acceptance Rate230of1,014submissions,23%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader