Abstract
Subgraph isomorphism is a well known NP-hard problem that is to find all the matched subgraphs of a query graph in a large target graph. The state-of-the-art GPU-based solution is the vertex-oriented joining strategy, which is proposed by GSI. It effectively solves the problem of parallel write conflicts by taking vertices as processing units. However, this strategy may result in load-imbalance and redundant memory transactions. Moreover, due to the limitation of GPU memory, extending the existing frameworks to large-scale graph is difficult. To solve the first problem, we design a new storage structure Level-CSR and a new partition-oriented joining strategy. To avoid the influence of vertices with large degrees, we divide the dense vertices in traditional CSR into several GPU-friendly tasks and store them in Level-CSR. Then, an efficient execution strategy is designed based on the partitioned tasks. The partition strategy can reduce the load imbalance caused by the irregularity of real-world graphs, and further reduce the redundant global memory access caused by the redundant neighbor set accessing. To solve the second problem, we design a unified-memory-based hybrid processing strategy to support out-of-GPU subgraph matching. By leveraging unified-memory-based data movement and active vertex-based access mode switching strategy, our hybrid strategy can leverage the large storage of host memory and achieve efficient data movement between GPU and CPU. Besides, to further improve the performance, we propose a well-directed filtering strategy by exploiting a property of real-world graphs. The experiments show that compared with the state-of-the-art GPU based solutions, our approach can effectively reduce the number of unrelated candidates, minimize memory transactions, and achieve load balance between processors. And our unified-memory-based hybrid processing strategy can outperform the single access mode-based strategy under different parameter settings.
Similar content being viewed by others
Notes
the vertices that have edges connected with the joined vertex
References
Bi, F., Chang, L., Lin, X., Qin, L., Zhang, W.: Efficient subgraph matching by postponing cartesian products. In: SIGMOD Conference 2016, June 26 - July 01, 2016, pp. 1199–1214 (2016)
Conte, D., Foggia, P., Sansone, C., Vento, M.: Thirty years of graph matching in pattern recognition. IJPRAI 18(3), 265–298 (2004)
Chen, J., Gu, Y., Wang, Q., Li, C., Yu, G.: Partition-oriented subgraph matching on GPU. APWeb/WAIM 2020, LNCS 12317, 53–68 (2020)
Garey, MR, Johnson, DS: Computers and intractability: A guide to the theory of NP-completeness. W. H. Freeman (1979)
Gera, P., Kim, H., Sao, P., Kim, H., Bader, DA: Traversing large graphs on GPUs with unified memory. Proc. VLDB Endow. 13(7), 1119–1133 (2020)
Gonzalez, JE, Low, Y., Haijie, G., Bickson, D., Guestrin, C.: Powergraph: Distributed graph-parallel computation on natural graphs. In: OSDI 2012, October 8–10, 2012, pp. 17–30 (2012)
Ha, N.T., Kim, J.-J., He, B.: Fast subgraph matching on large graphs using graphics processors. In: DASFAA 2015, April 20–23, 2015 Proceedings, Part I, pp. 299–315 (2015)
Han, W., Mawhirter, D., Wu, B., Buland, M.: Graphie: Large-scale asynchronous graph traversals on just a GPU. PACT 233–245 (2017)
Han, W.-S., Lee, J., Lee, J.-H.: Turboiso: towards ultrafast and robust subgraph isomorphism search in large graph databases. In: SIGMOD 2013, June 22–27, 2013, pp. 337–348 (2013)
He, B., Fang, W., Luo, Q., Govindaraju, N.K., Wang, T.: Mars: a mapreduce framework on graphics processors. In: PACT 2008, October 25–29, 2008, pp. 260–269 (2008)
Hong, S., Kim, S.K., Oguntebi, T., Olukotun, K.: Accelerating CUDA graph algorithms at maximum warp. In: PPOPP 2011, February 12–16, 2011, pp. 267–276 (2011)
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html (2020)
https://opencv.org/opencl (2020)
Kim, M.-S., An, K., Park, H., Seo, H., Kim, J.: GTS: A fast and scalable graph processing method based on streaming topology to GPUs. SIGMOD June 26-July 01, 2016, 447–461 (2020)
Kim, S., Song, I., Lee, Y.-J.: An edge-based framework for fast subgraph matching in a large graph. In: DASFAA 2011, April 22–25, 2011, Proceedings, Part I, pp. 404–417 (2011)
konect network dataset – KONECT, April 2017. http://konect.uni-koblenz.de/
Li, Z., Zou, L., Tamer Özsu, M., Lin, H., Zhang, F.: GSI: gpu-friendly subgraph isomorphism. arXiv:1906.03420 (2019)
Liu, G., Zheng, K., Wang, Y., Orgun, MA, An, L., Zhao, L., Zhou, X.: Multi-constrained graph pattern matching in large-scale contextual social graphs. In: ICDE 2015, April 13–17, 2015, pp. 351–362 (2015)
Liu, H., Keselj, V., Blouin, C.: Biological event extraction using subgraph matching. In ISSMB (2010)
Ma, T., Siyang, Y u, Cao, J., Tian, Y., Al-Dhelaan, A., Al-Rodhaan, M.: A comparative study of subgraph matching isomorphic methods in social networks. IEEE Access 6, 66621–66631 (2018)
Ma, L., Yang, Z., Chen, H., Xue, J., Garaph, Y.D.: Efficient GPU-accelerated graph processing on a single machine with balanced replication. In: USENIX Annual Technical Conference, pp. 195–207 (2017)
Merrill, D., Garland, M., Grimshaw, A.S.: Scalable GPU graph traversal. In: PPOPP 2012, February 25–29, 2012, pp. 117–128 (2012)
Ren, X., Wang, J.: Exploiting vertex relationships in speeding up subgraph isomorphism over large graphs. PVLDB 8(5), 617–628 (2015)
Sabet, A.H.N., Zhao, Z., Gupta, R.: Subway: minimizing data transfer during out-of-GPU-memory graph processing. EuroSys April 27–30, 2020, 12:1–12:16 (2020)
Sengupta, D., Song, S.L., Agarwal, K., Schwan, K.: GraphReduce: processing large-scale graphs on accelerator-based systems. SC November 15–20, 2015, 28:1–28:12 (2020)
Seungwon, M., Vikram, S.M., Zaid, Q., Jinjun, X., Eiman, E., Hwu, W.-M.W. : EMOGI: Efficient memory-access for out-of-memory graph-traversal. In GPUs. arXiv:2006.06890 (2020)
Shang, H., Zhang, Y., Lin, X., Yu, J.X.: Taming verification hardness: an efficient algorithm for testing subgraph isomorphism. PVLDB 1(1), 364–375 (2008)
Son, M.-Y., Kim, Y.-H., Oh, B.-W.: An efficient parallel algorithm for graph isomorphism on GPU using CUDA. In: IJET, 7(5) Oct-Nov, pp. 1840–1848 (2015)
Ullmann, J.R.: An algorithm for subgraph isomorphism. J. ACM 23(1), 31–42 (1976)
Wang, H., Geng, L., Lee, R., Hou, K., Zhang, Y., Zhang, X.: SEP-graph: finding shortest execution paths for graph processing under a hybrid framework on GPU. PPoPP February 16–20, 2019, 38–52 (2019)
Wang, Y., Davidson, A.A., Pan, Y., Yuduo, W., Riffel, A., Owens, J.D.: Gunrock: a high-performance graph processing library on the GPU. In: PPoPP 2016, March 12–16, 2016, pp. 11:1–11:12 (2016)
Yan, X, Yu, PS, Jiawei Han.: Graph indexing: A frequent structure-based approach. In: SIGMOD June 13–18, 2004, pp. 335–346 (2004)
Yanping, W., Zhao, J., Sun, R., Chen, C., Wang, X.: Efficient personalized influential community search in large networks. Data Sci. Eng. 6(3), 310–322 (2021)
Zheng, L., Li, X., Zheng, Y., Huang, Y., Liao, X., Jin, H., Xue, J., Shao, Z., Hua, Q.-S.: Scaph: Scalable GPU-accelerated graph processing with value-driven differential scheduling. In: USENIX Annual Technical Conference, pp. 573–588 (2020)
Zou, L., Mo, J., Chen, L., Tamer Özsu, M., Zhao, D.: gstore: Answering SPARQL queries via subgraph matching. PVLDB 4(8), 482–493 (2011)
Acknowledgements
This work is supported by the National Natural Science Foundation of China (62072083, 61872071), the CCF-Huawei Database Innovation Research Funding, the Fundamental Research Funds for the Central Universities (N180716010, N2116008), and Liao Ning Revitalization Talents Program (XLYC1807158).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This article belongs to the Topical Collection: Special Issue on Graph Data Management, Mining, and Applications Guest Editors: Xin Wang, Rui Zhang, and Young-Koo Lee
Rights and permissions
About this article
Cite this article
Chen, J., Wang, Q., Gu, Y. et al. Unified-memory-based hybrid processing for partition-oriented subgraph matching on GPU. World Wide Web 25, 1377–1402 (2022). https://doi.org/10.1007/s11280-021-00952-w
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11280-021-00952-w