English

Engineering Parallel String Sorting

Data Structures and Algorithms 2014-03-11 v1 Distributed, Parallel, and Cluster Computing

Abstract

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. Comprehensive experiments on five current multi-core platforms are then reported and discussed. The experiments show that our implementations scale very well on real-world inputs and modern machines.

Keywords

Cite

@article{arxiv.1403.2056,
  title  = {Engineering Parallel String Sorting},
  author = {Timo Bingmann and Andreas Eberle and Peter Sanders},
  journal= {arXiv preprint arXiv:1403.2056},
  year   = {2014}
}

Comments

46 pages, extension of "Parallel String Sample Sort" arXiv:1305.1157

R2 v1 2026-06-22T03:23:03.540Z