Engineering Parallel String Sorting

被引:15
作者
Bingmann, Timo [1 ]
Eberle, Andreas [1 ]
Sanders, Peter [1 ]
机构
[1] Karlsruhe Inst Technol, Kaiserstr 12, D-76131 Karlsruhe, Germany
关键词
Parallel string sorting; String sorting; Sample sort; Merge sort; LCP-merge sort; LCP-insertion sort; Super scalar string sample sort;
D O I
10.1007/s00453-015-0071-1
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We discuss how string sorting algorithms can be parallelized on modern multi-core shared memory machines. As a synthesis of the best sequential string sorting algorithms and successful parallel sorting algorithms for atomic objects, we first propose string sample sort. The algorithm makes effective use of the memory hierarchy, uses additional word level parallelism, and largely avoids branch mispredictions. Then we focus on NUMA architectures, and develop parallel multiway LCP-merge and -mergesort to reduce the number of random memory accesses to remote nodes. Additionally, we parallelize variants of multikey quicksort and radix sort that are also useful in certain situations. As base-case sorter for LCP-aware string sorting we describe sequential LCP-insertion sort which calculates the LCP array and accelerates its insertions using it. Comprehensive experiments on five current multi-core platforms are then reported and discussed. The experiments show that our parallel string sorting implementations scale very well on real-world inputs and modern machines.
引用
收藏
页码:235 / 286
页数:52
相关论文
共 35 条
[1]  
Abouelhoda M. I., 2004, Journal of Discrete Algorithms, V2, P53, DOI 10.1016/S1570-8667(03)00065-0
[2]   OPTIMAL PARALLEL MERGING AND SORTING WITHOUT MEMORY CONFLICTS [J].
AKL, SG ;
SANTORO, N .
IEEE TRANSACTIONS ON COMPUTERS, 1987, 36 (11) :1367-1369
[3]   MANAGING UNBOUNDED-LENGTH KEYS IN COMPARISON-DRIVEN DATA STRUCTURES WITH APPLICATIONS TO ONLINE INDEXING [J].
Amir, Amihood ;
Franceschini, Gianni ;
Grossi, Roberto ;
Kopelowitz, Tsvi ;
Lewenstein, Moshe ;
Lewenstein, Noa .
SIAM JOURNAL ON COMPUTING, 2014, 43 (04) :1396-1416
[4]  
Andersson A., 1998, ACM Journal of Experimental Algorithmics, V3, DOI 10.1145/297096.297136
[5]  
[Anonymous], 2004, 6 WORKSHOP ALGORITHM
[6]  
Bentley JL, 1997, PROCEEDINGS OF THE EIGHTH ANNUAL ACM-SIAM SYMPOSIUM ON DISCRETE ALGORITHMS, P360
[7]  
Blelloch G. E., 1991, SPAA '91. 3rd Annual ACM Symposium on Parallel Algorithms and Architectures, P3, DOI 10.1145/113379.113380
[8]   PARALLEL EVALUATION OF GENERAL ARITHMETIC EXPRESSIONS [J].
BRENT, RP .
JOURNAL OF THE ACM, 1974, 21 (02) :201-206
[9]   PARALLEL MERGE SORT [J].
COLE, R .
SIAM JOURNAL ON COMPUTING, 1988, 17 (04) :770-785
[10]   SAMPLESORT - A SAMPLING APPROACH TO MINIMAL STORAGE TREE SORTING [J].
FRAZER, WD ;
MCKELLAR, AC .
JOURNAL OF THE ACM, 1970, 17 (03) :496-&