Counting and finding triangles in graphs is often used in real-world analytics for characterizing the cohesiveness and identifying communities in graphs. In this paper, we present novel sequential and parallel triangle counting algorithms based on identifying horizontal-edges in a breadth-first search (BFS) traversal of the graph. The BFS allows our algorithm to drastically reduce the number of edges examined for set intersections. Our new approach is the first communication-optimal parallel algorithm that asymptotically reduces the communication on massive graphs such as from real social networks and synthetic graphs from the Graph500 Benchmark. In our estimate from massive-scale Graph500 graphs, our new algorithms reduces the communication by 21.8x on a scale 36 and by 180x on a scale 42. Because communication is known to be the dominant cost of parallel triangle counting, our new parallel algorithm, to our knowledge, is now the fastest method for counting triangles in large graphs.
翻译:图形中的计数和查找三角形通常用于真实世界分析, 以描述凝固性和在图表中识别社区。 在本文中, 我们展示了基于在图宽度第一搜索( BFS) 中辨别水平边缘的新的相继和平行三角计算算算算法。 BFS 允许我们的算法大幅降低为设定交叉点所检查的边缘数。 我们的新方法是第一个通信- 最佳平行算法, 该算法会不时地减少大型图表上的通信, 例如从真实的社会网络和图500基准的合成图中。 在我们根据大规模图500图表的估算中, 我们的新算法将通信减少21.8x, 比例为36级, 比例为180x 比例为42。 由于通信已知是平行三角数的主要成本, 据我们所知, 我们的新平行算法现在是大图表中计算三角形的最快方法。