Redondo Beach, California
Nov. 12, 2000 to Nov. 14, 2000
E.D. Demaine , Dept. of Comput. Sci., State Univ. of New York, Stony Brook, NY, USA
M. Farach-Colton , Dept. of Comput. Sci., State Univ. of New York, Stony Brook, NY, USA
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 /spl Theta/(log/sub 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 /spl Theta/(log/sub B/ N) amortized memory transfers, which matches the B-tree's worst-case bounds. We augment this structure to support scans optimally in /spl Theta/(N/B) memory transfers. In this second data structure insertions and deletions require /spl Theta/(log/sub B/ N+log/sup 2/N/B) amortized memory transfers. Thus, we match the performance of the B-tree for B=/spl Omega/(log N log log N).
tree data structures; tree searching; cache storage; computational complexity; cache-oblivious B-trees; dynamic search-tree data structures; hierarchical memory; memory hierarchy; optimal search bound; insertions; deletions; amortized memory transfers; worst-case bounds
E.D. Demaine, M. Farach-Colton, "Cache-oblivious B-trees", FOCS, 2000, 2013 IEEE 54th Annual Symposium on Foundations of Computer Science, 2013 IEEE 54th Annual Symposium on Foundations of Computer Science 2000, pp. 399, doi:10.1109/SFCS.2000.892128