The Journal of Supercomputing

, Volume 75, Issue 3, pp 1410–1428 | Cite as

On parallel computation of centrality measures of graphs

  • Juan F. GarcíaEmail author
  • M. V. Carriegos


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.


Parallel computation High-performance computing Centrality measures Network Graph 


  1. 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–485Google Scholar
  2. 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–11Google Scholar
  3. 3.
    Awerbuch B, Bar-Noy A, Gopal M (1994) Approximate distributed bellman-ford algorithms. IEEE Trans Commun 42(8):2515–2517CrossRefGoogle Scholar
  4. 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–550Google Scholar
  5. 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–639MathSciNetCrossRefGoogle Scholar
  6. 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–12Google Scholar
  7. 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–456Google Scholar
  8. 8.
    Bonacich P (2007) Some unique properties of eigenvector centrality. Soc Netw 29(4):555–564CrossRefGoogle Scholar
  9. 9.
    Brandes U (2001) A faster algorithm for betweenness centrality. J Math Sociol 25(2):163–177CrossRefzbMATHGoogle Scholar
  10. 10.
    Brandes U, Pich C (2007) Centrality estimation in large networks. Int J Bifurc Chaos 17(07):2303–2318MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Cass S (2015) The 2017 top programming languages-IEEE spectrum. IEEE Spectrum: Technology, Engineering, and Science News. Accessed 10 April 2017
  12. 12.
    Cherkassky BV, Goldberg AV, Radzik T (1996) Shortest paths algorithms: theory and experimental evaluation. Math Program 73(2):129–174MathSciNetCrossRefzbMATHGoogle Scholar
  13. 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–731Google Scholar
  14. 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–359Google Scholar
  15. 15.
    Dijkstra EW (1959) A note on two problems in connexion with graphs. Numer Math 1(1):269–271MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Eager DL, Zahorjan J, Lazowska ED (1989) Speedup versus efficiency in parallel systems. IEEE Trans Comput 38(3):408–423CrossRefGoogle Scholar
  17. 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–10Google Scholar
  18. 18.
    Floyd RW (1962) Algorithm 97: shortest path. Commun ACM 5(6):345CrossRefGoogle Scholar
  19. 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–169Google Scholar
  20. 20.
    Gleich D (2008) Matlab bgl. matlab centralGoogle Scholar
  21. 21.
    Green O, Bader DA (2013) Faster betweenness centrality based on data structure experimentation. Proc Comput Sci 18:399–408CrossRefGoogle Scholar
  22. 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–20Google Scholar
  23. 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–313Google Scholar
  24. 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–167CrossRefGoogle Scholar
  25. 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–130Google Scholar
  26. 26.
    Katz L (1953) A new status index derived from sociometric analysis. Psychometrika 18(1):39–43CrossRefzbMATHGoogle Scholar
  27. 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–232CrossRefGoogle Scholar
  28. 28.
    Kumar VP, Gupta A (1994) Analyzing scalability of parallel algorithms and architectures. J Parallel Distrib Comput 22(3):379–391CrossRefGoogle Scholar
  29. 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–460CrossRefGoogle Scholar
  30. 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):e10232CrossRefGoogle Scholar
  31. 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–8Google Scholar
  32. 32.
    Mahapatra NR, Venkatrao B (1999) The processor-memory bottleneck: problems and solutions. Crossroads 5(3es):2CrossRefGoogle Scholar
  33. 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–583Google Scholar
  34. 34.
    Newman ME (2006) Modularity and community structure in networks. Proc Natl Acad Sci 103(23):8577–8582CrossRefGoogle Scholar
  35. 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)Google Scholar
  36. 36.
    Patterson DA, Hennessy JL, Goldberg D (1990) Computer architecture: a quantitative approach, vol 2. Morgan Kaufmann, San MateoGoogle Scholar
  37. 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–125Google Scholar
  38. 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–85Google Scholar
  39. 39.
    Shi Z, Zhang B (2011) Fast network centrality analysis using gpus. BMC Bioinform 12(1):149MathSciNetCrossRefGoogle Scholar
  40. 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. Accessed 26 Oct 2018
  41. 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–347Google Scholar
  42. 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–668MathSciNetCrossRefzbMATHGoogle Scholar
  43. 43.
    Wong KC, Wu CH, Mok RK, Peng C, Zhang Z (2012) Evolutionary multimodal optimization using the principle of locality. Inf Sci 194:138–170CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.RIASC. Instituto CC. Aplicadas a CiberseguridadUniversidad de LeónLeónSpain

Personalised recommendations