DF Louvain: Fast Incrementally Expanding Approach for Community Detection on Dynamic Graphs
Subhajit Sahu
TL;DR
DF Louvain introduces a parallel, incremental framework for dynamic community detection that aggressively marks a small frontier of affected vertices and expands it as needed during the first Louvain pass. By incrementally updating vertex degrees and community edge weights as auxiliary information, it dramatically reduces work compared to reprocessing the full graph. Empirical results show substantial speedups over Static, Naive-dynamic, and Delta-screening approaches on real-world and large-scale graphs, with modularity comparable to baselines in most cases. The approach yields strong scalability with cores and provides practical guidance: use DF Louvain for speed, and DS Louvain if higher modularity is required in some graphs.
Abstract
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.
