Journal ArticleDOI
A locality-preserving cache-oblivious dynamic dictionary
Reads0
Chats0
TLDR
The data structure presented here is a simplification of the cache-oblivious B-tree of Bender, Demaine, and Farach-Colton and has memory performance optimized for all levels of the memory hierarchy even though it has no memory-hierarchy-specific parameterization.About:
This article is published in Journal of Algorithms.The article was published on 2004-11-01. It has received 93 citations till now. The article focuses on the topics: Data structure & Memory hierarchy.read more
Citations
More filters
Proceedings ArticleDOI
Cache-oblivious streaming B-trees
Michael A. Bender,Martin Farach-Colton,Jeremy T. Fineman,Yonatan R. Fogel,Bradley C. Kuszmaul,Jelani Nelson +5 more
TL;DR: A cache-aware version of the COLA, the lookahead array, which achieves the same bounds as Brodal and Fagerberg's (cache-aware) Bε-tree.
Proceedings ArticleDOI
Cache oblivious search trees via binary trees of small height
TL;DR: A version of cache oblivious search trees which is simpler than the previous proposal of Bender, Demaine and Farach-Colton and has the same complexity bounds is proposed, and can be implemented as just a single array of data elements without the use of pointers.
Patent
High-Performance Streaming Dictionary
Michael A. Bender,Martin Farach-Colton,Yonatan R. Fogel,Zardosht Kasheff,Bradley C. Kuszmaul,Vincenzo Liberatore,Barry Perlman,Richard F. Prohaska,David S. Wells +8 more
TL;DR: In this article, a high-performance dictionary data structure is defined for storing data in a disk storage system, which supports full transactional semantics, concurrent access from multiple transactions, and logging and recovery.
A New Data Structure for Representing Sorted Lists
Kurt Mehlhorn,Hartmut Noltemeier +1 more
TL;DR: In this article, the worst case cost of sequences of insertions and deletions in weak B-trees is analyzed, where each node has at least a and at most b sons where 2a ≤ b.
Proceedings ArticleDOI
Monotone minimal perfect hashing: searching a sorted table with O(1) accesses
TL;DR: This work considers the problem of monotone minimal perfect hashing, in which the bijection is required to preserve the lexicographical ordering of the keys, and shows how to compute the predecessor (in the sorted order of S) of an arbitrary element, using O(1) accesses in expectation and an index of O(n log w) bits.
References
More filters
Book ChapterDOI
Scanning and Traversing: Maintaining Data for Traversals in a Memory Hierarchy
TL;DR: This work explores the problem of maintaining a dynamic ordered set subject to insertions, deletions, and traversals of k consecutive elements on more realistic memory models: the cache-oblivious model, which applies to unknown and multi-level memory hierarchies, and sequential-access models, where sequential block transfers are less expensive than random block transfers.
Journal ArticleDOI
Good worst-case algorithms for inserting and deleting records in dense sequential files
TL;DR: An insertion-deletion algorithm which runs in a worst-case time approximately proportional to log2M divided by the page-size when the set of manipulated records has cardinality O(M).
Proceedings ArticleDOI
Maintaining dense sequential files in a dynamic environment (Extended Abstract)
TL;DR: An alternate approach is studied that shifts the records among adjacent pages rather than using overflow pointers when space is needed for inserting a record in a sequential file to achieve a worst-case record insertion-deletion complexity of O[(log2N)/(D-d)] page-accesses, in (d-D)-dense files.
Book ChapterDOI
Efficient Tree Layout in a Multilevel Memory Hierarchy
TL;DR: In this paper, the problem of minimizing the expected number of block transfers performed during a search operation, subject to a given probability distribution on the leaves, was considered and a simple greedy algorithm that is within an additive constant strictly less than 1 of optimal was proposed.
Proceedings ArticleDOI
Cache-oblivious data structures for orthogonal range searching
TL;DR: A dynamic linear-size data structure that answers d-dimensional queries in O((N/B) 1-1/d+T/B) memory transfers, where B is the block size of any two levels of a multilevel memory hierarchy.