Results 1  10
of
12
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 15 (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
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.
Concurrent Rebalancing on HyperRedBlack Trees
 In Proceedings of the 17th International Conference of the Chilean Computer Science Society
, 1997
"... The HyperRedBlack trees are a relaxed version of RedBlack trees accepting high degree of concurrency. In the RedBlack trees consecutive red nodes are forbidden. This restriction has been withdrawn in the Chromatic trees. They have been introduced by O. Nurmi and E. SoisalonSoininen to work in a c ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
The HyperRedBlack trees are a relaxed version of RedBlack trees accepting high degree of concurrency. In the RedBlack trees consecutive red nodes are forbidden. This restriction has been withdrawn in the Chromatic trees. They have been introduced by O. Nurmi and E. SoisalonSoininen to work in a concurrent environment. A Chromatic tree can have big clusters of red nodes surrounded by black nodes. Nevertheless, concurrent rebalancing of Chromatic trees into RedBlack trees has a serious drawback: in big cluster of red nodes only the top node can be updated. Direct updating inside the cluster is forbidden. This approach gives us limited degree of concurrency. The HyperRedBlack trees has been designed to solve this problem. It is possible to update red nodes in the inside of a red cluster. In a HyperRedBlack tree nodes can have a multiplicity of colors; they can be red, black or hyperred. 1 Introduction RedBlack trees have been recognized as an important data structure [2]. They are...
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 ...
A Unified Approach to Concurrent and Parallel Algorithms on Balanced Data Structures
 IN IEEE, EDITOR, PROC. OF XVII INT. CONF. CHILEAN COMPUTER SOCIETY
, 1997
"... Concurrent and parallel algorithms are different. However, in the case of dictionaries, both kinds of algorithms share many common points. We present a unified approach emphasizing these points. It is based on a careful analysis of the sequential algorithm, extracting from it the more basic facts, e ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
Concurrent and parallel algorithms are different. However, in the case of dictionaries, both kinds of algorithms share many common points. We present a unified approach emphasizing these points. It is based on a careful analysis of the sequential algorithm, extracting from it the more basic facts, encapsulated later on as local rules. We apply the method to the insertion algorithms in AVL trees. All the concurrent and parallel insertion algorithms have two main phases. A percolation phase, moving the keys to be inserted down, and a rebalancing phase. Finally, some other algorithms and balanced structures are discussed.
HyperChromatic trees: a finegrained approach to distributed algorithms on RedBlack trees
, 1998
"... . We introduce a relaxed version of RedBlack trees. As concurrent algorithms on balanced search trees are nowadays based on local rules, we propose a set of finegrained local rules that take more advantage of concurrency than previous approaches. Based on them we design a rebalancing concurrent alg ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
. We introduce a relaxed version of RedBlack trees. As concurrent algorithms on balanced search trees are nowadays based on local rules, we propose a set of finegrained local rules that take more advantage of concurrency than previous approaches. Based on them we design a rebalancing concurrent algorithm and prove its correctness. Finally we sketch how to complete this algorithm to include concurrent insertions and deletions. Keywords: Concurrent algorithms, RedBlack trees, Concurrent rebalancing, Safety and liveness proofs, Local rules. 1 Motivation RedBlack trees are balanced search trees that have been recognized as an important data structure to deal with Dictionaries and Data Bases [CLR90]. Our aim is to deal with RedBlack trees in a concurrent environment. In this section we survey the previous approaches to this problem and outline our contributions. In a concurrent approach, algorithms are designed for a sharedmemory asynchronous parallel architecture. The first ones were d...
Massively Parallel and Distributed Dictionaries on AVL and Brother Trees
 In Parallel and Distributed Computing Systems
, 1996
"... We present a set of local rules to deal with distributed dictionaries, having as a main advantage their possible scheduling in a highly synchronized way to get massively parallel dictionaries on AVLs. Recall that, up to now trees used in massively parallel dictionaries needed to have all the leaves ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
We present a set of local rules to deal with distributed dictionaries, having as a main advantage their possible scheduling in a highly synchronized way to get massively parallel dictionaries on AVLs. Recall that, up to now trees used in massively parallel dictionaries needed to have all the leaves at the same depth, such as 23 trees. Therefore, it was possible (in insertions and deletions) to reconstruct the tree bottomup in a very regular fashion, as a pipeline of straight plane weaves moving up. On AVL trees the situation looks different because leaves can have different depth, therefore any weave in a pipeline is highly irregular. To solve this problem we define virtual plane waves allowing us to develop an EREW dictionary for k keys with k processors and time O(log n+ log k). Later on we generalize the sequential algorithms on brother trees presented by T. Ottmann and D. Wood in the same way. 1 AVL Trees They are a basic data structure [1, 5]. However it left open how to desi...
Skip trees, an alternative data structure to Skip lists in a concurrent approach
, 1997
"... We present a new type of search trees, called Skip trees, which are a generalization of Skip lists. To be precise, there is a onetoone mapping between the two data types which commutes with the sequential update algorithms. A Skip list is a data structure used to manage data bases which stores val ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We present a new type of search trees, called Skip trees, which are a generalization of Skip lists. To be precise, there is a onetoone mapping between the two data types which commutes with the sequential update algorithms. A Skip list is a data structure used to manage data bases which stores values in a sorted way and in which it is insured that the form of the Skip list is independent of the order of updates by using randomization techniques. Skip trees inherit all the properties of Skip lists, including the time bounds of sequential algorithms. The algorithmic improvement of the Skip tree type is that a concurrent algorithm on the fly approach can be designed. Among other advantages, this algorithm is more compressive than the one designed by Pugh for Skip lists and accepts a higher degree of concurrence because it is based on a set of local updates. From a practical point of view, although the Skip list should be in the main memory, Skip trees can be registered into a secondary...