Title:
A Fast, Parallel Spanning Tree Algorithm for Symmetric Multiprocessors (SMPs)
A Fast, Parallel Spanning Tree Algorithm for Symmetric Multiprocessors (SMPs)
Author(s)
Bader, David A.
Cong, Guojing
Cong, Guojing
Advisor(s)
Editor(s)
Collections
Supplementary to
Permanent Link
Abstract
The ability to provide uniform shared-memory access to a significant number of processors
in a single SMP node brings us much closer to the ideal PRAM parallel computer. Many
PRAM algorithms can be adapted to SMPs with few modifications. Yet there are few studies
that deal with the implementation and performance issues of running PRAM-style algorithms
on SMPs. Our study in this paper focuses on implementing parallel spanning tree algorithms
on SMPs. Spanning tree is an important problem in the sense that it is the building block
for many other parallel graph algorithms and also because it is representative of a large class
of irregular combinatorial problems that have simple and efficient sequential implementations
and fast PRAM algorithms, but these irregular problems often have no known efficient parallel
implementations. Experimental studies have been conducted on related problems (minimum
spanning tree and connected components) using parallel computers, but only achieved reasonable
speedup on regular graph topologies that can be implicitly partitioned with good locality
features or on very dense graphs with limited numbers of vertices. In this paper we present
a new randomized algorithm and implementation with superior performance that for the first
time achieves parallel speedup on arbitrary graphs (both regular and irregular topologies) when
compared with the best sequential implementation for finding a spanning tree. This new algorithm uses several techniques to give an expected running time that scales linearly with the
number p of processors for suitably large inputs (n > p
2). As the spanning tree problem is
notoriously hard for any parallel implementation to achieve reasonable speedup, our study may
shed new light on implementing PRAM algorithms for shared-memory parallel computers. The
main results of this paper are
1. A new and practical spanning tree algorithm for symmetric multiprocessors that exhibits
parallel speedups on graphs with regular and irregular topologies; and
2. An experimental study of parallel spanning tree algorithms that reveals the superior
performance of our new approach compared with the previous algorithms.
The source code for these algorithms is freely-available from our web site hpc.ece.unm.
edu.
Sponsor
This work was supported in part by NSF Grants CAREER ACI-00-93039, ITR ACI-00-81404, DEB-99-
10123, ITR EIA-01-21377, Biocomplexity DEB-01-20709, DBI-0420513, ITR EF/BIO 03-31654; and DARPA
Contract NBCH30390004.
Date Issued
2006-02-25
Extent
Resource Type
Text
Resource Subtype
Technical Report