Encyclopedia of Algorithms

2008 Edition
| Editors: Ming-Yang Kao

Cache-Oblivious Model

1999; Frigo, Leiserson, Prokop, Ramachandran
  • Rolf Fagerberg
Reference work entry
DOI: https://doi.org/10.1007/978-0-387-30162-4_62

Model Definition

The memory system of contemporary computers consists of a hierarchy of memory levels, with each level acting as a cache for the next; a typical hierarchy may consist of registers, level 1 cache, level 2 cache, level 3 cache, main memory, and disk (Fig. 1). One characteristic of the hierarchy is that the memory levels get larger and slower the further they get from the processor, with the access time increasing most dramatically between RAM memory and disk. Another characteristic is that data is moved between levels in blocks.     

Keywords

Memory Access Memory Hierarchy Cache Replacement Memory Transfer Page Table 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Agarwal, P.K., Arge, L., Danner, A., Holland‐Minkley, B.: Cache‐oblivious data structures for orthogonal range searching. In: Proc. 19th ACM Symposium on Computational Geometry, pp. 237–245. ACM, New York (2003)Google Scholar
  2. 2.
    Aggarwal, A., Vitter, J.S.: The Input/Output complexity of sorting and related problems. Commun. ACM 31(9), 1116–1127 (1988)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Arge, L.: External memory data structures. In: Abello, J., Pardalos, P.M., Resende, M.G.C. (eds.) Handbook of Massive Data Sets, pp. 313–358. Kluwer Academic Publishers, Boston (2002)Google Scholar
  4. 4.
    Arge, L., Bender, M.A., Demaine, E.D., Holland‐Minkley, B., Munro, J.I.: Cache‐oblivious priority queue and graph algorithm applications. In: Proc. 34th Annual ACM Symposium on Theory of Computing, pp. 268–276. ACM, New York (2002)Google Scholar
  5. 5.
    Arge, L., Brodal, G.S., Fagerberg, R.: Cache‐oblivious data structures. In: Mehta, D., Sahni, S. (eds.) Handbook on Data Structures and Applications. CRC Press, Boca Raton (2005)Google Scholar
  6. 6.
    Arge, L., Brodal, G.S., Fagerberg, R., Laustsen, M.: Cache‐oblivious planar orthogonal range searching and counting. In: Proc. 21st Annual ACM Symposium on Computational Geometry, pp. 160–169. ACM, New York (2005)Google Scholar
  7. 7.
    Arge, L., de Berg, M., Haverkort, H.J.: Cache‐oblivious R-trees. In: Symposium on Computational Geometry, pp. 170–179. ACM, New York (2005)Google Scholar
  8. 8.
    Arge, L., Zeh, N.: Simple and semi-dynamic structures for cache‐oblivious planar orthogonal range searching. In: Symposium on Computational Geometry, pp. 158–166. ACM, New York (2006)Google Scholar
  9. 9.
    Bender, M., Cole, R., Demaine, E., Farach‐Colton, M.: Scanning and traversing: Maintaining data for traversals in a memory hierarchy. In: Proc. 10th Annual European Symposium on Algorithms. LNCS, vol. 2461, pp. 139–151. Springer, Berlin (2002)Google Scholar
  10. 10.
    Bender, M., Cole, R., Raman, R.: Exponential structures for cache‐oblivious algorithms. In: Proc. 29th International Colloquium on Automata, Languages, and Programming. LNCS, vol. 2380, pp. 195–207. Springer, Berlin (2002)Google Scholar
  11. 11.
    Bender, M., Demaine, E., Farach‐Colton, M.: Efficient tree layout in a multilevel memory hierarchy. In: Proc. 10th Annual European Symposium on Algorithms. LNCS, vol. 2461, pp. 165–173. Springer, Berlin (2002). Full version at http://arxiv.org/abs/cs/0211010 Google Scholar
  12. 12.
    Bender, M.A., Brodal, G.S., Fagerberg, R., Ge, D., He, S., Hu, H., Iacono, J., López-Ortiz, A.: The cost of cache‐oblivious searching. In: Proc. 44th Annual IEEE Symposium on Foundations of Computer Science, pp. 271–282. IEEE Computer Society Press, Los Alamitos (2003)Google Scholar
  13. 13.
    Bender, M.A., Demaine, E.D., Farach‐Colton, M.: Cache‐oblivious B-trees. In: 41st Annual Symposium on Foundations of Computer Science, pp. 399–409. IEEE Computer Society Press, Los Alamitos (2000)CrossRefGoogle Scholar
  14. 14.
    Brodal, G.S.: Cache‐oblivious algorithms and data structures. In: Proc. 9th Scandinavian Workshop on Algorithm Theory. LNCS, vol. 3111, pp. 3–13. Springer, Berlin (2004)Google Scholar
  15. 15.
    Brodal, G.S., Fagerberg, R.: Cache oblivious distribution sweeping. In: Proc. 29th International Colloquium on Automata, Languages, and Programming. LNCS, vol. 2380, pp. 426–438. Springer, Berlin (2002)Google Scholar
  16. 16.
    Brodal, G.S., Fagerberg, R.: On the limits of cache‐obliviousness. In: Proc. 35th Annual ACM Symposium on Theory of Computing, pp. 307–315. ACM, New York (2003)Google Scholar
  17. 17.
    Brodal, G.S., Fagerberg, R., Meyer, U., Zeh, N.: Cache‐oblivious data structures and algorithms for undirected breadth-first search and shortest paths. In: Proc. 9th Scandinavian Workshop on Algorithm Theory. LNCS, vol. 3111, pp. 480–492. Springer, Berlin (2004)Google Scholar
  18. 18.
    Chowdhury, R.A., Ramachandran, V.: Cache‐oblivious shortest paths in graphs using buffer heap. In: Proc. 16th Annual ACM Symposium on Parallelism in Algorithms and Architectures. ACM, New York (2004)Google Scholar
  19. 19.
    Chowdhury, R.A., Ramachandran, V.: Cache‐oblivious dynamic programming. In: Proc. 17th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 591–600. ACM-SIAM, New York (2006)CrossRefGoogle Scholar
  20. 20.
    Demaine, E.D.: Cache‐oblivious algorithms and data structures. In: Proc. EFF summer school on massive data sets, LNCS. Springer, Berlin. To appear. Online version at http://theory.csail.mit.edu/edemaine/papers/BRICS2002/
  21. 21.
    Farzan, A., Ferragina, P., Franceschini, G., Munro, J.I.: Cache‐oblivious comparison-based algorithms on multisets. In: Proc. 13th Annual European Symposium on Algorithms. LNCS, vol. 3669, pp. 305–316. Springer, Berlin (2005)Google Scholar
  22. 22.
    Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache oblivious algorithms. In: 40th Annual IEEE Symposium on Foundations of Computer Science, pp. 285–298. IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
  23. 23.
    Jampala, H., Zeh, N.: Cache‐oblivious planar shortest paths. In: Proc. 32nd International Colloquium on Automata, Languages, and Programming. LNCS, vol. 3580, pp. 563–575. Springer, Berlin (2005)Google Scholar
  24. 24.
    Meyer, U., Sanders, P., Sibeyn, J.F. (eds.): Algorithms for Memory Hierarchies. LNCS, vol. 2625. Springer, Berlin (2003)Google Scholar
  25. 25.
    Prokop, H.: Cache‐oblivious algorithms. Master's thesis, Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science (1999)Google Scholar
  26. 26.
    Vitter, J.S.: External memory algorithms and data structures: Dealing with MASSIVE data. ACM Comput. Surv. 33(2), 209–271 (2001)CrossRefGoogle Scholar
  27. 27.
    Vitter, J.S.: Geometric and spatial data structures in external memory. In: Mehta, D., Sahni, S. (eds.) Handbook on Data Structures and Applications. CRC Press, Boca Raton (2005)Google Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  • Rolf Fagerberg
    • 1
  1. 1.Department of Mathematics and Computer ScienceUniversity of Southern DenmarkOdenseDenmark