Encyclopedia of Algorithms

2008 Edition
| Editors: Ming-Yang Kao

Cache-Oblivious B-Tree

2005; Bender, Demaine, Farach-Colton
  • Rolf Fagerberg
Reference work entry
DOI: https://doi.org/10.1007/978-0-387-30162-4_61

Keywords and Synonyms

Cache-oblivious search tree; Cache-oblivious dictionary        

Problem Definition

Computers contain a hierarchy of memory levels, with vastly differing access times. Hence, the time for a memory access depends strongly on what is the innermost level containing the data accessed. In analysis of algorithms, the standard RAM (or von Neumann) model cannot capture this effect, and external memory models were introduced to better model the situation. The most widely used of these models is the two-level I/O-model [1], also called the External Memory model or the Disk Access model. The I/O‐model approximates the memory hierarchy by modeling two levels, with the inner level having size M, the outer level having infinite size, and transfers between the levels taking place in blocks of B consecutive elements. The cost of an algorithm is the number of memory transfers it makes.

The cache‐oblivious model, introduced by Frigo et al. [18], elegantly generalizes the I/O-model...


Range Search Memory Hierarchy Cache Replacement Memory Transfer Consecutive Element 
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.
    Aggarwal, A., Vitter, J.S.: The Input/Output complexity of sorting and related problems. Commun. ACM 31(9), 1116–1127 (1988)MathSciNetCrossRefGoogle Scholar
  2. 2.
    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
  3. 3.
    Arge, L., Brodal, G.S., Fagerberg, R., Laustsen, M.: Cache‐oblivious planar orthogonal range searching and counting. In: Proc. 21st ACM Symposium on Computational Geometry, pp. 160–169. ACM, New York (2005)Google Scholar
  4. 4.
    Arge, L., de Berg, M., Haverkort, H.J.: Cache‐oblivious R‑trees. In: Proc. 21st ACM Symposium on Computational Geometry, pp. 170–179. ACM, New York (2005)Google Scholar
  5. 5.
    Arge, L., Vitter, J.S.: Optimal external memory interval management. SIAM J. Comput. 32(6), 1488–1508 (2003)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Arge, L., Zeh, N.: Simple and semi-dynamic structures for cache‐oblivious planar orthogonal range searching. In: Proc. 22nd ACM Symposium on Computational Geometry, pp. 158–166. ACM, New York (2006)Google Scholar
  7. 7.
    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
  8. 8.
    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
  9. 9.
    Bender, M.A., Brodal, G.S., Fagerberg, R., Ge, D., He, S., Hu, H., Iacono, J., Lopez-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
  10. 10.
    Bender, M.A., Demaine, E.D., Farach‐Colton, M.: Cache‐oblivious B‑trees. SIAM J. Comput. 35(2), 341–358 (2005). Conference version appeared at FOCS (2000)MathSciNetzbMATHCrossRefGoogle Scholar
  11. 11.
    Bender, M.A., Duan, Z., Iacono, J., Wu, J.: A locality‐preserving cache‐oblivious dynamic dictionary. J. Algorithms 53(2), 115–136 (2004). Conference version appeared at SODA (2002)MathSciNetzbMATHCrossRefGoogle Scholar
  12. 12.
    Bender, M.A., Farach‐Colton, M., Fineman, J.T., Fogel, Y.R., Kuszmaul, B.C., Nelson, J.: Cache‐oblivious streaming B‑trees. In: Proc. 19th Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 81–92. ACM, New York (2007)Google Scholar
  13. 13.
    Bender, M.A., Farach‐Colton, M., Kuszmaul, B.C.: Cache‐oblivious string B‑trees. In: Proc. 25th ACM SIGACT‐SIGMOD‐SIGART Symposium on Principles of Database Systems, pp. 233–242. ACM, New York (2006)Google Scholar
  14. 14.
    Bender, M.A., Fineman, J.T., Gilbert, S., Kuszmaul, B.C.: Concurrent cache‐oblivious B‑trees. In: Proc. 17th Annual ACM Symposium on Parallel Algorithms, pp. 228–237. ACM, New York (2005)Google Scholar
  15. 15.
    Brodal, G.S., Fagerberg, R.: Cache‐oblivious string dictionaries. In: SODA: ACM-SIAM Symposium on Discrete Algorithms, pp. 581–590. ACM Press, New York (2006)CrossRefGoogle Scholar
  16. 16.
    Brodal, G.S., Fagerberg, R., Jacob, R.: Cache‐oblivious search trees via binary trees of small height. In: Proc. 13th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 39–48 ACM, New York (2002)Google Scholar
  17. 17.
    Franceschini, G., Grossi, R.: Optimal worst-case operations for implicit cache‐oblivious search trees. In: Proc. Algorithms and Data Structures, 8th International Workshop, WADS. LNCS, vol. 2748, pp. 114–126. Springer, Berlin (2003)Google Scholar
  18. 18.
    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
  19. 19.
    Itai, A., Konheim, A.G., Rodeh, M.: A sparse table implementation of priority queues. In: Automata, Languages and Programming, 8th Colloquium. LNCS, vol. 115, pp. 417–431. Springer, Berlin (1981)CrossRefGoogle Scholar
  20. 20.
    Ladner, R.E., Fortna, R., B.-Nguyen, H.: A comparison of cache aware and cache oblivious static search trees using program instrumentation. In: Experimental Algorithmics. LNCS, vol. 2547, pp. 78–92. Springer, Berlin (2000)Google Scholar
  21. 21.
    Prokop, H.: Cache‐oblivious algorithms. Master's thesis, Massachusetts Institute of Technology (1999)Google Scholar
  22. 22.
    Rahman, N., Cole, R., Raman, R.: Optimised predecessor data structures for internal memory. In: Proc. Algorithm Engineering, 5th International Workshop, WAE. LNCS, vol. 2141, pp. 67–78. Springer, Berlin (2001)Google Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

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