5d113918c1167379.tex
1: \begin{abstract}
2: Finding connected components in a graph is a fundamental problem in graph analysis. In this work, we present a novel minimum-mapping based \emph{Contour} algorithm to efficiently solve the connectivity problem. We prove that  the \emph{Contour} algorithm with two or higher order operators can identify all connected components of an undirected graph within $\mathcal{O}(\log d_{max})$ iterations, with each iteration involving $\mathcal{O}(m)$ work, where $d_{max}$ represents the largest diameter among all components in the given graph, and $m$ is the total number of edges in the graph. Importantly, each iteration is highly parallelizable, making use of the efficient minimum-mapping operator applied to all edges. To further enhance its practical performance, we optimize the \emph{Contour} algorithm through asynchronous updates, early convergence checking, eliminating atomic operations, and choosing more efficient mapping operators. 
3: Our implementation of the \emph{Contour} algorithm has been integrated into the open-source framework Arachne. Arachne extends Arkouda for large-scale interactive graph analytics, providing a Python API powered by the high-productivity parallel language Chapel. Experimental results on both real-world and synthetic graphs demonstrate the superior performance of our proposed \emph{Contour} algorithm compared to state-of-the-art large-scale parallel algorithm FastSV and the fastest shared memory algorithm ConnectIt. On average, \emph{Contour} achieves a speedup of 7.3x and 1.4x compared to FastSV and ConnectIt, respectively. All code for the \emph{Contour} algorithm and the Arachne framework is publicly available on GitHub~\footnote{https://github.com/Bears-R-Us/arkouda-njit}, ensuring transparency and reproducibility of our work.
4: \end{abstract}
5: