New Parallel-Sorting Schemes
暂无分享,去创建一个
In this paper, we describe a family of parallel-sorting algorithms for a multiprocessor system. These algorithms are enumeration sortings and comprise the following phases: 1) count acquisition: the keys are subdivided into subsets and for each key we determine the number of smaller keys (count) in every subset; 2) rank determination: the rank of a key is the sum of the previously obtained counts; 3) data rearrangement: each key is placed in the position specified by its rank. The basic novelty of the algorithms is the use of parallel merging to implement count acquisition. By using Valiant's merging scheme, we show that n keys can be sorted in parallel with n log2n processors in time C log2n + o(log2n); in addition, if memory fetch conflicts are not allowed, using a modified version of Batcher's merging algorithm to implement phase 1), we show that n keys can be sorted with n1 +αprocessors in time (C'/α a) log2n + o(log2n), thereby matching the performance of Hirschberg's algoithm, which, however, is not free of fetch conflicts.
[1] Kenneth E. Batcher,et al. Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.
[2] David E. Muller,et al. Bounds to Complexities of Networks for Sorting and for Switching , 1975, JACM.
[3] Fanica Gavril. Merging with parallel processors , 1975, CACM.
[4] Leslie G. Valiant,et al. Parallelism in Comparison Problems , 1975, SIAM J. Comput..
[5] Daniel S. Hirschberg. Fast parallel sorting algorithms , 1978, CACM.