TY - JOUR
T1 - Cache-oblivious B-trees
AU - Bender, Michael A.
AU - Demaine, Erik D.
AU - Farach-Colton, Martin
PY - 2000
Y1 - 2000
N2 - We present dynamic search-tree data structures that perform well in the setting of a hierarchical memory (including various levels of cache, disk, etc.), but do not depend on the number of memory levels, the block sizes and number of blocks at each level, or the relative speeds of memory access. In particular, between any pair of levels in the memory hierarchy, where transfers between the levels are done in blocks of size B, our data structures match the optimal search bound of Θ(logB N) memory transfers. This bound is also achieved by the classic B-tree data structure, but only when the block size B is known, which in practice requires careful tuning on each machine platform. One of our data structures supports insertions and deletions in Θ(logB N) amortized memory transfers, which matches the B-tree's worst-case bounds. We augment this structure to support scans optimally in Θ(N/B) memory transfers. In this second data structure insertions and deletions require Θ(logB N+log2 N/B) amortized memory transfers. Thus, we match the performance of the B-tree for B = Ω(log N log log N).
AB - We present dynamic search-tree data structures that perform well in the setting of a hierarchical memory (including various levels of cache, disk, etc.), but do not depend on the number of memory levels, the block sizes and number of blocks at each level, or the relative speeds of memory access. In particular, between any pair of levels in the memory hierarchy, where transfers between the levels are done in blocks of size B, our data structures match the optimal search bound of Θ(logB N) memory transfers. This bound is also achieved by the classic B-tree data structure, but only when the block size B is known, which in practice requires careful tuning on each machine platform. One of our data structures supports insertions and deletions in Θ(logB N) amortized memory transfers, which matches the B-tree's worst-case bounds. We augment this structure to support scans optimally in Θ(N/B) memory transfers. In this second data structure insertions and deletions require Θ(logB N+log2 N/B) amortized memory transfers. Thus, we match the performance of the B-tree for B = Ω(log N log log N).
UR - http://www.scopus.com/inward/record.url?scp=0034497787&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0034497787&partnerID=8YFLogxK
U2 - 10.1109/SFCS.2000.892128
DO - 10.1109/SFCS.2000.892128
M3 - Article
AN - SCOPUS:0034497787
SN - 0272-5428
SP - 399
EP - 409
JO - Annual Symposium on Foundations of Computer Science - Proceedings
JF - Annual Symposium on Foundations of Computer Science - Proceedings
ER -