Results 1  10
of
24
Efficient Rebalancing of Chromatic Search Trees
 Journal of Computer and System Sciences
, 1993
"... In PODS'91, Nurmi and SoisalonSoininen 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 21 (7 self)
 Add to MetaCart
In PODS'91, Nurmi and SoisalonSoininen 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...
Relaxed balanced redblack 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 14 (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 redblack 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
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 14 (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 multithreaded throughput over a range of contention levels and operation mixes.
BTrees with Relaxed Balance
 In Proceedings of the 9th International Parallel Processing Symposium
, 1993
"... Btrees with relaxed balance have been defined to facilitate fast updating on sharedmemory 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 Btrees with relaxed bal ..."
Abstract

Cited by 13 (6 self)
 Add to MetaCart
Btrees with relaxed balance have been defined to facilitate fast updating on sharedmemory 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 Btrees 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...
The Performance of Concurrent RedBlack 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 13 (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 redblack 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 redblack 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 redblack trees, and the relaxed redblack tree. Furthermore, we compare the relaxed balancing algorithms with the standard redblack tree, i.e. the strictly balanced redblack tree combined with the locking scheme of El...
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 mainmemory databases. Mainmemory search structures have gained new applications in large embedded systems, such as switching systems for mobile telephones.
Online Reorganization of Databases
, 2009
"... In practice, any database management system sometimes needs reorganization, that is, a change in some aspect of the logical and/or physical arrangement of a database. In traditional practice, many types of reorganization have required denying access to a database (taking the database offline) during ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
In practice, any database management system sometimes needs reorganization, that is, a change in some aspect of the logical and/or physical arrangement of a database. In traditional practice, many types of reorganization have required denying access to a database (taking the database offline) during reorganization. Taking a database offline can be unacceptable for a highly available (24hour) database, for example, a database serving electronic commerce or armed forces, or for a very large database. A solution is to reorganize online (concurrently with usage of the database, incrementally during users ’ activities, or interpretively). This article is a tutorial and survey on requirements, issues, and strategies for online reorganization. It analyzes the issues and then presents the strategies, which use the issues. The issues, most of which involve design tradeoffs, include use of partitions, the locus of control for the process that reorganizes (a background process or users ’ activities), reorganization by copying to newly allocated storage (as opposed to reorganizing in place), use of differential files, references to data that has moved, performance, and activation of reorganization. The article surveys online strategies in three categories of reorganization. The first category, maintenance, involves restoring the physical arrangement of data instances without changing the database definition. This category includes restoration of clustering, reorganization of an index, rebalancing of parallel or distributed data, garbage collection for persistent storage, and cleaning (reclamation of space) in a logstructured
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 8 (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.
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: selfbalancing 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 selfreorganization 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 selfreorganization 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, F69364 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 ...