Skip to main content
Log in

On parallel computation of centrality measures of graphs

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

Abstract

Centrality measures or indicators of centrality identify most relevant nodes of graphs. Although optimized algorithms exist for computing of most of them, they are still time consuming and are even infeasible to apply to big enough graphs like the ones representing social networks or extensive enough computer networks. In this paper, we present a parallel implementation in C language of some optimal algorithms for computing of some indicators of centrality. Our parallel version greatly reduces the execution time of their sequential (non-parallel) counterpart. The proposed solution relies on threading, allowing for a theoretical improvement in performance close to the number of logical processors (cores) of the single computer in which it is running. Our software has been tested in several platforms, including the supercomputer Calendula, in which we achieved execution times close to 18 times faster when running our parallel implementation instead of our sequential one. Our solution is multi-platform and portable, working on any machine with several logical processor which is capable of compiling and running C language code.

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
Fig. 3

Similar content being viewed by others

References

  1. Amdahl GM (1967) Validity of the single processor approach to achieving large scale computing capabilities. In: Proceedings of the 18–20 April 1967, Spring Joint Computer Conference, ACM, pp 483–485

  2. Arefin AS, Berretta R, Moscato P (2013) A GPU-based method for computing eigenvector centrality of gene-expression networks. In: Proceedings of the Eleventh Australasian Symposium on Parallel and Distributed Computing-Volume 140, Australian Computer Society, Inc., pp 3–11

  3. Awerbuch B, Bar-Noy A, Gopal M (1994) Approximate distributed bellman-ford algorithms. IEEE Trans Commun 42(8):2515–2517

    Article  Google Scholar 

  4. Bader DA, Madduri K (2006) Parallel algorithms for evaluating centrality indices in real-world networks. In: International Conference on Parallel Processing. ICPP 2006. IEEE, pp 539–550

  5. Bader DA, Madduri K (2008a) A graph-theoretic analysis of the human protein-interaction network using multicore parallel algorithms. Parallel Comput 34(11):627–639

    Article  MathSciNet  Google Scholar 

  6. Bader DA, Madduri K (2008b) Snap, small-world network analysis and partitioning: an open-source parallel graph framework for the exploration of large-scale networks. In: IEEE International Symposium on Parallel and Distributed Processing. IPDPS 2008. IEEE, pp 1–12

  7. Baglioni M, Geraci F, Pellegrini M, Lastres E (2012) Fast exact computation of betweenness centrality in social networks. In: Proceedings of the 2012 International Conference on Advances in Social Networks Analysis and Mining (ASONAM 2012). IEEE Computer Society, pp 450–456

  8. Bonacich P (2007) Some unique properties of eigenvector centrality. Soc Netw 29(4):555–564

    Article  Google Scholar 

  9. Brandes U (2001) A faster algorithm for betweenness centrality. J Math Sociol 25(2):163–177

    Article  MATH  Google Scholar 

  10. Brandes U, Pich C (2007) Centrality estimation in large networks. Int J Bifurc Chaos 17(07):2303–2318

    Article  MathSciNet  MATH  Google Scholar 

  11. Cass S (2015) The 2017 top programming languages-IEEE spectrum. IEEE Spectrum: Technology, Engineering, and Science News. https://spectrum.ieee.org/computing/software/the-2017-topprogramming-languages. Accessed 10 April 2017

  12. Cherkassky BV, Goldberg AV, Radzik T (1996) Shortest paths algorithms: theory and experimental evaluation. Math Program 73(2):129–174

    Article  MathSciNet  MATH  Google Scholar 

  13. Crauser A, Mehlhorn K, Meyer U, Sanders P (1998) A parallelization of Dijkstra’s shortest path algorithm. In: International Symposium on Mathematical Foundations of Computer Science. Springer, pp 722–731

  14. Davidson AA, Baxter S, Garland M, Owens JD (2014) Work-efficient parallel GPU methods for single-source shortest paths. In: Proceedings of 2014 IEEE 28th International Parallel and Distributed Processing Symposium, IEEE, pp 349–359

  15. Dijkstra EW (1959) A note on two problems in connexion with graphs. Numer Math 1(1):269–271

    Article  MathSciNet  MATH  Google Scholar 

  16. Eager DL, Zahorjan J, Lazowska ED (1989) Speedup versus efficiency in parallel systems. IEEE Trans Comput 38(3):408–423

    Article  Google Scholar 

  17. Edmonds N, Hoefler T, Lumsdaine A (2010) A space-efficient parallel algorithm for computing betweenness centrality in distributed memory. In: 2010 International Conference on High Performance Computing (HiPC), IEEE, pp 1–10

  18. Floyd RW (1962) Algorithm 97: shortest path. Commun ACM 5(6):345

    Article  Google Scholar 

  19. García JF, Carriegos MV, Balsa J, Sánchez F, Fernández M, Fernández A, Cadenas C, Rodríguez J, Lebedev V (2017) C secure coding standards performance: Cmu sei cert vs misra. In: III Jornadas Nacionales de Investigacion en Ciberseguridad, JNIC2017, Servicio de Publicaciones de la URJC, pp 168–169

  20. Gleich D (2008) Matlab bgl. matlab central

  21. Green O, Bader DA (2013) Faster betweenness centrality based on data structure experimentation. Proc Comput Sci 18:399–408

    Article  Google Scholar 

  22. Green O, McColl R, Bader DA (2012) A fast algorithm for streaming betweenness centrality. In: 2012 International Conference on Privacy, Security, Risk and Trust (PASSAT), and 2012 International Conference on Social Computing (SocialCom), IEEE, pp 11–20

  23. Kandemir M, Choudhary A, Ramanujam J, Banerjee P (1998) A matrix-based approach to the global locality optimization problem. In: 1998 International Conference on Parallel Architectures and Compilation Techniques. Proceedings. IEEE, pp 306–313

  24. Kandemir M, Ramanujam J, Choudhary A (1999) Improving cache locality by a combination of loop and data transformations. IEEE Trans Comput 48(2):159–167

    Article  Google Scholar 

  25. Kang U, Papadimitriou S, Sun J, Tong H (2011) Centralities in large networks: algorithms and observations. In: Proceedings of the 2011 SIAM International Conference on Data Mining. SIAM, pp 119–130

  26. Katz L (1953) A new status index derived from sociometric analysis. Psychometrika 18(1):39–43

    Article  MATH  Google Scholar 

  27. Kowarschik M, Weiß C (2003) An overview of cache optimization techniques and cache-aware numerical algorithms. In: Meyer U, Sanders P, Sibeyn J (eds) Algorithms for memory hierarchies, vol 2625. Springer, Berlin, pp 213–232

    Chapter  Google Scholar 

  28. Kumar VP, Gupta A (1994) Analyzing scalability of parallel algorithms and architectures. J Parallel Distrib Comput 22(3):379–391

    Article  Google Scholar 

  29. Lee VW, Kim C, Chhugani J, Deisher M, Kim D, Nguyen AD, Satish N, Smelyanskiy M, Chennupaty S, Hammarlund P (2010) Debunking the 100\(\times \) GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU. ACM SIGARCH Comput Architect News 38(3):451–460

    Article  Google Scholar 

  30. Lohmann G, Margulies DS, Horstmann A, Pleger B, Lepsien J, Goldhahn D, Schloegl H, Stumvoll M, Villringer A, Turner R (2010) Eigenvector centrality mapping for analyzing connectivity patterns in fmri data of the human brain. PLoS ONE 5(4):e10232

    Article  Google Scholar 

  31. Madduri K, Ediger D, Jiang K, Bader DA, Chavarria-Miranda D (2009) A faster parallel algorithm and efficient multithreaded implementations for evaluating betweenness centrality on massive datasets. In: IEEE International Symposium on Parallel & Distributed Processing. IPDPS 2009. IEEE, pp 1–8

  32. Mahapatra NR, Venkatrao B (1999) The processor-memory bottleneck: problems and solutions. Crossroads 5(3es):2

    Article  Google Scholar 

  33. McLaughlin A, Bader DA (2014) Scalable and high performance betweenness centrality on the GPU. In: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis. IEEE Press, pp 572–583

  34. Newman ME (2006) Modularity and community structure in networks. Proc Natl Acad Sci 103(23):8577–8582

    Article  Google Scholar 

  35. Pande P, Bader DA (2011) Computing betweenness centrality for small world networks on a GPU. In: 15th Annual High Performance Embedded Computing Workshop (HPEC)

  36. Patterson DA, Hennessy JL, Goldberg D (1990) Computer architecture: a quantitative approach, vol 2. Morgan Kaufmann, San Mateo

    Google Scholar 

  37. Pusukuri KK, Gupta R, Bhuyan LN (2011) Thread reinforcer: dynamically determining number of threads via os level monitoring. In: 2011 IEEE International Symposium on Workload Characterization (IISWC). IEEE, pp 116–125

  38. Sariyüce AE, Kaya K, Saule E, Çatalyürek ÜV (2013) Betweenness centrality on gpus and heterogeneous architectures. In: Proceedings of the 6th Workshop on General Purpose Processor Using Graphics Processing Units. ACM, pp 76–85

  39. Shi Z, Zhang B (2011) Fast network centrality analysis using gpus. BMC Bioinform 12(1):149

    Article  MathSciNet  Google Scholar 

  40. Sriram A, Gautham K, Kothapalli K, Narayan P, Govindarajulu R (2009) Evaluating centrality metrics in real-world networks on gpu. In: 16th Annual International Conference on High Performance Computing-HiPC 2009 Student Research Symposium. https://hipc.org/hipc2009/documents/HIPCSS09Papers/1569256361.pdf. Accessed 26 Oct 2018

  41. Tan G, Tu D, Sun N (2009) A parallel algorithm for computing betweenness centrality. In: International Conference on Parallel Processing. ICPP’09. IEEE, pp 340–347

  42. Trobajo M, Cifuentes-Rodríguez J, Carriegos M (2018) On dynamic network security: a random decentering algorithm on graphs. Open Math 16(1):656–668

    Article  MathSciNet  MATH  Google Scholar 

  43. Wong KC, Wu CH, Mok RK, Peng C, Zhang Z (2012) Evolutionary multimodal optimization using the principle of locality. Inf Sci 194:138–170

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Juan F. García.

Additional information

This work has been partially supported by the Spanish National Cybersecurity Institute (Instituto Nacional de Ciberseguridad, INCIBE). This research uses the resources of the Centro de Supercomputación de Castilla y León (SCAYLE, www.scayle.es), funded by the “European Regional Development Fund (ERDF)”

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

García, J.F., Carriegos, M.V. On parallel computation of centrality measures of graphs. J Supercomput 75, 1410–1428 (2019). https://doi.org/10.1007/s11227-018-2654-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-018-2654-5

Keywords

Navigation