Efficient Subgraph Matching Using GPUs

  • Xiaojie Lin
  • Rui Zhang
  • Zeyi Wen
  • Hongzhi Wang
  • Jianzhong Qi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8506)


The explosive growth of various social networks such as Facebook, Twitter, and Instagram has brought in new needs for efficient graph algorithms. As a basic graph operation, subgraph matching is the foundation of many of these algorithms. Consequently, the efficiency of subgraph matching is very important and determines the speed of the whole data mining process. The development of multi-core CPUs allows subgraph matching algorithms to process multiple data at a time. However, the number of threads is still limited, which has become a bottleneck of these CPU-based algorithms. A workaround is using clusters of powerful servers, which normally incurs very expensive network transfer overhead. Therefore, improving the efficiency and parallel abilities of a single computer is a better idea. One of the most effective way to achieve this is making use of GPUs. With the ability of executing thousands of threads simultaneously, GPUs have a great potential to accelerate the subgraph matching. In this paper, we leverage the power of GPUs and propose an efficient subgraph matching algorithm. The experimental results show that our algorithm outperforms the state-of-the-art algorithm by an order of magnitude.


Subgraph matching GPU relation join 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Atre, M., Chaoji, V., Zaki, M.J., Hendler, J.A.: Matrix bit loaded: A scalable light weight join query processor for rdf data. In: Proceedings of the 19th International Conference on World Wide Web, pp. 41–50. ACM (2010)Google Scholar
  2. 2.
    Branden, C., Tooze, J., et al.: Introduction to protein structure, vol. 2. Garland, New York (1991)Google Scholar
  3. 3.
    Chakrabarti, D., Zhan, Y., Faloutsos, C.: R-mat: A recursive model for graph mining. Computer Science Department, 541 (2004)Google Scholar
  4. 4.
    Cheng, J., Yu, J.X., Ding, B., Yu, P.S., Wang, H.: Fast graph pattern matching. In: IEEE 24th International Conference on Data Engineering, ICDE 2008, pp. 913–922. IEEE (2008)Google Scholar
  5. 5.
    Cohen, E., Halperin, E., Kaplan, H., Zwick, U.: Reachability and distance queries via 2-hop labels. SIAM Journal on Computing 32(5), 1338–1355 (2003)CrossRefMathSciNetzbMATHGoogle Scholar
  6. 6.
    Cordella, L.P., Foggia, P., Sansone, C., Vento, M.: A (sub) graph isomorphism algorithm for matching large graphs. IEEE Transactions on Pattern Analysis and Machine Intelligence 26(10), 1367–1372 (2004)CrossRefGoogle Scholar
  7. 7.
    Eichinger, F., Böhm, K., Huber, M.: Mining edge-weighted call graphs to localise software bugs. In: Daelemans, W., Goethals, B., Morik, K. (eds.) ECML PKDD 2008, Part I. LNCS (LNAI), vol. 5211, pp. 333–348. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    Garcia-Molina, H., Ullman, J.D., Widom, J.: Database system implementation, vol. 654. Prentice Hall Upper Saddle River, NJ (2000)Google Scholar
  9. 9.
    He, B., Yang, K., Fang, R., Lu, M., Govindaraju, N., Luo, Q., Sander, P.: Relational joins on graphics processors. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, pp. 511–524. ACM (2008)Google Scholar
  10. 10.
    He, H., Singh, A.K.: Graphs-at-a-time: Query language and access methods for graph databases. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, pp. 405–418. ACM (2008)Google Scholar
  11. 11.
    Kaldewey, T., Lohman, G., Mueller, R., Volk, P.: Gpu join processing revisited. In: Proceedings of the Eighth International Workshop on Data Management on New Hardware, pp. 55–62. ACM (2012)Google Scholar
  12. 12.
    Neumann, T., Weikum, G.: The rdf-3x engine for scalable management of rdf data. The VLDB Journal 19(1), 91–113 (2010)CrossRefGoogle Scholar
  13. 13.
    NVIDIA: CUDA C best practices guide (2013)Google Scholar
  14. 14.
    Sun, Z., Wang, H., Shao, B., Li, J.: Efficient subgraph matching on billion node graphs. Proceedings of the VLDB …, 788–799 (2012)Google Scholar
  15. 15.
    Ullmann, J.R.: An algorithm for subgraph isomorphism. Journal of the ACM (JACM) 23(1), 31–42 (1976)CrossRefMathSciNetGoogle Scholar
  16. 16.
    Yan, X., Yu, P.S., Han, J.: Substructure similarity search in graph databases. In: Proceedings of the 2005 ACM SIGMOD International Conference on Management of Data, pp. 766–777. ACM (2005)Google Scholar
  17. 17.
    Zhu, F., Qu, Q., Lo, D., Yan, X., Han, J., Yu, P.: Mining top-k large structural patterns in a massive network. Proceedings of the VLDB Endowment 4(11) (2011)Google Scholar
  18. 18.
    Zou, L., Chen, L., Özsu, M.T.: Distance-join: Pattern match query in a large graph database. Proceedings of the VLDB Endowment 2(1), 886–897 (2009)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Xiaojie Lin
    • 1
  • Rui Zhang
    • 1
  • Zeyi Wen
    • 1
  • Hongzhi Wang
    • 2
  • Jianzhong Qi
    • 1
  1. 1.University of MelbourneVictoriaAustralia
  2. 2.Harbin Institute of TechnologyHarbinChina

Personalised recommendations