Scalable Triangle Counting on Distributed-Memory Systems
Scalable Triangle Counting on Distributed-Memory Systems
复制标题
分布式内存系统上的可扩展三角形计数
DOI:
--
复制
发表时间:
2019
期刊:
影响因子:
--
通讯作者:
Ümit V. Çatalyürek
中科院分区:
文献类型:
--
作者:
Seher Acer;Abdurrahman Yasar;S. Rajamanickam;Michael M. Wolf;Ümit V. Çatalyürek
Triangle counting is a foundational graph-analysis kernel in network science. It has also been one of the challenge problems for the “Static Graph Challenge”. In this work, we propose a novel, hybrid, parallel triangle counting algorithm based on its linear algebra formulation. Our framework uses MPI and Cilk to exploit the benefits of distributed-memory and shared-memory parallelism, respectively. The problem is partitioned among MPI processes using a two-dimensional (2D) Cartesian block partitioning. One-dimensional (1D) rowwise partitioning is used within the Cartesian blocks for shared-memory parallelism using the Cilk programming model. Besides exhibiting very good strong scaling behavior in almost all tested graphs, our algorithm achieves the fastest time on the 1.4B edge real-world twitter graph, which is 3.217 seconds, on 1,092 cores. In comparison to past distributed-memory parallel winners of the graph challenge, we demonstrate a speed up of 2.7× on this twitter graph. This is also the fastest time reported for parallel triangle counting on the twitter graph when the graph is not replicated.