Skip to main content

A NUMA-Aware Parallel Truss Decomposition Algorithm for Large Scale Graphs

  • Conference paper
  • First Online:
  • 1771 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 13156))

Abstract

Truss decomposition algorithm is to decompose a graph into a hierarchical subgraph structure. A k-truss (\(k \ge 2\)) is a subgraph that each edge is in at least \(k-2\) triangles. The existing algorithm is to first compute the number of triangles for each edge, and then iteratively increase k to peel off the edges that are not in the (\(k+1\))-truss. Due to the scale of the data and the intensity of computations, truss decomposition algorithm on the billion-side graph may take more than hours on a commodity server. In addition, today, more servers adopt NUMA architecture, which also affects the scalability of the algorithm. Therefore, we propose a NUMA-aware shared-memory parallel algorithm to accelerate the truss decomposition for NUMA systems by (1) computing different levels of k-truss between each NUMA nodes (2) dividing the range of k heuristically to ensure load balance (3) optimizing data structure and triangle counting method to reduce remote memory access, data contention and data skew. Our experiments show that on real-world datasets our OpenMP implementation can accelerate truss decomposition effectively on NUMA systems.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   89.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   119.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Gcc atomic built-ins. https://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Atomic-Builtins.html. Accessed 2021

  2. Numactl documentation. https://github.com/numactl/numactl. Accessed 2021

  3. Openmp documentation. https://www.openmp.org/. Accessed 2021

  4. Akbas, E., Peixiang, Z.: Truss-based community search: a truss-equivalence based indexing approach. Proc. VLDB Endowment 10(11), 1298–1309 (2017)

    Article  Google Scholar 

  5. Almasri, M., Anjum, O., Pearson, C., Qureshi, Z., Hwu, W.M.: Update on k-truss decomposition on GPU. In: 2019 IEEE High Performance Extreme Computing Conference (HPEC) (2019)

    Google Scholar 

  6. Batagelj, V., Zaveršnik, M.: An o(m) algorithm for cores decomposition of networks. Comput. Sci. 1(6), 34–37 (2003)

    Google Scholar 

  7. Chiba, N., Nishizeki, T.: Arboricity and subgraph listing algorithms. SIAM J. Comput. 14(1), 210–223 (1985)

    Article  MathSciNet  Google Scholar 

  8. Cohen, J.: Trusses: Cohesive subgraphs for social network analysis. National security agency technical report 16(3.1) (2008)

    Google Scholar 

  9. Diab, S., Olabi, M.G., Hajj, I.E.: Ktrussexplorer: exploring the design space of k-truss decomposition optimizations on GPUs. In: 2020 IEEE High Performance Extreme Computing Conference, HPEC 2020, Waltham, MA, USA, 22–24 September, 2020, pp. 1–8. IEEE (2020)

    Google Scholar 

  10. Gui, C., Zheng, L., Yao, P., Liao, X., Jin, H.: Fast triangle counting on GPU. In: 2019 IEEE High Performance Extreme Computing Conference, HPEC 2019, Waltham, MA, USA, 24–26 September, 2019, pp. 1–7. IEEE (2019)

    Google Scholar 

  11. Huang, X., Cheng, H., Qin, L., Tian, W., Yu, J.X.: Querying k-truss community in large and dynamic graphs. In: Dyreson, C.E., Li, F., Özsu, M.T. (eds.) International Conference on Management of Data, SIGMOD 2014, Snowbird, UT, USA, 22–27 June, 2014, pp. 1311–1322. ACM (2014)

    Google Scholar 

  12. Kabir, H., Madduri, K.: Parallel k-truss decomposition on multicore systems. In: 2017 IEEE High Performance Extreme Computing Conference (HPEC) (2017)

    Google Scholar 

  13. Kabir, H., Madduri, K.: Shared-memory graph truss decomposition. In: 2017 IEEE 24th International Conference on High Performance Computing (HiPC), pp. 13–22 (2017)

    Google Scholar 

  14. Kaiyuan, Z., Haibo, C.: Numa-aware graph-structured analytics. Acm Sigplan Notices A Monthly Publication of the Special Interest Group on Programming Languages (2015)

    Google Scholar 

  15. Leskovec, J., Krevl, A.: Snap datasets: Stanford large network dataset collection, June 2014. http://snap.stanford.edu/data. Accessed 2021

  16. Luce, R.D.: Connectivity and generalized cliques in sociometric group structure. Psychometrika 15(2), 169 (1950)

    Article  MathSciNet  Google Scholar 

  17. Mailthody, V.S., Date, K., Qureshi, Z., Pearson, C., Hwu, W.M.: Collaborative (cpu + gpu) algorithms for triangle counting and truss decomposition. In: 2018 IEEE High Performance extreme Computing Conference (HPEC) (2018)

    Google Scholar 

  18. Matthieu, L.: Main-memory triangle computations for very large (sparse (power-law)) graphs. Theoret. Comput. Sci. 407(1), 458–473 (2008)

    MathSciNet  MATH  Google Scholar 

  19. Ouyang, Z., Wu, S., Zhao, T., Yue, D., Zhang, T.: Memory-efficient GPU-based exact and parallel triangle counting in large graphs, pp. 2195–2199, August 2019

    Google Scholar 

  20. Pearce, R.: Triangle counting for scale-free graphs at scale in distributed memory. In: 2017 IEEE High Performance Extreme Computing Conference (HPEC) (2017)

    Google Scholar 

  21. Pei, J., Jiang, D., Zhang, A.: On mining cross-graph quasi-cliques. In: Proceedings of the Eleventh ACM SIGKDD International Conference on Knowledge Discovery in Data Mining, pp. 228–238 (2005)

    Google Scholar 

  22. Rossi, R.A.: Fast triangle core decomposition for mining large graphs. In: Pacific-asia Conference on Knowledge Discovery & Data Mining (2014)

    Google Scholar 

  23. Samsi, S., et al.: Static graph challenge: subgraph isomorphism, pp. 1–6, September 2017

    Google Scholar 

  24. Sariyuce, A.E., Seshadhri, C., Pinar, A., Catalyurek, U.V.: Finding the hierarchy of dense subgraphs using nucleus decompositions. In: Proceedings of the 24th International Conference on World Wide Web, pp. 927–937 (2015)

    Google Scholar 

  25. Seidman, S., Foster, B.: A graph-theoretic generalization of the clique concept*. J. Math. Sociol. 6(1), 139–154 (1978)

    Article  MathSciNet  Google Scholar 

  26. Shang, H., Tao, Y., Gao, Y., Zhang, C., Wang, X.: An improved invariant for matching molecular graphs based on vf2 algorithm. IEEE Trans. Syst. Man Cybern. Syst. 45, 122–128 (2015)

    Google Scholar 

  27. Smith, S., Xing, L., Ahmed, N.K., Tom, A.S., Karypis, G.: Truss decomposition on shared-memory parallel systems. In: 2017 IEEE High Performance Extreme Computing Conference (HPEC) (2017)

    Google Scholar 

  28. Suri, S., Vassilvitskii, S.: Counting triangles and the curse of the last reducer. In: Proceedings of the 20th International Conference on World Wide Web, WWW 2011, Hyderabad, India, 28 March–1 April, 2011, pp. 607–614. ACM (2011)

    Google Scholar 

  29. Tom, A.S., Sundaram, N., Ahmed, N.K., Smith, S., Karypis, G.: Exploring optimizations on shared-memory platforms for parallel triangle counting algorithms. In: High Performance Extreme Computing Conference (2017)

    Google Scholar 

  30. Voegele, C., Lu, Y.S., Pai, S., Pingali, K.: Parallel triangle counting and k-truss identification using graph-centric methods. In: 2017 IEEE High Performance Extreme Computing Conference (HPEC) (2017)

    Google Scholar 

  31. Wang, J., Cheng, J.: Truss decomposition in massive networks. Proc. VLDB Endow. 5(9), 812–823 (2012)

    Article  Google Scholar 

  32. Wu, J., Goshulak, A., Srinivasan, V., Thomo, A.: K-truss decomposition of large networks on a single consumer-grade machine. In: IEEE/ACM 2018 International Conference on Advances in Social Networks Analysis and Mining, ASONAM 2018, Barcelona, Spain, 28–31 August, 2018 (2018)

    Google Scholar 

  33. Yang, L., Hao, F., Li, S., Min, G., Kim, H.C., Yau, S.: An efficient approach to generating location-sensitive recommendations in ad-hoc social network environments. IEEE Trans. Serv. Comput. 8, 1 (2015)

    Google Scholar 

  34. Yulin, C., Zhuohang, L., Shixuan, S., Qiong, L., Yue, W.: Accelerating all-edge common neighbor counting on three processors. In: Proceedings of the 48th International Conference on Parallel Processing, ICPP 2019, Kyoto, Japan, 05–08 August, 2019, pp. 42:1–42:10. ACM (2019)

    Google Scholar 

  35. Yulin, C., Zhuohang, L., Shixuan, S., Yue, W., Qiong, L.: Accelerating truss decomposition on heterogeneous processors. Proc. VLDB Endow. 13(10), 1751–1764 (2020)

    Article  Google Scholar 

  36. Zhang, J., Spampinato, D., McMillan, S., Franchetti, F.: Preliminary exploration of large-scale triangle counting on shared-memory multicore system. In: IEEE High Performance Extreme Computing Conference (2018)

    Google Scholar 

  37. Zhang, Y., Yu, J.X.: Unboundedness and efficiency of truss maintenance in evolving graphs. In: Proceedings of the 2019 International Conference on Management of Data, SIGMOD Conference 2019, Amsterdam, The Netherlands, 30 June–5 July, 2019, pp. 1024–1041. ACM (2019)

    Google Scholar 

Download references

Acknowledgments

We are grateful to our anonymous reviewers for their suggestions to improve this paper. This work was supported by National Natural Science Foundation of China (No. U1811461, 61872392), Guangdong Natural Science Foundation (2018B030312002), the Major Program of Guangdong Basic and Applied Research (2019B030302002), and the Program for Guangdong Introducing Innovative and Entrepreneurial Teams under Grant No. 2016ZT06D211.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhiguang Chen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Mou, Z., Xiao, N., Chen, Z. (2022). A NUMA-Aware Parallel Truss Decomposition Algorithm for Large Scale Graphs. In: Lai, Y., Wang, T., Jiang, M., Xu, G., Liang, W., Castiglione, A. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2021. Lecture Notes in Computer Science(), vol 13156. Springer, Cham. https://doi.org/10.1007/978-3-030-95388-1_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-95388-1_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-95387-4

  • Online ISBN: 978-3-030-95388-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics