Designing Multithreaded Algorithms for Breadth-First Search and st-connectivity on the Cray MTA-2
Abstract
Graph abstractions are extensively used to understand and solve challenging computational problems in various scientific and engineering domains. They have particularly
gained prominence in recent years for applications involving large-scale networks. In
this paper, we present fast parallel implementations of three fundamental graph theory problems, Breadth-First Search, st-connectivity and shortest paths for unweighted
graphs, on multithreaded architectures such as the Cray MTA-2. The architectural
features of the MTA-2 aid the design of simple, scalable and high-performance graph
algorithms. We test our implementations on large scale-free and sparse random graph
instances, and report impressive results, both for algorithm execution time and parallel
performance. For instance, Breadth-First Search on a scale-free graph of 200 million
vertices and 1 billion edges takes less than 5 seconds on a 40-processor MTA-2 system with an absolute speedup of close to 30. This is a significant result in parallel
computing, as prior implementations of parallel graph algorithms report very limited
or no speedup on irregular and sparse graphs, when compared to the best sequential implementation.