The effect of local sort on parallel sorting algorithms
Daniel Jiménez-González, Juan J. Navarro, Josep-L. Larriba-Pey · 2003
We show the importance of sequential sorting in the context of in-memory parallel sorting of large data sets of 64-bit keys. First, we analyze several sequential strategies, like Straight Insertion, Quick sort, Radix sort and Cache-Conscious Radix sort (CC-Radix sort). As a consequence of the analysis, we propose a new algorithm that we call the Sequential Counting Split Radix sort (SCS-Radix sort). This is a combination of some of the algorithms analyzed and other new ideas. There are three important contributions in SCS-Radix sort: first, the work saved by detecting data skew dynamically; second, the exploitation of the memory hierarchy done by the algorithm; and third, the execution time stability of SCS-Radix when sorting data sets with different characteristics. We evaluate the use of SCS-Radix sort in the context of a parallel sorting algorithm on an SGI Origin 2000. The parallel algorithm is 1.2 to 45 times faster using the SCS-Radix sort than using the Radix sort or Quick sort.