Skip to main content
Log in

Unified-memory-based hybrid processing for partition-oriented subgraph matching on GPU

  • Published:
World Wide Web Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Notes

  1. the vertices that have edges connected with the joined vertex

  2. https://github.com/farkhor/PaRMAT

References

  1. 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)

  2. Conte, D., Foggia, P., Sansone, C., Vento, M.: Thirty years of graph matching in pattern recognition. IJPRAI 18(3), 265–298 (2004)

    Google Scholar 

  3. Chen, J., Gu, Y., Wang, Q., Li, C., Yu, G.: Partition-oriented subgraph matching on GPU. APWeb/WAIM 2020, LNCS 12317, 53–68 (2020)

    Google Scholar 

  4. Garey, MR, Johnson, DS: Computers and intractability: A guide to the theory of NP-completeness. W. H. Freeman (1979)

  5. 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)

    Article  Google Scholar 

  6. 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)

  7. 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)

  8. Han, W., Mawhirter, D., Wu, B., Buland, M.: Graphie: Large-scale asynchronous graph traversals on just a GPU. PACT 233–245 (2017)

  9. 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)

  10. 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)

  11. 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)

  12. https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html (2020)

  13. https://developer.nvidia.com/zh-cn/cuda-toolkit (2020)

  14. https://opencv.org/opencl (2020)

  15. 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)

  16. 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)

  17. konect network dataset – KONECT, April 2017. http://konect.uni-koblenz.de/

  18. Li, Z., Zou, L., Tamer Özsu, M., Lin, H., Zhang, F.: GSI: gpu-friendly subgraph isomorphism. arXiv:1906.03420 (2019)

  19. 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)

  20. Liu, H., Keselj, V., Blouin, C.: Biological event extraction using subgraph matching. In ISSMB (2010)

  21. 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)

    Article  Google Scholar 

  22. 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)

  23. Merrill, D., Garland, M., Grimshaw, A.S.: Scalable GPU graph traversal. In: PPOPP 2012, February 25–29, 2012, pp. 117–128 (2012)

  24. Ren, X., Wang, J.: Exploiting vertex relationships in speeding up subgraph isomorphism over large graphs. PVLDB 8(5), 617–628 (2015)

    Google Scholar 

  25. 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)

  26. 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)

  27. 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)

  28. 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)

    Google Scholar 

  29. 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)

  30. Ullmann, J.R.: An algorithm for subgraph isomorphism. J. ACM 23(1), 31–42 (1976)

    Article  MathSciNet  Google Scholar 

  31. 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)

  32. 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)

  33. Yan, X, Yu, PS, Jiawei Han.: Graph indexing: A frequent structure-based approach. In: SIGMOD June 13–18, 2004, pp. 335–346 (2004)

  34. 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)

    Article  Google Scholar 

  35. 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)

  36. Zou, L., Mo, J., Chen, L., Tamer Özsu, M., Zhao, D.: gstore: Answering SPARQL queries via subgraph matching. PVLDB 4(8), 482–493 (2011)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Yu Gu.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11280-021-00952-w

Keywords

Navigation