Next: Introduction
A Parallel Sorting Algorithm
With an Experimental Study
(Preliminary Draft)
David R. Helman
David A. Bader
Joseph JáJá
Institute for Advanced Computer Studies, and
Department of Electrical Engineering,
University of Maryland, College Park, MD 20742
{helman, dbader, joseph}@umiacs.umd.edu
December 29, 1995
Abstract:
Previous schemes for sorting on general-purpose parallel
machines have had to choose between poor load balancing and irregular
communication or multiple rounds of all-to-all personalized communication.
In this paper, we introduce a novel variation on sample sort which
uses only two rounds of regular all-to-all personalized communication in
a scheme that yields very good load balancing with virtually no overhead.
This algorithm was implemented in Split-C and run on a variety of platforms,
including the Thinking Machines CM-5, the IBM SP-2, and the Cray Research
T3D. We ran our code using widely different benchmarks
to examine the dependence of our algorithm on the input
distribution. Our experimental results are consistent with the
theoretical analysis and illustrate the efficiency and scalability of our
algorithm across different platforms. In fact, it seems to outperform
all similar algorithms known to the authors on these platforms, and its
performance is invariant over the set of input distributions unlike
previous efficient algorithms. Our results also compare favorably with
those reported for the simpler ranking problem posed by the NAS Integer
Sorting (IS) Benchmark.
Keywords: Parallel Algorithms, Generalized Sorting, Integer Sorting,
Sample Sort, Parallel Performance.
Next: Introduction
helman@umiacs.umd.edu