Years and Authors of Summarized Original Work
2005; Bender, Demaine, Farach-Colton
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 [4], 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 such transfers it makes.
The cache-oblivious model, introduced by Frigo et al. [26], elegantly generalizes the...
Keywords
This is a preview of subscription content, log in via an institution.
Notes
- 1.
Research supported by Danish Council for Independent Research, Natural Sciences.
Recommended Reading
Afshani P, Zeh N (2011) Improved space bounds for cache-oblivious range reporting. In: Proceedings of the 22nd annual ACM-SIAM symposium on discrete algorithms, San Francisco, pp 1745–1758
Afshani P, Hamilton CH, Zeh N (2010) A general approach for cache-oblivious range reporting and approximate range counting. Comput Geom 43(8):700–712. Conference version appeared at SoCG 2009
Afshani P, Hamilton CH, Zeh N (2011) Cache-oblivious range reporting with optimal queries requires superlinear space. Discret Comput Geom 45(4):824–850. Conference version appeared at SoCG 2009
Aggarwal A, Vitter JS (1988) The input/output complexity of sorting and related problems. Commun ACM 31(9):1116–1127
Arge L, Vitter JS (2003) Optimal external memory interval management. SIAM J Comput 32(6):1488–1508
Arge L, Zeh N (2006) Simple and semi-dynamic structures for cache-oblivious planar orthogonal range searching. In: Proceedings of the 22nd ACM symposium on computational geometry, Sedona, pp 158–166
Arge L, de Berg M, Haverkort HJ (2005) Cache-oblivious R-trees. In: Proceedings of the 21st ACM symposium on computational geometry, Pisa, pp 170–179
Arge L, Brodal GS, Fagerberg R (2005) Cache-oblivious data structures. In: Mehta D, Sahni S (eds) Handbook on data structures and applications. CRC, Boca Raton
Arge L, Brodal GS, Fagerberg R, Laustsen M (2005) Cache-oblivious planar orthogonal range searching and counting. In: Proceedings of the 21st ACM symposium on computational geometry, Pisa, pp 160–169
Bender M, Cole R, Demaine E, Farach-Colton M (2002) Scanning and traversing: maintaining data for traversals in a memory hierarchy. In: Proceedings of the 10th annual European symposium on algorithms, Rome. LNCS, vol 2461, pp 139–151
Bender M, Cole R, Raman R (2002) Exponential structures for cache-oblivious algorithms. In: Proceedings of the 29th international colloquium on automata, languages, and programming, Málaga. LNCS, vol 2380, pp 195–207
Bender MA, Duan Z, Iacono J, Wu J (2004) A locality-preserving cache-oblivious dynamic dictionary. J Algorithms 53(2):115–136. Conference version appeared at SODA 2002
Bender MA, Demaine ED, Farach-Colton M (2005) Cache-oblivious B-trees. SIAM J Comput 35(2):341–358. Conference version appeared at FOCS 2000
Bender MA, Fineman JT, Gilbert S, Kuszmaul BC (2005) Concurrent cache-oblivious B-trees. In: Proceedings of the 17th annual ACM symposium on parallelism in algorithms and architectures, Las Vegas, pp 228–237
Bender MA, Farach-Colton M, Kuszmaul BC (2006) Cache-oblivious string B-trees. In: Proceedings of the 25th ACM SIGACT-SIGMOD-SIGART symposium on principles of database systems, Chicago, pp 233–242
Bender MA, Farach-Colton M, Fineman JT, Fogel YR, Kuszmaul BC, Nelson J (2007) Cache-oblivious streaming B-trees. In: Proceedings of the 19th annual ACM symposium on parallelism in algorithms and architectures, San Diego, pp 81–92
Bender MA, Brodal GS, Fagerberg R, Ge D, He S, Hu H, Iacono J, López-Ortiz A (2011) The cost of cache-oblivious searching. Algorithmica 61(2):463–505. Conference version appeared at FOCS 2003
Brodal GS, Fagerberg R (2006) Cache-oblivious string dictionaries. In: Proceedings of the 17th annual ACM-SIAM symposium on discrete algorithms, Miami, pp 581–590
Brodal GS, Kejlberg-Rasmussen C (2012) Cache-oblivious implicit predecessor dictionaries with the working set property. In: Proceedings of the 29th annual symposium on theoretical aspects of computer science, Paris. Leibniz international proceedings in informatics, vol 14, pp 112–123
Brodal GS, Fagerberg R, Jacob R (2002) Cache-oblivious search trees via binary trees of small height. In: Proceedings of the 13th annual ACM-SIAM symposium on discrete algorithms, San Francisco, pp 39–48
Brodal GS, Demaine ED, Fineman JT, Iacono J, Langerman S, Munro JI (2010) Cache-oblivious dynamic dictionaries with update/query tradeoffs. In: Proceedings of the 21st annual ACM-SIAM symposium on discrete algorithms, Austin, pp 1448–1456
Ferragina P (2013) On the weak prefix-search problem. Theor Comput Sci 483:75–84. Conference version appeared at CPM 2011
Ferragina P, Venturini R (2013) Compressed cache-oblivious string B-tree. In: Proceedings of the algorithms – ESA 2013 – 21st annual European symposium, Sophia Antipolis. LNCS, vol 8125, pp 469–480
Ferragina P, Grossi R, Gupta A, Shah R, Vitter JS (2008) On searching compressed string collections cache-obliviously. In: Proceedings of the 27th ACM SIGMOD-SIGACT-SIGART symposium on principles of database systems, Vancouver, pp 181–190
Franceschini G, Grossi R (2003) Optimal worst-case operations for implicit cache-oblivious search trees. In: Proceedings of the 8th international workshop on algorithms and data structures (WADS), Ottawa. LNCS, vol 2748, pp 114–126
Frigo M, Leiserson CE, Prokop H, Ramachandran S (2012) Cache-oblivious algorithms. ACM Trans Algorithms 8(1):4. Conference version appeared at FOCS 1999
Hon W, Lam TW, Shah R, Tam S, Vitter JS (2011) Cache-oblivious index for approximate string matching. Theor Comput Sci 412(29):3579–3588. Conference version appeared at CPM 2007
Itai A, Konheim AG, Rodeh M (1981) A sparse table implementation of priority queues. In: 8th International colloquium on Automata, languages and programming, Acre (Akko). LNCS, vol 115, pp 417–431
Ladner RE, Fortna R, Nguyen BH (2002) A comparison of cache aware and cache oblivious static search trees using program instrumentation. In: Experimental algorithmics. LNCS, Springer-Verlag, Berlin/Heidelberg, vol 2547, pp 78–92
Lindstrom P, Rajan D (2014) Optimal hierarchical layouts for cache-oblivious search trees. In: IEEE 30th international conference on data engineering, Chicago, pp 616–627
Pagh R, Wei Z, Yi K, Zhang Q (2014) Cache-oblivious hashing. Algorithmica 69(4):864–883. Conference version appeared at PODS 2010
Prokop H (1999) Cache-oblivious algorithms. Master’s thesis, Massachusetts Institute of Technology
Rahman N, Cole R, Raman R (2001) Optimised predecessor data structures for internal memory. In: Proceedings of the algorithm engineering, 5th international workshop (WAE), Aarhus. LNCS, vol 2141, pp 67–78
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer Science+Business Media New York
About this entry
Cite this entry
Fagerberg, R. (2015). Cache-Oblivious B-Tree. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-27848-8_61-2
Download citation
DOI: https://doi.org/10.1007/978-3-642-27848-8_61-2
Received:
Accepted:
Published:
Publisher Name: Springer, Berlin, Heidelberg
Online ISBN: 978-3-642-27848-8
eBook Packages: Springer Reference Computer SciencesReference Module Computer Science and Engineering