Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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)
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)
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)
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)
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)
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). https://doi.org/10.1007/978-1-4614-6729-8_6
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)
Clauset, A., Newman, M.E., Moore, C.: Finding community structure in very large networks. Phys. Rev. E 70(6), 066111 (2004)
Documentation—user guides—qb2. http://www.hpc.lsu.edu/docs/guides.php?system=QB2
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)
Girvan, M., Newman, M.E.: Community structure in social and biological networks. Proc. Nat. Acad. Sci. 99(12), 7821–7826 (2002)
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)
Karypis, G., Kumar, V.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20(1), 359–392 (1998)
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)
Lancichinetti, A., Fortunato, S.: Community detection algorithms: a comparative analysis. Phys. Rev. E 80(5), 056117 (2009)
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)
Lu, H., Halappanavar, M., Kalyanaraman, A.: Parallel heuristics for scalable community detection. Parallel Comput. 47, 19–37 (2015)
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)
Karypis Lab: METIS - serial graph partitioning and fill-reducing matrix ordering. http://glaros.dtc.umn.edu/gkhome/metis/metis/overview
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)
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)
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)
Stanford large network dataset collection. https://snap.stanford.edu/data/index.html
Staudt, C.L., Meyerhenke, H.: Engineering parallel algorithms for community detection in massive networks. IEEE Trans. Parallel Distrib. Syst. 27(1), 171–184 (2016)
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)
Ugander, J., Karrer, B., Backstrom, L., Marlow, C.: The anatomy of the Facebook social graph. arXiv preprint arXiv:1111.4503 (2011)
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)
Acknowledgements
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.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Sattar, N.S., Arifuzzaman, S. (2019). Overcoming MPI Communication Overhead for Distributed Community Detection. In: Majumdar, A., Arora, R. (eds) Software Challenges to Exascale Computing. SCEC 2018. Communications in Computer and Information Science, vol 964. Springer, Singapore. https://doi.org/10.1007/978-981-13-7729-7_6
Download citation
DOI: https://doi.org/10.1007/978-981-13-7729-7_6
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-13-7728-0
Online ISBN: 978-981-13-7729-7
eBook Packages: Computer ScienceComputer Science (R0)