Results 1 - 10
of
21
Efficient Rebalancing of Chromatic Search Trees
- Journal of Computer and System Sciences
, 1993
"... In PODS'91, Nurmi and Soisalon-Soininen presented a new type of binary search tree for databases, which they call a chromatic tree. The aim is to improve runtime performance by allowing a greater degree of concurrency, which, in turn, is obtained by uncoupling updating from rebalancing. This also al ..."
Abstract
-
Cited by 20 (7 self)
- Add to MetaCart
In PODS'91, Nurmi and Soisalon-Soininen presented a new type of binary search tree for databases, which they call a chromatic tree. The aim is to improve runtime performance by allowing a greater degree of concurrency, which, in turn, is obtained by uncoupling updating from rebalancing. This also allows rebalancing to be postponed completely or partially until after peak working hours. The advantages of the proposal...
B-Trees with Relaxed Balance
- In Proceedings of the 9th International Parallel Processing Symposium
, 1993
"... B-trees with relaxed balance have been defined to facilitate fast 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 bal ..."
Abstract
-
Cited by 13 (6 self)
- Add to MetaCart
B-trees with relaxed balance have been defined to facilitate fast 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 blog a (N=2)c + 1 rebalancing operations, where a is the degree of the Btree, and N is the bound on 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 operat...
Relaxed Balance through Standard Rotations
- In Fifth International Workshop on Algorithms and Data Structures
, 1997
"... We consider binary search trees, where rebalancing transformations need not be connected with updates but may be delayed. For standard AVL tree rebalancing, we prove 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 ..."
Abstract
-
Cited by 12 (4 self)
- Add to MetaCart
We consider binary search trees, where rebalancing transformations need not be connected with updates but may be delayed. For standard AVL tree rebalancing, we prove 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. Hence, relaxed balancing of AVL trees comes at no extra cost asymptotically. Furthermore, our scheme differs from most other relaxed balancing schemes in an important aspect: No rebalancing transformation can be done in the wrong direction, i.e., no performed rotation can make the tree less balanced. Moreover, each performed rotation indeed corresponds to a real imbalance situation in the tree. Our results are important in designing efficient concurrency control strategies for main-memory databases. Main-memory search structures have gained new applications in large embedded systems, such as switching systems for mobile telephones.
Relaxed balanced red-black trees
- In Proc. 3rd Italian Conference on Algorithms and Complexity
, 1997
"... Abstract. Relaxed balancing means that, in a dictionary stored as a balanced tree, the necessary rebalancing after updates may be delayed. This is in contrast to strict balancing meaning that rebalancing is performed immediately after the update. Relaxed balancing is important for efficiency in high ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
Abstract. Relaxed balancing means that, in a dictionary stored as a balanced tree, the necessary rebalancing after updates may be delayed. This is in contrast to strict balancing meaning that rebalancing is performed immediately after the update. Relaxed balancing is important for efficiency in highly dynamic applications where updates can occur in bursts. The rebalancing tasks can be performed gradually after all urgent updates, allowing the concurrent use of the dictionary even though the underlying tree structure is not completely in balance. In this paper we propose a new scheme of how to make known rebalancing techniques relaxed in an efficient way. The idea is applied to the red-black trees, but can be applied to any class of balanced trees. The key idea is to accumulate insertions and deletions such that they can be settled in arbitrary order using the same rebalancing operations as for standard balanced search trees. As a result it can be shown that the number of needed rebalancing operations known from the strict balancing scheme carry over to relaxed balancing. 1
The Performance of Concurrent Red-Black Tree Algorithms
- Lecture Notes in Computer Science
, 1998
"... Relaxed balancing has become a commonly used concept in the design of concurrent search tree algorithms. The idea of relaxed balancing is to uncouple the rebalancing from the updating in order to speed up the update operations and to allow a high degree of concurrency. Many different relaxed bala ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Relaxed balancing has become a commonly used concept in the design of concurrent search tree algorithms. The idea of relaxed balancing is to uncouple the rebalancing from the updating in order to speed up the update operations and to allow a high degree of concurrency. Many different relaxed balancing algorithms have been proposed, especially for red-black trees and AVL trees, but their performance in concurrent environments is not yet well understood. This paper presents an experimental comparison of three relaxed balancing algorithms for red-black trees. Using the simulation of a multi processor environment we study the performance of chromatic trees, the algorithm that is got by applying the general method of how to make strict balancing schemes relaxed to red-black trees, and the relaxed redblack tree. Furthermore, we compare the relaxed balancing algorithms with the standard red-black tree, i.e. the strictly balanced red-black tree combined with the locking scheme of El...
A practical concurrent binary search tree
- in Proceedings of the 15th ACM SIGPLAN Symposium on Principals and Practice of Parallel Programming
, 2010
"... We propose a concurrent relaxed balance AVL tree algorithm that is fast, scales well, and tolerates contention. It is based on optimistic techniques adapted from software transactional memory, but takes advantage of specific knowledge of the the algorithm to reduce overheads and avoid unnecessary re ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
We propose a concurrent relaxed balance AVL tree algorithm that is fast, scales well, and tolerates contention. It is based on optimistic techniques adapted from software transactional memory, but takes advantage of specific knowledge of the the algorithm to reduce overheads and avoid unnecessary retries. We extend our algorithm with a fast linearizable clone operation, which can be used for consistent iteration of the tree. Experimental evidence shows that our algorithm outperforms a highly tuned concurrent skip list for many access patterns, with an average of 39 % higher singlethreaded throughput and 32 % higher multi-threaded throughput over a range of contention levels and operation mixes.
Relaxed Balancing Made Simple
, 1995
"... Relaxed balancing means that, in a dictionary stored as a balanced tree, the necessary rebalancing after updates may be delayed. This is in contrast to strict balancing meaning that rebalancing is performed immediately after the update. Relaxed balancing is important for efficiency in highly dyn ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Relaxed balancing means that, in a dictionary stored as a balanced tree, the necessary rebalancing after updates may be delayed. This is in contrast to strict balancing meaning that rebalancing is performed immediately after the update. Relaxed balancing is important for efficiency in highly dynamic applications where updates can occur in bursts. The rebalancing tasks can be performed gradually after all urgent updates, allowing the concurrent use of the dictionary even though the underlying tree structure is not completely in balance. The contribution of the present paper is that we introduce a new scheme for relaxed balancing, which is obtained by a simple generalization of strict balancing. Our approach implies a simple proof of the fact that the number of the needed rebalancing operations (to put the tree in balance) for relaxed balancing is the same as for strict balancing. 1 Introduction A dictionary is a scheme for storing a set of data such that the operations sea...
Concurrent AVL revisited: self-balancing distributed search trees
, 1995
"... We address the concurrent insertion and deletion of keys in binary almost balanced search trees (AVL trees). We show that this problem can be studied through the self-reorganization of distributed systems of processes controlled by local evolution rules in the line of the approach of Dijkstra and ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
We address the concurrent insertion and deletion of keys in binary almost balanced search trees (AVL trees). We show that this problem can be studied through the self-reorganization of distributed systems of processes controlled by local evolution rules in the line of the approach of Dijkstra and Scholten. This yields a simple and abstract presentation of the insertion and deletion mechanisms. In particular, we show that our approach encapsulates a number of previous attempts described in the literature. They can in fact be seen as ad hoc specializations of the nondeterministic evolution rules. This solves in a very general setting an old question raised by H.T. Kung and P.L. Lehman: where should rotations take place to rebalance arbitrary trees? LIP, ENS Lyon, 46 All'ee d'Italie, F-69364 Lyon Cedex 07, France. This work has been partly supported by the French CNRS Coordinated Research Program on Parallelism, Networks and Systems PRS and HCM under contract ERBCHGECT920009. y ...
Amortization Results for Chromatic Search Trees, with an Application to Priority Queues
, 1997
"... this paper, we prove that only an amortized constant amount of rebalancing is necessary after an update in a chromatic search tree. We also prove that the amount of rebalancing done at any particular level decreases exponentially, going from the leaves toward the root. These results imply that, in p ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
this paper, we prove that only an amortized constant amount of rebalancing is necessary after an update in a chromatic search tree. We also prove that the amount of rebalancing done at any particular level decreases exponentially, going from the leaves toward the root. These results imply that, in principle, a linear number of processes can access the tree simultaneously. We have included one interesting application of chromatic trees. Based on these trees, a priority queue with possibilities for a greater degree of parallelism than previous proposals can be implemented. ] 1997 Academic Press 1.
Chromatic Priority Queues
, 1994
"... We investigate the problem of implementing a priority queue to be used in a parallel environment, where asynchronous processes have access to a shared memory. Chromatic trees are a generalization of red-black trees appropriate for applications in such an environment, and it turns out that an appropr ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
We investigate the problem of implementing a priority queue to be used in a parallel environment, where asynchronous processes have access to a shared memory. Chromatic trees are a generalization of red-black trees appropriate for applications in such an environment, and it turns out that an appropriate priority queue can be obtained via minor modifications of chromatic trees. As opposed to earlier proposals, our deletemin operation is worst-case constant time, and insert is carried out as a fast search and constant time update, followed by an amortized constant number of rebalancing operations, which can be performed later by other processes, one at a time. If a general delete is desired, it can be implemented as a fast search and constant time update, followed by an amortized constant number of rebalancing operations, which again can be performed later by other processes, one at time. The amortization results here extend the results previously obtained for chromatic search trees. Sin...

