Cache-oblivious B-trees

被引:72
作者
Bender, MA [1 ]
Demaine, ED [1 ]
Farach-Colton, M [1 ]
机构
[1] SUNY Stony Brook, Dept Comp Sci, Stony Brook, NY 11794 USA
来源
41ST ANNUAL SYMPOSIUM ON FOUNDATIONS OF COMPUTER SCIENCE, PROCEEDINGS | 2000年
关键词
D O I
10.1109/SFCS.2000.892128
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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 bevels 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 Theta (log(B) 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 Theta (log(B) N) amortized memory transfers, which matches the B-tree's worst-case bounds. We augment this structure to support scans optimally in Theta (N/B) memory transfers. In this second data structure insertions and deletions require Theta (log(B) N + log(2) N/B) amortized memory transfers. Thus, we match the performance of the B-tree for B = Omega (log N log log N).
引用
收藏
页码:399 / 409
页数:11
相关论文
共 42 条
  • [21] Itai A., 1981, LECTURE NOTES COMPUT, V115, P417
  • [22] LaMarca A, 1997, PROCEEDINGS OF THE EIGHTH ANNUAL ACM-SIAM SYMPOSIUM ON DISCRETE ALGORITHMS, P370
  • [23] MEHLHORN K, 1984, DATA STRUCTURES ALGO, V1, P198
  • [24] Nievergelt J., 1973, SIAM Journal on Computing, V2, P33, DOI 10.1137/0202005
  • [25] GREED SORT - OPTIMAL DETERMINISTIC SORTING ON PARALLEL DISKS
    NODINE, MH
    VITTER, JS
    [J]. JOURNAL OF THE ASSOCIATION FOR COMPUTING MACHINERY, 1995, 42 (04): : 919 - 933
  • [26] Overmars M.H., 1983, LNCS, V156
  • [27] PUGH W, 1989, LECT NOTES COMPUT SC, V382, P437
  • [28] RUEMMLER C, 1994, IEEE COMPUT, V27, P17
  • [29] Savage JE, 1995, LECT NOTES COMPUT SC, V959, P270, DOI 10.1007/BFb0030842
  • [30] Randomized search trees
    Seidel, R
    Aragon, CR
    [J]. ALGORITHMICA, 1996, 16 (4-5) : 464 - 497