PH-CF: A Phased Hybrid Algorithm for Accelerating Subgraph Matching Based on CPU-FPGA Heterogeneous Platform

Xian Zhang,Guoqing Xiao,Mingxing Duan,Yuedan Chen,Kenli Li
DOI: https://doi.org/10.1109/tii.2022.3217825
IF: 12.3
2023-01-01
IEEE Transactions on Industrial Informatics
Abstract:Nowadays, more data are represented and stored by a graph structure, and subgraph matching is a fundamental problem in a variety of scientific machine learning and industrial applications, such as remote sensing image registration, industrial inspection, etc. Due to the nondeterministic polynominal hard (NP-hard) problem of subgraph matching, the explosive growth of graph data, the disadvantages of high energy consumption, and the high overhead of CPU and graphics processing unit (GPU) platforms, computing subgraph matching is becoming more and more challenging. To alleviate this problem, we propose a phased hybrid algorithm to accelerate the enumeration task of subgraph matching, called PH-CF , based on the CPU-field programmable gate arrays (FPGA) heterogeneous platform. This approach can make full use of the pipeline and data flow mechanism, low power consumption, and configurable characteristics of FPGA. First, the matching order of query vertices automatically selects GraphQL (GQL) or RI methods according to the sparsity of the data (query) graph. Second, a candidate vertex auxiliary data structure set partitioning method is designed to effectively realize the load balance of multiple computing units at the FPGA and CPU host sides. Third, FPGA's pipeline and data flow mechanism is used to accelerate the enumeration phase of subgraph matching. Experimental results on real-world and synthetic datasets show that the performance of the PH-CF outperforms the state-of-the-arts. PH-CF can obtain the average performance improvement of up to $16.07\times$ , $38.61\times$ , and $11.46\times$ over CFL, CECI, and DP-iso, respectively. Moreover, our approach has good stability and robustness on various datasets.
What problem does this paper attempt to address?