arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1706.05151cs.DC
收藏

大图中三角形计数与列表的分布式内存并行算法

Distributed-Memory Parallel Algorithms for Counting and Listing Triangles in Big Graphs

Shaikh Arifuzzaman, Maleq Khan, Madhav Marathe

摘要:

在许多应用领域中出现的大图(网络)对图分析师提出了重大挑战,因为这些图增长到数十亿个节点和边,并且大到无法容纳在主内存中。求图中三角形个数是图挖掘和分析中的一个重要问题。在本文中,我们提出了两个有效的基于MPI的分布式内存并行算法计数三角形的大图。第一个算法采用重叠分区和有效的负载均衡计划,以提供一个非常快的并行算法。该算法可以很好地扩展到具有数十亿个节点的网络,并且可以在16分钟内计算出具有100亿条边的网络中三角形的确切数量。第二种算法将网络划分为不重叠的分区,从而产生空间有效的算法。我们在人工和真实世界的网络上的结果表明,该算法显着节省空间。我们还提出了一种新的方法,大大降低了通信成本,导致算法的空间和运行时高效的算法。此外,我们演示了我们的算法可以用来列出所有的三角形在一个图形和计算聚类系数的节点。我们的算法也可以适用于并行近似算法使用边缘稀疏化方法。

英文摘要:

Big graphs (networks) arising in numerous application areas pose significant challenges for graph analysts as these graphs grow to billions of nodes and edges and are prohibitively large to fit in the main memory. Finding the number of triangles in a graph is an important problem in the mining and analysis of graphs. In this paper, we present two efficient MPI-based distributed memory parallel algorithms for counting triangles in big graphs. The first algorithm employs overlapping partitioning and efficient load balancing schemes to provide a very fast parallel algorithm. The algorithm scales well to networks with billions of nodes and can compute the exact number of triangles in a network with 10 billion edges in 16 minutes. The second algorithm divides the network into non-overlapping partitions leading to a space-efficient algorithm. Our results on both artificial and real-world networks demonstrate a significant space saving with this algorithm. We also present a novel approach that reduces communication cost drastically leading the algorithm to both a space- and runtime-efficient algorithm. Further, we demonstrate how our algorithms can be used to list all triangles in a graph and compute clustering coefficients of nodes. Our algorithm can also be adapted to a parallel approximation algorithm using an edge sparsification method.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑