Structural clustering is one of the most popular graph clustering methods, which has achieved great performance improvement by utilizing GPUs. Even though, the state-of-the-art GPU-based structural clustering algorithm, GPUSCAN, still suffers from efficiency issues since lots of extra costs are introduced for parallelization. Moreover, GPUSCAN assumes that the graph is resident in the GPU memory. However, the GPU memory capacity is limited currently while many real-world graphs are big and cannot fit in the GPU memory, which makes GPUSCAN unable to handle large graphs. Motivated by this, we present a new GPU-based structural clustering algorithm, GPUSCAN++, in this paper. To address the efficiency issue, we propose a new progressive clustering method tailored for GPUs that not only avoid high parallelization costs but also fully exploits the computing resources of GPUs. To address the GPU memory limitation issue, we propose a partition-based algorithm for structural clustering that can process large graphs with limited GPU memory. We conduct experiments on real graphs, and the experimental results demonstrate that our algorithm can achieve up to 168 times speedup compared with the state-of-the-art GPU-based algorithm when the graph can be resident in the GPU memory. Moreover, our algorithm is scalable to handle large graphs. As an example, our algorithm can finish the structural clustering on a graph with 1.8 billion edges using less than 2 GB GPU memory.
翻译:结构聚类是最流行的图聚类方法之一,通过利用GPU实现了显著的性能提升。然而,目前最先进的基于GPU的结构聚类算法GPUSCAN仍存在效率问题,因为并行化引入了大量额外开销。此外,GPUSCAN假设图数据常驻于GPU内存,但当前GPU内存容量有限,而许多真实世界图规模庞大且无法完全载入GPU内存,导致GPUSCAN无法处理大规模图。针对此问题,本文提出了一种新的基于GPU的结构聚类算法GPUSCAN$^{++}$。为解决效率问题,我们设计了一种专为GPU优化的渐进式聚类方法,不仅避免了高并行化开销,还充分利用了GPU的计算资源。针对GPU内存限制问题,我们提出了一种基于分区的结构聚类算法,能够在有限GPU内存下处理大规模图。在真实图数据集上的实验结果表明:当图数据可驻留于GPU内存时,本算法相比现有最先进的基于GPU的算法可实现高达168倍的加速比;同时,本算法具有良好的可扩展性,能够处理大规模图。例如,在内存占用小于2GB的条件下,本算法可完成对含有18亿条边的图的结构聚类。