B-slack Trees: Space Efficient B-Trees

@inproceedings{Brown2014BslackTS,
  title={B-slack Trees: Space Efficient B-Trees},
  author={Trevor Alexander Brown},
  booktitle={SWAT},
  year={2014}
}
  • T. Brown
  • Published in SWAT 2 July 2014
  • Computer Science
B-slack trees a subclass of B-trees that have substantially better worst-case space complexity, are introduced. They store n keys in height O(log b n), where b is the maximum node degree. Updates can be performed in \(O(\log_{\frac b 2} n)\) amortized time. A relaxed balance version, which is well suited for concurrent implementation, is also presented. 

On Optimal Balance in B-Trees: What Does It Cost to Stay in Perfect Shape?

TLDR
A lower bound is proved on the cost of maintaining optimal height ceil[log_B(n)], which shows that this cost must increase from Omega(1/B) to Omega(n/ B) rebalancing per update as n grows from one power of B to the next.

A specialized B-tree for concurrent datalog evaluation

TLDR
A specialized B-tree data structure for an open-source Datalog compiler written in C++ that features an optimistic locking protocol for scalability, is highly tuned, and uses the notion of "hints" to re-use the results of previously performed tree traversals to exploit data ordering properties exhibited by Datalogs evaluation.

Analysis and Evaluation of Non-Blocking Interpolation Search Trees

TLDR
The recently proposed implementation of the first non-blocking concurrent interpolation search tree (C-IST) data structure is summarized, and it is shown that the C-IST has the following properties: correct and linearizable, wait-free, and lock-free.

Non-blocking interpolation search trees with doubly-logarithmic running time

TLDR
The first non-blocking implementation of the classic interpolation search tree (IST) data structure is proposed, and the results are surprisingly robust to distributional skew, which suggests that the data structure can be a promising alternative to classic concurrent search structures.

Occualizer: Optimistic Concurrent Search Trees From Sequential Code

TLDR
Evaluation on a 28-core machine shows that Occualizer’s trees outperform prior mechanically-crafted trees on non-read-only workloads and are comparable (within 4%) on read- only workloads.

References

SHOWING 1-10 OF 13 REFERENCES

P-trees: storage efficient multiway trees

A new variation of high order multiway tree structures, the P-tree is presented. P-trees have average access costs that are significantly better than those of B-trees and are no worse (and often

Compact B-trees

TLDR
An in-place compactification algorithm is presented which operates in linear time in the size of the file and can be as much as a factor of 2.5 more space-efficient than visit-optimal B-trees.

Performance of B+-Trees with Partial Expansions

The authors mathematically analyze the behavior of B/sup +/-trees with partial expansions file structure under random insertions, focusing on the expected storage utilization and the expected cost of

An empirical comparison of B-trees, compact B-trees and multiway trees

TLDR
This paper examines general B-trees empirically and compares them with a less restrictive structure, the general multiway tree, and a more restrictive structure and indicates their relative utility for large and small data sets.

Storage utilization in B*-trees with a generalized overflow technique

TLDR
Using iterative models it is shown that for large trees of high order storage utilization converges to m · ln((m}+1)/m).

Relaxed Balance through Standard Rotations

TLDR
It is proved that even though the rebalancing operations are uncoupled from updates, their total number is bounded by O(M log(M+N), where M is the number of updates to an AVL tree of initial size N, and relaxed balancing of AVL trees comes at no extra cost asymptotically.

Height-balanced trees of order (β, γ, δ)

TLDR
It is proved that the insertion can be done in time O(β + log N), where N is the number of nodes in the tree, and the deletion can also be accomplished without reconstructing the entire tree.

Dense multiway trees

B-trees of order <italic>m</italic> are a “balanced” class of <italic>m</italic>-ary trees, which have applications in the areas of file organization. In fact, they have been the only choice when

Putting your data structure on a diet

TLDR
Several data-structural transformations are described that can be used to transform D into another data structure 0 that supports the same operations as D, has considerably smaller memory overhead thanD, and performs the supported operations by a small constant factor or a small additive term slower than D, depending on the data structure and operation in question.

Organization and maintenance of large ordered indices

TLDR
The index organization described allows retrieval, insertion, and deletion of keys in time proportional to logk I where I is the size of the index and k is a device dependent natural number such that the performance of the scheme becomes near optimal.