Skip to main content
Log in

Accelerating Louvain community detection algorithm on graphic processing unit

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

The Louvain community detection algorithm is a hierarchal clustering method categorized in the NP-hard problem. Its execution time to find communities in large graphs is, therefore, a challenge. Parallelization is an effective solution for amortizing Louvain's execution time. In this paper, we propose an adaptive CUDA Louvain method (ACLM) algorithm that benefits from the graphic processing unit (GPU). ACLM uses the shared memory in GPU, as well as the optimal number of threads in the GPU blocks. These features minimize parallelization overhead and accelerate the calculation of modularity parameters. The proposed algorithm allocates threads to each block based on the number of required streaming multiprocessors (SMs) and warps on GPU. The implementation results show that ACLM can effectively accelerate the execution time by 77% compared to the competitive method in the large graph benchmarks.

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

Similar content being viewed by others

References

  1. Guendouz M, Amine A, Hamou RM (2017) discrete modified fireworks algorithm for community detection in complex networks. Appl Intell 46:373–385. https://doi.org/10.1007/s10489-016-0840-9

    Article  Google Scholar 

  2. Fortunato S (2010) Community detection in graphs. Phys Rep 486:75–174. https://doi.org/10.1016/j.physrep.2009.11.002

    Article  MathSciNet  Google Scholar 

  3. Newman MEJ, Girvan M (2004) Finding and evaluating community structure in networks. Phys Rev E 69:026113. https://doi.org/10.1103/PhysRevE.69.026113

    Article  Google Scholar 

  4. Clauset A, Newman MEJ, Moore C (2004) Finding community structure in very large networks. Phys Rev E 70:066111. https://doi.org/10.1103/PhysRevE.70.066111

    Article  Google Scholar 

  5. Brandes U, Delling D, Gaertler M, Gorke R, Hoefer M, Nikoloski Z, Wagner D (2008) On modularity clustering. IEEE Trans Knowl Data Eng 20:172–188. https://doi.org/10.1109/TKDE.2007.190689

    Article  MATH  Google Scholar 

  6. Blondel VD, Guillaume JL, Lambiotte R, Lefebvre E (2008) Fast unfolding of communities in large networks. J Stat Mech 10:P10008. https://doi.org/10.1088/1742-5468/2008/10/P10008

    Article  MATH  Google Scholar 

  7. Moradi E, Fazlali M, Tabatabaee Malazi H (2015) Fast parallel community detection algorithm based on modularity. In: 2015 18th CSI international symposium on computer architecture and digital systems (CADS). IEEE. https://doi.org/10.1109/CADS.2015.7377794

  8. Staudt CL, Meyerhenke H (2013) Engineering parallel algorithms for community detection in massive networks. In: Proceedings of the 42nd International Conference on Parallel Processing. https://doi.org/10.1109/ICPP.2013.27

  9. Cheong CY, Huynh HP, Lo D, Goh RSM (2013) Hierarchical parallel algorithm for modularity-based community detection using GPUs. In: Proceedings of the 19th International Conference on Parallel Processing, Euro-Par'13. Springer, Berlin, pp 775–787. https://doi.org/10.1007/978-3-642-40047-6_77

  10. Lu H, Halappanavar M, Kalyanaraman A (2015) Parallel heuristics for scalable community detection. Parallel Comput 47:19–37. https://doi.org/10.1016/j.parco.2015.03.003

    Article  MathSciNet  Google Scholar 

  11. Fazlali M, Moradi E, Tabatabaee Malazi H (2017) Adaptive parallel Louvain community detection on a multicore platform. Microprocess Microsyst 54:26–34. https://doi.org/10.1016/j.micpro.2017.08.002

    Article  Google Scholar 

  12. Zeng J, Yu H (2018) A scalable distributed Louvain algorithm for large-scale graph community detection. In: 2018 IEEE International Conference on Cluster Computing (CLUSTER). https://doi.org/10.1109/CLUSTER.2018.00044

  13. Forster R (2016) Louvain community detection with parallel heuristics on GPUs. In: IEEE 20th Jubilee International Conference on Intelligent Engineering Systems (INES), Budapest, Hungary, 30 June–2 July. https://doi.org/10.1109/INES.2016.7555126

  14. Erdos P, Renyi A (1960) On the evolution of random graphs. Publ Math Inst Hung Acad Sci 5:17–61

    MathSciNet  MATH  Google Scholar 

  15. Rezapoor Mirsaleh M, Meybodi MR (2016) A Michigan memetic algorithm for solving the community detection problem in complex network. Neurocomputing 214:535–545. https://doi.org/10.1016/j.neucom.2016.06.030

    Article  Google Scholar 

  16. Newman MEJ (2006) Modularity and community structure in networks. Proc Natl Acad Sci 103:8577–8582. https://doi.org/10.1073/pnas.0601602103

    Article  Google Scholar 

  17. Holmström E, Bock N, Brännlund J (2009) Modularity density of network community divisions. Physica D 238:1161–1167. https://doi.org/10.1016/j.physd.2009.03.015

    Article  MathSciNet  MATH  Google Scholar 

  18. Zhao Y (2017) A survey on theoretical advances of community detection in networks. WIREs Comput Stat e1403:1–13. https://doi.org/10.1002/wics.1403

    Article  Google Scholar 

  19. Khan BS, Niazi MA (2017) Network community detection: a review and visual survey. arXiv preprint: arXiv:1708.00977

  20. Chakraborty T, Dalmia A, Mukherjee A, Ganguly N (2017) Metrics for community analysis: a survey. ACM Comput Surv 50:1–37. https://doi.org/10.1145/3091106

    Article  Google Scholar 

  21. Ghosh S, Halappanavar M, Tumeo A, Kalyanaraman A, Lu H, Chavarria-Miranda D, Khan A, Gebremedhin A (2018) Distributed louvain algorithm for graph community detection. In: 2018 IEEE international parallel and distributed processing symposium (IPDPS), pp 885–895. https://doi.org/10.1109/IPDPS.2018.00098

  22. Ozaki N, Tezuka H, Inaba M (2016) A simple acceleration method for the Louvain algorithm. Int J Comput Electr Eng 8:207–218. https://doi.org/10.17706/ijcee.2016.8.3.207-218

    Article  Google Scholar 

  23. Lancichinetti A, Fortunato S, Radicchi F (2008) Benchmark graphs for testing community detection algorithms. Phys Rev E 78:046110. https://doi.org/10.1103/PhysRevE.78.046110

    Article  Google Scholar 

  24. Gutiérrez I, Gómez D, Castro J, Espínola R (2019) A new community detection algorithm based on fuzzy measures. In: International Conference on Intelligent and Fuzzy Systems, pp 133–140. https://doi.org/10.1007/978-3-030-23756-1_18

  25. Traag VA (2015) Faster unfolding of communities: speeding up the Louvain algorithm. Phys Rev E 92:032801. https://doi.org/10.1103/PhysRevE.92.032801

    Article  Google Scholar 

  26. Carnivali GS, Vieira AB, Ziviani A, Esquef PAA (2020) CoVeC: coarse-grained vertex clustering for efficient community detection in sparse complex networks. Inf Sci. https://doi.org/10.1016/j.ins.2020.03.004

    Article  MathSciNet  Google Scholar 

  27. Bhowmick S, Srinivasan S (2013) A template for parallelizing the louvain method for modularity maximization. Dyn Complex Netw 2:111–124. https://doi.org/10.1007/978-1-4614-6729-8_6

    Article  Google Scholar 

  28. Staudt CL, Meyerhenke H (2016) Engineering parallel algorithms for community detection in massive networks. Parallel Distrib Syst IEEE Trans 27:171–184. https://doi.org/10.1109/TPDS.2015.2390633

    Article  Google Scholar 

  29. Raghavan UN, Albert R, Kumara S (2007) Near linear time algorithm to detect community structures in large-scale networks. Phys Rev E 76:036106. https://doi.org/10.1103/PhysRevE.76.036106

    Article  Google Scholar 

  30. Shao J, Han Z, Yang Q, Zhou T (2015) Community detection based on distance dynamics. In: Proceedings of the 21st ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, New York, pp 1075–1084. http://dx.doi.org/https://doi.org/10.1145/2783258.2783301

  31. Naim Md, Manne F, Halappanavar M, Tumeo A (2017) Community detection on the GPU. In: 2017 IEEE international parallel and distributed processing symposium. https://doi.org/10.1109/IPDPS.2017.16

  32. Newman MEJ (2004) Fast algorithm for detecting community structure in networks. Phys Rev E 69:066133. https://doi.org/10.1103/PhysRevE.69.066133

    Article  Google Scholar 

  33. Zhang L, Wahib M, Zhang H, Matsuoka S (2020) A study of single and multi-device synchronization methods in Nvidia GPUs. In: IEEE international parallel & distributed processing symposium 2020.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mahmood Fazlali.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Mohammadi, M., Fazlali, M. & Hosseinzadeh, M. Accelerating Louvain community detection algorithm on graphic processing unit. J Supercomput 77, 6056–6077 (2021). https://doi.org/10.1007/s11227-020-03510-9

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-020-03510-9

Keywords

Navigation