Skip to main content

Cache-Oblivious B-Tree

2005; Bender, Demaine, Farach-Colton

  • Reference work entry
Encyclopedia of Algorithms
  • 362 Accesses

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 to...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 399.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Recommended Reading

  1. Aggarwal, A., Vitter, J.S.: The Input/Output complexity of sorting and related problems. Commun. ACM 31(9), 1116–1127 (1988)

    Article  MathSciNet  Google Scholar 

  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. 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. 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. Arge, L., Vitter, J.S.: Optimal external memory interval management. SIAM J. Comput. 32(6), 1488–1508 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  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. 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. 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. 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. 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)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  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. 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. 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. 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)

    Chapter  Google Scholar 

  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. 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. 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. 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)

    Chapter  Google Scholar 

  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. Prokop, H.: Cache‐oblivious algorithms. Master's thesis, Massachusetts Institute of Technology (1999)

    Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag

About this entry

Cite this entry

Fagerberg, R. (2008). Cache-Oblivious B-Tree. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-30162-4_61

Download citation

Publish with us

Policies and ethics