4cecdb39869320f3.tex
1: \begin{abstract}
2: This paper presents a new distributed-memory algorithm called \Name{} for finding connected components in an undirected graph.
3: Our algorithm simplifies the classic Shiloach-Vishkin algorithm and employs several novel and efficient hooking strategies for faster convergence.
4: We map different steps of \Name{} to linear algebraic operations and implement them with the help of scalable graph libraries.
5: \Name{} uses sparse operations to avoid redundant work and optimized MPI communication to avoid bottlenecks. 
6: The resultant algorithm shows high-performance and scalability as it can find the connected components of a hyperlink graph with over 134B edges in $30$ seconds using 262K cores on a Cray XC40 supercomputer.
7: \Name{}  outperforms the state-of-the-art algorithm by an average speedup of $2.21\times$ (max $4.27\times$) on a variety of real-world graphs.
8: 
9: %We based our algorithm on the classic Shiloach-Vishkin algorithm with careful simplification, and our novel and efficient hooking strategies provides it with fast convergence.
10: %We demonstrate its distributed-memory implementation in linear algebra.
11: %It shows high-performance and scalability by finding the connected components of a hyperlink graph with over 134B edges in $30$ seconds, using 262K cores on the Cray XC40 supercomputer.
12: %It also outperforms the state-of-the-art by an average speedup of $2.21\times$ (max $4.27\times$) on a variety of real-world graph datasets.
13: \end{abstract}
14: