Fast network centrality analysis using GPUs

BackgroundWith the exploding volume of data generated by continuously evolving high-throughput technologies, biological network analysis problems are growing larger in scale and craving for more computational power. General Purpose computation on Graphics Processing Units (GPGPU) provides a cost-effective technology for the study of large-scale biological networks. Designing algorithms that maximize data parallelism is the key in leveraging the power of GPUs.ResultsWe proposed an efficient data parallel formulation of the All-Pairs Shortest Path problem, which is the key component for shortest path-based centrality computation. A betweenness centrality algorithm built upon this formulation was developed and benchmarked against the most recent GPU-based algorithm. Speedup between 11 to 19% was observed in various simulated scale-free networks. We further designed three algorithms based on this core component to compute closeness centrality, eccentricity centrality and stress centrality. To make all these algorithms available to the research community, we developed a software package gpu-fan (GPU-based Fast Analysis of Networks) for CUDA enabled GPUs. Speedup of 10-50× compared with CPU implementations was observed for simulated scale-free networks and real world biological networks.Conclusionsgpu-fan provides a significant performance improvement for centrality computation in large-scale networks. Source code is available under the GNU Public License (GPL) at http://bioinfo.vanderbilt.edu/gpu-fan/.

[1]  Bing Zhang,et al.  Co-expression module analysis reveals biological processes, genomic gain, and regulatory mechanisms associated with breast cancer progression , 2010, BMC Systems Biology.

[2]  Jie Cheng,et al.  Programming Massively Parallel Processors. A Hands-on Approach , 2010, Scalable Comput. Pract. Exp..

[3]  A. Barabasi,et al.  Network biology: understanding the cell's functional organization , 2004, Nature Reviews Genetics.

[4]  Jason H. Moore,et al.  Exploiting graphics processing units for computational biology and bioinformatics , 2010, Interdisciplinary Sciences: Computational Life Sciences.

[5]  Douglas P. Gregor,et al.  The Parallel BGL : A Generic Library for Distributed Graph Computations , 2005 .

[6]  Lorenzo Dematté,et al.  GPU computing for systems biology , 2010, Briefings Bioinform..

[7]  Dirk Koschützki,et al.  How to identify essential genes from molecular networks? , 2009, BMC Systems Biology.

[8]  Dengbiao Tu,et al.  Characterizing Betweenness Centrality Algorithm on Multi-core Architectures , 2009, 2009 IEEE International Symposium on Parallel and Distributed Processing with Applications.

[9]  U. Brandes A faster algorithm for betweenness centrality , 2001 .

[10]  Gábor Csárdi,et al.  The igraph software package for complex network research , 2006 .

[11]  David A. Bader,et al.  Parallel Algorithms for Evaluating Centrality Indices in Real-world Networks , 2006, 2006 International Conference on Parallel Processing (ICPP'06).

[12]  Albert,et al.  Emergence of scaling in random networks , 1999, Science.

[13]  David A. Bader,et al.  Techniques for Designing Efficient Parallel Graph Algorithms for SMPs and Multicore Processors , 2007, ISPA.

[14]  Wen-mei W. Hwu,et al.  Program optimization carving for GPU computing , 2008, J. Parallel Distributed Comput..

[15]  P. J. Narayanan,et al.  Accelerating Large Graph Algorithms on the GPU Using CUDA , 2007, HiPC.

[16]  Ninghui Sun,et al.  A Parallel Algorithm for Computing Betweenness Centrality , 2009, 2009 International Conference on Parallel Processing.

[17]  Aric Hagberg,et al.  Exploring Network Structure, Dynamics, and Function using NetworkX , 2008, Proceedings of the Python in Science Conference.

[18]  John Hart,et al.  Large graph simplification, clustering and visualization , 2010 .

[19]  Fan Meng,et al.  The gputools package enables GPU computing in R , 2010, Bioinform..

[20]  David A. Bader,et al.  National Laboratory Lawrence Berkeley National Laboratory Title A Faster Parallel Algorithm and Efficient Multithreaded Implementations for Evaluating Betweenness Centrality on Massive Datasets Permalink , 2009 .

[21]  Giorgio Valle,et al.  CUDA compatible GPU cards as efficient hardware accelerators for Smith-Waterman sequence alignment , 2008, BMC Bioinformatics.