The cache oblivious model is a simple and elegant model to design algorithms that perform well in hierarchical memory models
ubiquitous on current systems. This model was first formulated in [321] and has since been a topic of intense research. Analyzing
and designing algorithms and data structures in this model involves not only an asymptotic analysis of the number of steps
executed in terms of the input size, but also the movement of data optimally among the different levels of the memory hierarchy.
This chapter is aimed as an introduction to the “ideal-cache” model of [321] and techniques used to design cache oblivious
algorithms. The chapter also presents some experimental insights and results.
An updated version of the chapter can be found at the webpage http://www.compgeom.com/co-chap/ Part of this work was done while the author was visiting MPI Saarbrücken. The author is partially supported by NSF (CCR-9732220,
CCR-0098172) and by the grant from Sandia National Labs.