Improving index performance through prefetching
SIGMOD '01 Proceedings of the 2001 ACM SIGMOD international conference on Management of data
External memory algorithms and data structures: dealing with massive data
ACM Computing Surveys (CSUR)
Cache-oblivious priority queue and graph algorithm applications
STOC '02 Proceedings of the thiry-fourth annual ACM symposium on Theory of computing
Computation regrouping: restructuring programs for temporal data cache locality
ICS '02 Proceedings of the 16th international conference on Supercomputing
A locality-preserving cache-oblivious dynamic dictionary
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
Cache oblivious search trees via binary trees of small height
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
Fractal prefetching B+-Trees: optimizing both cache and disk performance
Proceedings of the 2002 ACM SIGMOD international conference on Management of data
High-Performance Algorithm Engineering for Computational Phylogenetics
The Journal of Supercomputing - Special issue on computational issues in fluid dynamics optimization and simulation
The set-associative cache performance of search trees
SODA '03 Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms
High-Performance Algorithm Engineering for Computational Phylogenetics
ICCS '01 Proceedings of the International Conference on Computational Science-Part II
Exponential Structures for Efficient Cache-Oblivious Algorithms
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
Cache Oblivious Distribution Sweeping
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
Funnel Heap - A Cache Oblivious Priority Queue
ISAAC '02 Proceedings of the 13th International Symposium on Algorithms and Computation
The Level Ancestor Problem Simplified
LATIN '02 Proceedings of the 5th Latin American Symposium on Theoretical Informatics
Optimised Predecessor Data Structures for Internal Memory
WAE '01 Proceedings of the 5th International Workshop on Algorithm Engineering
External Memory Data Structures
ESA '01 Proceedings of the 9th Annual European Symposium on Algorithms
Efficient Tree Layout in a Multilevel Memory Hierarchy
ESA '02 Proceedings of the 10th Annual European Symposium on Algorithms
Cache-oblivious data structures for orthogonal range searching
Proceedings of the nineteenth annual symposium on Computational geometry
External memory data structures
Handbook of massive data sets
Handbook of massive data sets
On the limits of cache-obliviousness
Proceedings of the thirty-fifth annual ACM symposium on Theory of computing
A comparison of cache aware and cache oblivious static search trees using program instrumentation
Experimental algorithmics
Proximity Mergesort: optimal in-place sorting in the cache-oblivious model
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
Consistent and compact data management in distributed storage systems
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
Restructuring computations for temporal data cache locality
International Journal of Parallel Programming
The level ancestor problem simplified
Theoretical Computer Science - Latin American theorotical informatics
Implicit B-trees: a new data structure for the dictionary problem
Journal of Computer and System Sciences - Special issue on FOCS 2002
Deleting keys of B-trees in parallel
Journal of Parallel and Distributed Computing
A locality-preserving cache-oblivious dynamic dictionary
Journal of Algorithms
Cache-oblivious planar orthogonal range searching and counting
SCG '05 Proceedings of the twenty-first annual symposium on Computational geometry
SCG '05 Proceedings of the twenty-first annual symposium on Computational geometry
Space efficient dynamic orthogonal range reporting
SCG '05 Proceedings of the twenty-first annual symposium on Computational geometry
Concurrent cache-oblivious b-trees
Proceedings of the seventeenth annual ACM symposium on Parallelism in algorithms and architectures
Cache-conscious frequent pattern mining on a modern processor
VLDB '05 Proceedings of the 31st international conference on Very large data bases
A hierarchical model of data locality
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A characterization of data mining algorithms on a modern processor
DaMoN '05 Proceedings of the 1st international workshop on Data management on new hardware
Simple and semi-dynamic structures for cache-oblivious planar orthogonal range searching
Proceedings of the twenty-second annual symposium on Computational geometry
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
Cache-conscious frequent pattern mining on modern and emerging processors
The VLDB Journal — The International Journal on Very Large Data Bases
Cache-oblivious nested-loop joins
CIKM '06 Proceedings of the 15th ACM international conference on Information and knowledge management
Engineering a cache-oblivious sorting algorithm
Journal of Experimental Algorithmics (JEA)
The memory behavior of cache oblivious stencil computations
The Journal of Supercomputing
Cache-oblivious streaming B-trees
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures
HAT-trie: a cache-conscious trie-based data structure for strings
ACSC '07 Proceedings of the thirtieth Australasian conference on Computer science - Volume 62
Information Processing Letters
ESA'06 Proceedings of the 14th conference on Annual European Symposium - Volume 14
Information Processing Letters
An adaptive packed-memory array
ACM Transactions on Database Systems (TODS)
A general framework for improving query processing performance on multi-level memory hierarchies
DaMoN '07 Proceedings of the 3rd international workshop on Data management on new hardware
Cache-oblivious databases: Limitations and opportunities
ACM Transactions on Database Systems (TODS)
External Memory Algorithms for String Problems
Fundamenta Informaticae - Workshop on Combinatorial Algorithms
Towards efficient main-memory use for optimum tree index update
Proceedings of the VLDB Endowment
B-tries for disk-based string management
The VLDB Journal — The International Journal on Very Large Data Bases
Multiprocessor System-on-Chip designs with active memory processors for higher memory efficiency
Proceedings of the 46th Annual Design Automation Conference
Evaluating multicore algorithms on the unified memory model
Scientific Programming - Software Development for Multi-core Computing Systems
Comparing integer data structures for 32- and 64-bit keys
Journal of Experimental Algorithmics (JEA)
Optimal cache-oblivious implicit dictionaries
ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming
I/O-efficient map overlay and point location in low-density subdivisions
ISAAC'07 Proceedings of the 18th international conference on Algorithms and computation
Engineering scalable, cache and space efficient tries for strings
The VLDB Journal — The International Journal on Very Large Data Bases
Algorithm engineering: bridging the gap between algorithm theory and practice
Algorithm engineering: bridging the gap between algorithm theory and practice
Redesigning the string hash table, burst trie, and BST to exploit cache
Journal of Experimental Algorithmics (JEA)
Using evolving storage structures for data storage
Proceedings of the 8th International Conference on Frontiers of Information Technology
ACM Transactions on Algorithms (TALG)
ECOS: evolutionary column-oriented storage
BNCOD'11 Proceedings of the 28th British national conference on Advances in databases
Optimal in-place sorting of vectors and records
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
Cache-oblivious comparison-based algorithms on multisets
ESA'05 Proceedings of the 13th annual European conference on Algorithms
Cache-conscious scheduling of streaming applications
Proceedings of the twenty-fourth annual ACM symposium on Parallelism in algorithms and architectures
External Memory Algorithms for String Problems
Fundamenta Informaticae - Workshop on Combinatorial Algorithms
Cache-oblivious index for approximate string matching
CPM'07 Proceedings of the 18th annual conference on Combinatorial Pattern Matching
Techniques for designing efficient parallel graph algorithms for SMPs and multicore processors
ISPA'07 Proceedings of the 5th international conference on Parallel and Distributed Processing and Applications
Cache-Oblivious dictionaries and multimaps with negligible failure probability
MedAlg'12 Proceedings of the First Mediterranean conference on Design and Analysis of Algorithms
Hi-index | 0.00 |
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).