Concurrent cache-oblivious b-trees
Proceedings of the seventeenth annual ACM symposium on Parallelism in algorithms and architectures
An adaptive packed-memory array
Proceedings of the twenty-fifth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Cache-oblivious string B-trees
Proceedings of the twenty-fifth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
An adaptive packed-memory array
ACM Transactions on Database Systems (TODS)
The five-minute rule twenty years later, and how flash memory changes the rules
DaMoN '07 Proceedings of the 3rd international workshop on Data management on new hardware
Algorithms and data structures for external memory
Foundations and Trends® in Theoretical Computer Science
The Five-Minute Rule 20 Years Later: and How Flash Memory Changes the Rules
Queue - Enterprise Flash Storage
I/O Efficient Dynamic Data Structures for Longest Prefix Queries
SWAT '08 Proceedings of the 11th Scandinavian workshop on Algorithm Theory
Orthogonal range searching in linear and almost-linear space
Computational Geometry: Theory and Applications
The five-minute rule 20 years later (and how flash memory changes the rules)
Communications of the ACM - Barbara Liskov: ACM's A.M. Turing Award Winner
Computational Geometry: Theory and Applications
Maintaining arrays of contiguous objects
FCT'09 Proceedings of the 17th international conference on Fundamentals of computation theory
Proceedings of the twenty-ninth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
A general approach for cache-oblivious range reporting and approximate range counting
Computational Geometry: Theory and Applications
Cache-oblivious dynamic dictionaries with update/query tradeoffs
SODA '10 Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete Algorithms
Cache-oblivious index for approximate string matching
Theoretical Computer Science
Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures
An update-aware storage system for low-locality update-intensive workloads
ASPLOS XVII Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems
Foundations and Trends in Databases
Dynamic Defragmentation of Reconfigurable Devices
ACM Transactions on Reconfigurable Technology and Systems (TRETS)
Tight lower bounds for the online labeling problem
STOC '12 Proceedings of the forty-fourth annual ACM symposium on Theory of computing
On online labeling with polynomially many labels
ESA'12 Proceedings of the 20th Annual European conference on Algorithms
Adapting the b+-tree for asymmetric i/o
ADBIS'12 Proceedings of the 16th East European conference on Advances in Databases and Information Systems
On randomized online labeling with polynomially many labels
ICALP'13 Proceedings of the 40th international conference on Automata, Languages, and Programming - Volume Part I
Hi-index | 0.00 |
This paper presents two dynamic search trees attaining near-optimal performance on any hierarchical memory. The data structures are independent of the parameters of the memory hierarchy, e.g., the number of memory levels, the block-transfer size at each level, and the relative speeds of memory levels. The performance is analyzed in terms of the number of memory transfers between two memory levels with an arbitrary block-transfer size of B; this analysis can then be applied to every adjacent pair of levels in a multilevel memory hierarchy. Both search trees match the optimal search bound of $\Theta(1+\log_{B+1}N)$ memory transfers. This bound is also achieved by the classic B-tree data structure on a two-level memory hierarchy with a known block-transfer size B. The first search tree supports insertions and deletions in $\Theta(1+\log_{B+1}N)$ amortized memory transfers, which matches the B-tree's worst-case bounds. The second search tree supports scanning S consecutive elements optimally in $\Theta(1+S/B)$ memory transfers and supports insertions and deletions in $\Theta(1+\log_{B+1}N + \frac{\log^2N}{B})$ amortized memory transfers, matching the performance of the B-tree for $B = \Omega(\log N \log\log N)$.