Fast Sorting on a Distributed-Memory Architecture

David R. Cheng, Viral B. Shah, John R. Gilbert, Alan S. Edelman · DSpace@MIT (Massachusetts Institute of Technology) · 2005

Abstract — We consider the often-studied problem of sorting, for a parallel computer. Given an input array distributed evenly over p processors, the task is to compute the sorted output array, also distributed over the p processors. Many existing algorithms take the approach of approximately load-balancing the output, leaving each processor with Θ ( n) elements. However, in many p cases, approximate load-balancing leads to inefficiencies in both the sorting itself and in further uses of the data after sorting. We provide a deterministic parallel sorting algorithm that uses parallel selection to produce any output distribution exactly, particularly one that is perfectly load-balanced. Furthermore, when using a comparison sort, this algorithm is 1-optimal in both computation and communication. We provide an empirical study that illustrates the efficiency of exact data splitting, and shows an improvement over two sample sort algorithms. Index Terms — Parallel sorting, distributed-memory algorithms, High-Performance Computing.

Read the paper · More papers on PaperTik