|Date||July 1 , 2005|
|Speaker||Charles Leiserson (MIT CSAIL)|
|Topic:||Cache Oblivious Algorithms|
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.
This talk represents joint work with Matteo Frigo, Harald Prokop, and Sridhar Ramachandran.