Abstract: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 ...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.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>Read More
Publication Year: 2002
Publication Date: 2002-11-19
Language: en
Type: article
Indexed In: ['crossref']
Access and Citation
Cited By Count: 16
AI Researcher Chatbot
Get quick answers to your questions about the article from our AI researcher chatbot