ACM Home Page
Please provide us with feedback. Feedback
Adapting Radix Sort to the Memory Hierarchy
Full text PdfPdf (447 KB),  PsPs (360 KB),  TarTar (707 KB)
Source Journal of Experimental Algorithmics (JEA) archive
Volume 6 ,  (2001) table of contents
Article No. 7  
Year of Publication: 2001
ISSN:1084-6654
Authors
Naila Rahman  King's College London
Rajeev Raman  King's College London
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 81,   Citation Count: 6
Additional Information:

appendices and supplements   abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/945394.945401
What is a DOI?

APPENDICES and SUPPLEMENTS
Tarp7-rahman.tar (61 KB),
The software suite accompanying the article; this is a Unix tar file, which includes the source code and the test files used in the article.


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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
4
 
5
 
6
GANNON, D. AND JALBY, W. 1987. The influence of memory hierarchy on algorithm organization: Programming FFTs on a vector multiprocessor. In L. H. JAMIESON, D. B. GANNON, AND R. J. DOUGLASS Eds., <i>The Characteristics of Parallel Algorithms</i>. MIT Press.
 
7
HANDY, J. 1998. <i>The Cache Memory Handbook</i>. Academic Press.
 
8
 
9
 
10
 
11
 
12
 
13
MORET, B. AND SHAPIRO, U. 1994. An empirical assessment of algorithms for constructing a minimum spanning tree. In <i>Computational Support for Discrete Mathematics</i>, Volume 15 of <i>DIMACS Monographs in Discrete Mathematics and Theoretical Computer Science</i>, pp. 99-117. American Mathematical Society.
 
14
 
15
16
 
17
Sun Microsystem. 1997. <i>UltraSPARC User's Manual</i>. Sun Microsystem.
18


Collaborative Colleagues:
Naila Rahman: colleagues
Rajeev Raman: colleagues