## Engineering a cache-oblivious sorting algorithm (2004)

### Cached

### Download Links

- [www.cs.au.dk]
- [www.cs.au.dk]
- [cs.au.dk]
- [www.siam.org]
- [www.daimi.au.dk]
- [www.cs.au.dk]
- [www.madalgo.au.dk]
- DBLP

### Other Repositories/Bibliography

Venue: | In Proc. 6th Workshop on Algorithm Engineering and Experiments |

Citations: | 25 - 1 self |

### BibTeX

@INPROCEEDINGS{Brodal04engineeringa,

author = {Gerth Stølting Brodal and Rolf Fagerberg Kristoffer Vinther},

title = {Engineering a cache-oblivious sorting algorithm},

booktitle = {In Proc. 6th Workshop on Algorithm Engineering and Experiments},

year = {2004}

}

### Years of Citing Articles

### OpenURL

### Abstract

The cache-oblivious model of computation is a two-level memory model with the assumption that the parameters of the model are unknown to the algorithms. A consequence of this assumption is that an algorithm efficient in the cache oblivious model is automatically efficient in a multi-level memory model. Since the introduction of the cache-oblivious model by Frigo et al. in 1999, a number of algorithms and data structures in the model has been proposed and analyzed. However, less attention has been given to whether the nice theoretical proporities of cache-oblivious algorithms carry over into practice. This paper is an algorithmic engineering study of cache-oblivious sorting. We investigate a number of implementation issues and parameters choices for the cache-oblivious sorting algorithm Lazy Funnelsort by empirical methods, and compare the final algorithm with Quicksort, the established standard for comparison based sorting, as well as with recent cache-aware proposals. The main result is a carefully implemented cache-oblivious sorting algorithm, which we compare to the best implementation of Quicksort we can find, and find that it competes very well for input residing in RAM, and outperforms Quicksort for input on disk. 1