Results 1  10
of
12
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 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...
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...
A SpeculationFriendly Binary Search Tree
"... We introduce the first binary search tree algorithm designed for speculative executions. Prior to this work, tree structures were mainly designed for their pessimistic (nonspeculative) accesses to have a bounded complexity. Researchers tried to evaluate transactional memory using such tree structur ..."
Abstract

Cited by 11 (3 self)
 Add to MetaCart
(Show Context)
We introduce the first binary search tree algorithm designed for speculative executions. Prior to this work, tree structures were mainly designed for their pessimistic (nonspeculative) accesses to have a bounded complexity. Researchers tried to evaluate transactional memory using such tree structures whose prominent example is the redblack tree library developed by Oracle Labs that is part of multiple benchmark distributions. Although wellengineered, such structures remain badly suited for speculative accesses, whose step complexity might raise dramatically with contention. We show that our speculationfriendly tree outperforms the existing transactionbased version of the AVL and the redblack trees. Its key novelty stems from the decoupling of update operations: they are split into one transaction that modifies the abstraction state and multiple ones that restructure its tree implementation in the background. In particular, the speculationfriendly tree is shown correct, reusable and it speeds up a transactionbased travel reservation application by up to 3.5×.
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 11 (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 redblack 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 redblack 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 worstcase 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...
Amortized Constant Relaxed Rebalancing Using Standard Rotations
 Acta Informatica
, 1998
"... The idea of relaxed balance is to uncouple the rebalancing in search trees from the updating in order to speed up request processing in mainmemory databases during bursts of updates. This paper contains the first proof that amortized constant time rebalancing can be obtained in a relaxed binary sea ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
(Show Context)
The idea of relaxed balance is to uncouple the rebalancing in search trees from the updating in order to speed up request processing in mainmemory databases during bursts of updates. This paper contains the first proof that amortized constant time rebalancing can be obtained in a relaxed binary search tree using only standard single and double rotations. 1 Introduction The idea of relaxed balance is to uncouple the rebalancing in search trees from the updating in order to speed up request processing in mainmemory databases. The motivation is twofold: If search and update requests for a search tree come in bursts (possibly from several external sources), the search tree may occasionally not be able to process the requests as fast as it might be desirable. For this reason, it would be convenient to be able to "turn off" rebalancing for a short period of time in order to speed up the request processing. However, when the burst is over, the tree should be rebalanced again, while search...
SCHOOL OF GRADUATE AND POSTDOCTORAL STUDIES CERTIFICATE OF EXAMINATION Supervisors Examiners
, 2008
"... Structuring data via behavioural synthesis ..."
(Show Context)
A SpeculationFriendly Binary Search Tree*
"... Abstract: We introduce the first binary search tree algorithm designed for speculative executions. Prior to this work, tree structures were mainly designed for their pessimistic (nonspeculative) accesses to have a bounded complexity. Researchers tried to evaluate transactional memory using such tre ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract: We introduce the first binary search tree algorithm designed for speculative executions. Prior to this work, tree structures were mainly designed for their pessimistic (nonspeculative) accesses to have a bounded complexity. Researchers tried to evaluate transactional memory using such tree structures whose prominent example is the redblack tree library developed by Oracle Labs that is part of multiple benchmark distributions. Although wellengineered, such structures remain badly suited for speculative accesses, whose step complexity might raise dramatically with contention. We show that our speculationfriendly tree outperforms the existing transactionbased version of the AVL and the redblack trees. Its key novelty stems from the decoupling of update operations: they are split into one transaction that modifies the abstraction state and multiple ones that restructure its tree implementation in the background. In particular, the speculationfriendly tree is shown correct, reusable and it speeds up a transactionbased travel reservation application by up to 3.5×. Keywords: Transactional Memory, concurrent data structures, balanced binary trees Un arbre binaire de recherche dédie ́ aux accès transactionnels Résume ́ : Les transactions, qui utilisent une technique de synchronisation optimiste, simplifient la programmation des architectures multicœurs. En effet, un programmeur a seulement besoin d’insérer des opérations dans des transactions afin d’obtenir un programme concurrent correct. Les programmeurs ont donc tout naturellement utilise ́ cette encapsulation sur plusieurs structures de données originellement dédiées a ̀ la programmation pessimiste (non optimistes) pour évaluer les transactions. L’exemple le plus probant étant
High Level Efficiency in Database Languages
, 1993
"... this paper, however, we will take the opportunity to give a short explanation of how these results can be applied to the Factor language. When trying to minimize sorting, the most interesting place to start is with the unary queries (here, we are talking about unary queries without aggregation) . Th ..."
Abstract
 Add to MetaCart
this paper, however, we will take the opportunity to give a short explanation of how these results can be applied to the Factor language. When trying to minimize sorting, the most interesting place to start is with the unary queries (here, we are talking about unary queries without aggregation) . This is because in order to evaluate a unary query, there is not as such any reason to sort. The only reason to sort is to remove duplicates afterwards. So, if it can somehow be established that the unary query does not produce duplicates, then sorting can be avoided entirely, and we reduce the complexity of the query from O(n log n) to O(n), where n is the size of the relation. In [60], we have examined unary queries including operations on domain values in a quite general framework. In that paper, we use the notation, [A 1 : exp 1 , . . . , A n : exp n ] to specify a new relation with schema
Relaxed AVL Trees, MainMemory Databases, and Concurrency
, 1996
"... We consider the use of search trees to represent the dictionary aspects of a mainmemory database in a concurrent environment. Efficiency considerations require that the trees be balanced and that operations on a search tree should not block too large a part of the tree for too long a time. We pr ..."
Abstract
 Add to MetaCart
We consider the use of search trees to represent the dictionary aspects of a mainmemory database in a concurrent environment. Efficiency considerations require that the trees be balanced and that operations on a search tree should not block too large a part of the tree for too long a time. We propose a new, elegant solution for this problem based on the notion of relaxed AVL trees and the decoupling of updates and rebalancing. The main advantage of our solution is that the implementation of the dictionary operations in a concurrent environment is as simple as their implementation in a sequential environment, whereas previous concurrent solutions are more descriptively complex. x This research was supported by grants from the Natural Sciences and Engineering Research Council of Canada, from the Information Technology Research Centre of Ontario, and from the Research Grants Committee of Hong Kong, and partially by the Academy of Finland. The Hong Kong University of Science ...