Abstract
Computers with multiple levels of caching have traditionally required techniques such as data blocking in order for algorithms to exploit the cache hierarchy effectively. These “cache-aware” algorithms must be properly tuned to achieve good performance using so-called “voodoo” parameters which depend on hardware properties, such as cache size and cache-line length.
Surprisingly, however, for a variety of problems — including matrix multiplication, FFT, and sorting — asymptotically optimal “cache-oblivious” algorithms do exist that contain no voodoo parameters. They perform an optimal amount of work and move data optimally among multiple levels of cache. Since they need not be tuned, cache-oblivious algorithms are more portable than traditional cache-aware algorithms.
We employ an “ideal-cache” model to analyze these algorithms. We prove that an optimal cache-oblivious algorithm designed for two levels of memory is also optimal across a multilevel cache hierarchy. We also show that the assumption of optimal replacement made by the ideal-cache model can be simulated efficiently by LRU replacement. We also provide some empirical results on the effectiveness of cache-oblivious algorithms in practice.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Leiserson, C.E. (2003). Cache-Oblivious Algorithms. In: Petreschi, R., Persiano, G., Silvestri, R. (eds) Algorithms and Complexity. CIAC 2003. Lecture Notes in Computer Science, vol 2653. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44849-7_5
Download citation
DOI: https://doi.org/10.1007/3-540-44849-7_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40176-6
Online ISBN: 978-3-540-44849-5
eBook Packages: Springer Book Archive