PARADIS: An Efficient Parallel Algorithm for In-place Radix Sort
PARADIS: An Efficient Parallel Algorithm for In-place Radix Sort
复制标题
PARADIS:一种高效的就地基数排序并行算法
DOI:
--
复制
发表时间:
2015
影响因子:
2.5
通讯作者:
R. Puri
中科院分区:
文献类型:
--
作者:
Minsik Cho;D. Brand;R. Bordawekar;Ulrich Finkler;Vincent KulandaiSamy;R. Puri
In-place radix sort is a popular distribution-based sorting algorithm for short numeric or string keys due to its linear run-time and constant memory complexity. However, efficient parallelization of in-place radix sort is very challenging for two reasons. First, the initial phase of permuting elements into buckets suffers read-write dependency inherent in its in-place nature. Secondly, load balancing of the recursive application of the algorithm to the resulting buckets is difficult when the buckets are of very different sizes, which happens for skewed distributions of the input data. In this paper, we present a novel parallel in-place radix sort algorithm, PARADIS, which addresses both problems: a) "speculative permutation" solves the first problem by assigning multiple non-continuous array stripes to each processor. The resulting shared-nothing scheme achieves full parallelization. Since our speculative permutation is not complete, it is followed by a "repair" phase, which can again be done in parallel without any data sharing among the processors. b) "distribution-adaptive load balancing" solves the second problem. We dynamically allocate processors in the context of radix sort, so as to minimize the overall completion time. Our experimental results show that PARADIS offers excellent performance/scalability on a wide range of input data sets.