pith. sign in

arxiv: 1008.2849 · v2 · pith:PHPXRVZ4new · submitted 2010-08-17 · 💻 cs.DS · cs.PF

Faster Radix Sort via Virtual Memory and Write-Combining

classification 💻 cs.DS cs.PF
keywords memoryradixsortsortingalgorithmalgorithmsfactorperformance
0
0 comments X
read the original abstract

Sorting algorithms are the deciding factor for the performance of common operations such as removal of duplicates or database sort-merge joins. This work focuses on 32-bit integer keys, optionally paired with a 32-bit value. We present a fast radix sorting algorithm that builds upon a microarchitecture-aware variant of counting sort. Taking advantage of virtual memory and making use of write-combining yields a per-pass throughput corresponding to at least 88 % of the system's peak memory bandwidth. Our implementation outperforms Intel's recently published radix sort by a factor of 1.5. It also compares favorably to the reported performance of an algorithm for Fermi GPUs when data-transfer overhead is included. These results indicate that scalar, bandwidth-sensitive sorting algorithms remain competitive on current architectures. Various other memory-intensive applications can benefit from the techniques described herein.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.