Overcoming MPI Communication Overhead for Distributed Community Detection

  • Naw Safrin SattarEmail author
  • Shaikh ArifuzzamanEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 964)


Community detection is an important graph (network) analysis kernel used for discovering functional units and organization of a graph. Louvain method is an efficient algorithm for discovering communities. However, sequential Louvain method does not scale to the emerging large-scale network data. Parallel algorithms designed for modern high performance computing platforms are necessary to process such network big data. Although there are several shared memory based parallel algorithms for Louvain method, those do not scale to a large number of cores and to large networks. One existing Message Passing Interface (MPI) based distributed memory parallel implementation of Louvain algorithm has shown scalability to only 16 processors. In this work, first, we design a shared memory based algorithm using Open MultiProcessing (OpenMP), which shows a 4-fold speedup but is only limited to the physical cores available to our system. Our second algorithm is an MPI-based distributed memory parallel algorithm that scales to a moderate number of processors. We then implement a hybrid algorithm combining the merits from both shared and distributed memory-based approaches. Finally, we incorporate a parallel load balancing scheme, which leads to our final algorithm DPLAL (Distributed Parallel Louvain Algorithm with Load-balancing). DPLAL overcomes the performance bottleneck of the previous algorithms with improved load balancing. We present a comparative analysis of these parallel implementations of Louvain methods using several large real-world networks. DPLAL shows around 12-fold speedup and scales to a larger number of processors.


Community detection Louvain method Parallel algorithms MPI OpenMP Load balancing Graph mining 



This work has been partially supported by Louisiana Board of Regents RCS Grant LEQSF(2017-20)-RDA- 25 and University of New Orleans ORSP Award CON000000002410. We also thank the anonymous reviewers for the helpful comments and suggestions to improve this paper.


  1. 1.
    Arifuzzaman, S., Khan, M.: Fast parallel conversion of edge list to adjacency list for large-scale graphs. In: 2015 Proceedings of the 23rd Symposium on High Performance Computing, pp. 17–24. Society for Computer Simulation International (2015)Google Scholar
  2. 2.
    Arifuzzaman, S., Khan, M., Marathe, M.: PATRIC: a parallel algorithm for counting triangles in massive networks. In: Proceedings of the 22nd ACM International Conference on Information & Knowledge Management, pp. 529–538. ACM (2013)Google Scholar
  3. 3.
    Arifuzzaman, S., Khan, M., Marathe, M.: A fast parallel algorithm for counting triangles in graphs using dynamic load balancing. In: 2015 IEEE International Conference on Big Data (Big Data), pp. 1839–1847. IEEE (2015)Google Scholar
  4. 4.
    Arifuzzaman, S., Khan, M., Marathe, M.: A space-efficient parallel algorithm for counting exact triangles in massive networks. In: 2015 IEEE 17th International Conference on High Performance Computing and Communications (HPCC), pp. 527–534. IEEE (2015)Google Scholar
  5. 5.
    Arifuzzaman, S., Pandey, B.: Scalable mining and analysis of protein-protein interaction networks. In: 3rd International Conference on Big Data Intelligence and Computing (DataCom 2017), pp. 1098–1105. IEEE (2017)Google Scholar
  6. 6.
    Bhowmick, S., Srinivasan, S.: A template for parallelizing the Louvain method for modularity maximization. In: Mukherjee, A., Choudhury, M., Peruani, F., Ganguly, N., Mitra, B. (eds.) Dynamics on and of Complex Networks, vol. 2, pp. 111–124. Springer, New York (2013). Scholar
  7. 7.
    Blondel, V.D., Guillaume, J.L., Lambiotte, R., Lefebvre, E.: Fast unfolding of communities in large networks. J. Stat. Mech.: Theory Exp. 2008(10), P10008 (2008)CrossRefGoogle Scholar
  8. 8.
    Clauset, A., Newman, M.E., Moore, C.: Finding community structure in very large networks. Phys. Rev. E 70(6), 066111 (2004)CrossRefGoogle Scholar
  9. 9.
    Documentation—user guides—qb2.
  10. 10.
    Ghosh, S., et al.: Distributed Louvain algorithm for graph community detection. In: 2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS), pp. 885–895. IEEE (2018)Google Scholar
  11. 11.
    Girvan, M., Newman, M.E.: Community structure in social and biological networks. Proc. Nat. Acad. Sci. 99(12), 7821–7826 (2002)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Halappanavar, M., Lu, H., Kalyanaraman, A., Tumeo, A.: Scalable static and dynamic community detection using Grappolo. In: 2017 IEEE High Performance Extreme Computing Conference (HPEC), pp. 1–6. IEEE (2017)Google Scholar
  13. 13.
    Karypis, G., Kumar, V.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20(1), 359–392 (1998)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Kwak, H., Lee, C., Park, H., Moon, S.: What is twitter, a social network or a news media? In: Proceedings of the 19th International Conference on World Wide Web, pp. 591–600. ACM (2010)Google Scholar
  15. 15.
    Lancichinetti, A., Fortunato, S.: Community detection algorithms: a comparative analysis. Phys. Rev. E 80(5), 056117 (2009)CrossRefGoogle Scholar
  16. 16.
    Leskovec, J., Lang, K.J., Mahoney, M.: Empirical comparison of algorithms for network community detection. In: Proceedings of the 19th International Conference on World Wide Web, pp. 631–640. ACM (2010)Google Scholar
  17. 17.
    Lu, H., Halappanavar, M., Kalyanaraman, A.: Parallel heuristics for scalable community detection. Parallel Comput. 47, 19–37 (2015)MathSciNetCrossRefGoogle Scholar
  18. 18.
    McCalpin, J.D., et al.: Memory bandwidth and machine balance in current high performance computers. In: 1995 IEEE Computer Society Technical Committee on Computer Architecture (TCCA) Newsletter, pp. 19–25 (1995)Google Scholar
  19. 19.
    Karypis Lab: METIS - serial graph partitioning and fill-reducing matrix ordering.
  20. 20.
    Raghavan, U.N., Albert, R., Kumara, S.: Near linear time algorithm to detect community structures in large-scale networks. Phys. Rev. E 76(3), 036106 (2007)CrossRefGoogle Scholar
  21. 21.
    Raval, A., Nasre, R., Kumar, V., Vadhiyar, S., Pingali, K., et al.: Dynamic load balancing strategies for graph applications on GPUs. arXiv preprint arXiv:1711.00231 (2017)
  22. 22.
    Sattar, N., Arifuzzaman, S.: Parallelizing Louvain algorithm: distributed memory challenges. In: 2018 IEEE 16th International Conference on Dependable, Autonomic and Secure Computing (DASC 2018), pp. 695–701. IEEE (2018)Google Scholar
  23. 23.
    Stanford large network dataset collection.
  24. 24.
    Staudt, C.L., Meyerhenke, H.: Engineering parallel algorithms for community detection in massive networks. IEEE Trans. Parallel Distrib. Syst. 27(1), 171–184 (2016)CrossRefGoogle Scholar
  25. 25.
    Talukder, N., Zaki, M.J.: Parallel graph mining with dynamic load balancing. In: 2016 IEEE International Conference on Big Data (Big Data), pp. 3352–3359. IEEE (2016)Google Scholar
  26. 26.
    Ugander, J., Karrer, B., Backstrom, L., Marlow, C.: The anatomy of the Facebook social graph. arXiv preprint arXiv:1111.4503 (2011)
  27. 27.
    Wickramaarachchi, C., Frincuy, M., Small, P., Prasannay, V.: Fast parallel algorithm for unfolding of communities in large graphs. In: 2014 IEEE High Performance Extreme Computing Conference (HPEC), pp. 1–6. IEEE (2014)Google Scholar

Copyright information

© Springer Nature Singapore Pte Ltd. 2019

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of New OrleansNew OrleansUSA

Personalised recommendations