Relaxed multi-way trees with group updates
PODS '01 Proceedings of the twentieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
A new method for updating and rebalancing tree-type main memory dictionaries
Nordic Journal of Computing
Complexity of Layered Binary Search Trees with Relaxed Balance
ICTCS '01 Proceedings of the 7th Italian Conference on Theoretical Computer Science
Deleting keys of B-trees in parallel
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
B-trees with relaxed balance have been defined to facilitate first updating on shared-memory asynchronous parallel architectures. To obtain this, rebalancing has been uncoupled from the updating such that extensive locking can be avoided in connection with updates. We analyze B-trees with relaxed balance, and prove that each update gives rise to at most [log/sub a/(N/2)]+1 rebalancing operations, where a is the degree of the B-tree, and N is the bound an its maximal size since it was last in balance. Assuming that the size of nodes are at least twice the degree, we prove that rebalancing can be performed in amortized constant time. So, in the long run, rebalancing is constant time on average, even if any particular update could give rise to logarithmic time rebalancing. We also prove that the amount of rebalancing done at any particular level decreases exponentially going from the leaves towards the root. This is important since the higher up in the tree a lock due to a rebalancing operation occurs, the larger a subtree which cannot be accessed by other processes for the duration of that lock. All of these results are in fact obtained for the more general (a, b)-trees, so we have results for both of the common B-tree versions as well as 2-3 trees and 2-3-4 trees.