Community detection is the problem of identifying natural divisions in networks. Efficient parallel algorithms for identifying such divisions is critical in a number of applications, where the size of datasets have reached significant scales. This technical report presents one of the most efficient multicore implementations of the Louvain algorithm, a high quality community detection method. On a server equipped with dual 16-core Intel Xeon Gold 6226R processors, our Louvain, which we term as GVE-Louvain, outperforms Vite, Grappolo, NetworKit Louvain, and cuGraph Louvain (running on NVIDIA A100 GPU) by 50x, 22x, 20x, and 5.8x faster respectively - achieving a processing rate of 560M edges/s on a 3.8B edge graph. In addition, GVE-Louvain improves performance at an average rate of 1.6x for every doubling of threads.
翻译:社区发现是识别网络中自然划分的问题。在许多数据集规模已达显著量级的应用中,用于识别此类划分的高效并行算法至关重要。本技术报告提出了Louvain算法(一种高质量的社区发现方法)最高效的多核实现之一。在配备双路16核Intel Xeon Gold 6226R处理器的服务器上,我们称为GVE-Louvain的实现分别以50倍、22倍、20倍和5.8倍的速度优于Vite、Grappolo、NetworKit Louvain及cuGraph Louvain(运行于NVIDIA A100 GPU),在包含38亿条边的图上实现了5.6亿边/秒的处理速率。此外,GVE-Louvain在线程数每翻一倍时,性能平均提升1.6倍。