Wednesday September 28, 12pm-1pm, 1116-E Klaus
An Adaptive Parallel Algorithm for Computing Connectivity
Advisor: Prof. Srinivas Aluru
Finding connected components is an important algorithmic kernel that exists in many graph algorithms. We present an efficient distributed memory parallel algorithm for computing connected components in undirected graphs based on Shiloach-Vishkin’s PRAM approach. We discuss multiple optimization techniques that reduce communication volume as well as balance the load to improve the performance of the algorithm in practice. We also note that the efficiency of parallel graph connectivity algorithm depends on the underlying graph topology. Particularly for short diameter graph components, we observe that parallel breadth first search method offers better performance. However, running parallel BFS is not efficient for computing large diameter components or large number of small components. To address this challenge, we employ a heuristic that allows the algorithm to quickly predict the type of the network by computing the degree distribution and follow the optimal hybrid route. Using large graphs with diverse topologies from domains including metagenomics, web crawl, social graph and road networks, we show that our hybrid implementation is efficient and scalable for each of the graph types. Our approach achieves a runtime of 215 seconds using 32K cores of Cray XC30 for a metagenomic graph with over 50 billion edges. When compared against the previous state-of-the-art method, we see performance improvements up to 24x.
Chirag Jain is a third year PhD student in Srinivas Aluru's lab. He earned his bachelor’s degree in CS at Indian Institute of Technology at New Delhi. His current research is focused on designing scalable algorithms for computational problems in genomics.