Community detection is the problem of recognizing natural divisions in networks. A relevant challenge in this problem is to find communities on rapidly evolving graphs. In this report we present our Parallel Dynamic Frontier (DF) Louvain algorithm, which given a batch update of edge deletions and insertions, incrementally identifies and processes an approximate set of affected vertices in the graph with minimal overhead, while using a novel approach of incrementally updating weighted-degrees of vertices and total edge weights of communities. We also present our parallel implementations of Naive-dynamic (ND) and Delta-screening (DS) Louvain. On a server with a 64-core AMD EPYC-7742 processor, our experiments show that DF Louvain obtains speedups of 179x, 7.2x, and 5.3x on real-world dynamic graphs, compared to Static, ND, and DS Louvain, respectively, and is 183x, 13.8x, and 8.7x faster, respectively, on large graphs with random batch updates. Moreover, DF Louvain improves its performance by 1.6x for every doubling of threads.
翻译:社区发现是识别网络中自然划分的问题。该问题的一个相关挑战是在快速演化的图中寻找社区。本报告中,我们提出了并行动态前沿(DF)Louvain算法,该算法在给定边删除和插入的批量更新时,能以最小开销增量式识别并处理图中近似的受影响顶点集,同时采用增量更新顶点加权度及社区总边权重的新方法。我们还提出了朴素动态(ND)和Delta筛选(DS)Louvain的并行实现。在配备64核AMD EPYC-7742处理器的服务器上,实验表明,相比静态、ND和DS Louvain,DF Louvain在真实世界动态图上分别获得179倍、7.2倍和5.3倍的加速;在随机批量更新的大规模图上,分别快183倍、13.8倍和8.7倍。此外,线程数每翻倍,DF Louvain性能提升1.6倍。