GPUSCAN$^{++}$:Efficient Structural Graph Clustering on GPUs

Long Yuan,Zeyu Zhou,Xuemin Lin,Zi Chen,Xiang Zhao,Fan Zhang
2023-11-30
Abstract: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.
Databases
What problem does this paper attempt to address?
### Problems Addressed by the Paper The paper primarily addresses two key issues: 1. **High Parallelization Overhead**: - Existing GPU-based structured graph clustering algorithms (such as GPUSCAN) introduce a significant amount of additional computational cost when utilizing the large-scale parallel hardware resources of GPUs. This results in high parallelization overhead, making GPUSCAN inefficient for structured graph clustering. 2. **GPU Memory Capacity Limitation**: - GPUSCAN assumes that the graph data resides entirely in GPU memory. However, many large-scale graph datasets in practice cannot fit entirely into GPU memory, limiting GPUSCAN's ability to handle large-scale graphs. ### Solutions To address the above issues, the authors propose a new GPU-based structured graph clustering algorithm—GPUSCAN++. Specifically, it includes the following two aspects: 1. **Reducing Parallelization Overhead**: - A new progressive clustering method is proposed, which optimizes the computational steps to avoid high parallelization overhead and fully utilizes the computational resources of the GPU. The new algorithm reduces the workload from the original O(Σ(u,v)∈E(G)(deg(u) +deg(v)) +c·m·logm) to O(Σ(u,v)∈E(G)deg(u)·logdeg(v)). 2. **Overcoming GPU Memory Limitation**: - By using graph partitioning techniques, the original graph is divided into multiple subgraphs, and only the specified subgraph is loaded into GPU memory for clustering at a time. This reduces the GPU memory requirement and avoids the data movement overhead associated with using Unified Virtual Memory (UVM). ### Experimental Results - Experiments show that the GPUSCAN++ algorithm can achieve up to 168 times speedup compared to the existing GPUSCAN algorithm when the graph data can fit entirely into GPU memory, with an average speedup of 85 times. - For large-scale graphs (e.g., graphs with 1.8 billion edges), GPUSCAN++ requires less than 2GB of GPU memory to complete structured clustering.