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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Gcc atomic built-ins. https://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Atomic-Builtins.html. Accessed 2021
Numactl documentation. https://github.com/numactl/numactl. Accessed 2021
Openmp documentation. https://www.openmp.org/. Accessed 2021
Akbas, E., Peixiang, Z.: Truss-based community search: a truss-equivalence based indexing approach. Proc. VLDB Endowment 10(11), 1298–1309 (2017)
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)
Batagelj, V., Zaveršnik, M.: An o(m) algorithm for cores decomposition of networks. Comput. Sci. 1(6), 34–37 (2003)
Chiba, N., Nishizeki, T.: Arboricity and subgraph listing algorithms. SIAM J. Comput. 14(1), 210–223 (1985)
Cohen, J.: Trusses: Cohesive subgraphs for social network analysis. National security agency technical report 16(3.1) (2008)
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)
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)
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)
Kabir, H., Madduri, K.: Parallel k-truss decomposition on multicore systems. In: 2017 IEEE High Performance Extreme Computing Conference (HPEC) (2017)
Kabir, H., Madduri, K.: Shared-memory graph truss decomposition. In: 2017 IEEE 24th International Conference on High Performance Computing (HiPC), pp. 13–22 (2017)
Kaiyuan, Z., Haibo, C.: Numa-aware graph-structured analytics. Acm Sigplan Notices A Monthly Publication of the Special Interest Group on Programming Languages (2015)
Leskovec, J., Krevl, A.: Snap datasets: Stanford large network dataset collection, June 2014. http://snap.stanford.edu/data. Accessed 2021
Luce, R.D.: Connectivity and generalized cliques in sociometric group structure. Psychometrika 15(2), 169 (1950)
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)
Matthieu, L.: Main-memory triangle computations for very large (sparse (power-law)) graphs. Theoret. Comput. Sci. 407(1), 458–473 (2008)
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
Pearce, R.: Triangle counting for scale-free graphs at scale in distributed memory. In: 2017 IEEE High Performance Extreme Computing Conference (HPEC) (2017)
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)
Rossi, R.A.: Fast triangle core decomposition for mining large graphs. In: Pacific-asia Conference on Knowledge Discovery & Data Mining (2014)
Samsi, S., et al.: Static graph challenge: subgraph isomorphism, pp. 1–6, September 2017
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)
Seidman, S., Foster, B.: A graph-theoretic generalization of the clique concept*. J. Math. Sociol. 6(1), 139–154 (1978)
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)
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)
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)
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)
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)
Wang, J., Cheng, J.: Truss decomposition in massive networks. Proc. VLDB Endow. 5(9), 812–823 (2012)
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)
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)
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)
Yulin, C., Zhuohang, L., Shixuan, S., Yue, W., Qiong, L.: Accelerating truss decomposition on heterogeneous processors. Proc. VLDB Endow. 13(10), 1751–1764 (2020)
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)
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
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)