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...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Recommended Reading
Aggarwal, A., Vitter, J.S.: The Input/Output complexity of sorting and related problems. Commun. ACM 31(9), 1116–1127 (1988)
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)
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)
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)
Arge, L., Vitter, J.S.: Optimal external memory interval management. SIAM J. Comput. 32(6), 1488–1508 (2003)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Prokop, H.: Cache‐oblivious algorithms. Master's thesis, Massachusetts Institute of Technology (1999)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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
DOI: https://doi.org/10.1007/978-0-387-30162-4_61
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-30770-1
Online ISBN: 978-0-387-30162-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering