Abstract
We demonstrate the importance of reducing misses in the translation-lookaside buffer (TLB) for obtaining good performance on modern computer architectures. We focus on least-significantbit first (LSB) radix sort, standard implementations of which make many TLB misses. We give three techniques which simultaneously reduce cache and TLB misses for LSB radix sort: reducing working set size, explicit block transfer and pre-sorting. We note that: • All the techniques above yield algorithms whose implementations outperform optimised cache-tuned implementations of LSB radix sort and comparison-based sorting algorithms. The fastest running times are obtained by the pre-sorting approach and these are over twice as fast as optimised cache-tuned implementations of LSB radix sort and quicksort. Even the simplest optimisation, using the TLB size to guide the choice of radix in standard implementations of LSB radix sort, gives good improvements over cache-tuned algorithms. • One of the pre-sorting algorithms and explicit block transfer make few cache and TLB misses in the worst case. This is not true of standard implementations of LSB radix sort.We also apply these techniques to the problem of permuting an array of integers, and obtain gains of over 30% relative to the naive algorithm by using explicit block transfer.
Publisher
Association for Computing Machinery (ACM)
Subject
Theoretical Computer Science
Reference18 articles.
1. The input/output complexity of sorting and related problems
2. AHO A. V. HOPCROFT J. E. AND ULLMAN J. D. 1974. The Design and Analysis of Computer Algorithms. Addison-Wesley.]] AHO A. V. HOPCROFT J. E. AND ULLMAN J. D. 1974. The Design and Analysis of Computer Algorithms . Addison-Wesley.]]
3. CORMEN T. H. LEISERSON C. E. AND RIVEST R. L. 1990. Introduction to Algorithms. MIT Press.]] CORMEN T. H. LEISERSON C. E. AND RIVEST R. L. 1990. Introduction to Algorithms . MIT Press.]]
4. Sorting on Electronic Computer Systems
Cited by
16 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Scalable Text Index Construction;Lecture Notes in Computer Science;2022
2. Efficient String Sort with Multi-Character Encoding and Adaptive Sampling;Proceedings of the 2021 International Conference on Management of Data;2021-06-09
3. Analyzing Cache Misses;Encyclopedia of Algorithms;2016
4. Analyzing Cache Misses;Encyclopedia of Algorithms;2015
5. An experimental study of sorting and branch prediction;ACM Journal of Experimental Algorithmics;2008-06