Results 1 -
5 of
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 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.
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 5 (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. 1 A brief history of some balanced data structures and their algorithms Computer science deals with the management of data sets. A good example is the dictionary data type which is defined by the following operations: testing of a membership in the set, insertion of elements into the set and deletion of elements from the set. Dictionaries can be represented by lists, h...
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 main-memory 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 4 (3 self)
- Add to MetaCart
The idea of relaxed balance is to uncouple the rebalancing in search trees from the updating in order to speed up request processing in main-memory 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 main-memory databases. The motivation is two-fold: 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...
Relaxed Multi-Way Trees with Group Updates
- In Proceedings of the twentieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
, 2000
"... Data structures with relaxed balance dier from standard structures in that rebalancing can be delayed and interspersed with updates. This gives extra exibility in both sequential and parallel applications. We study the version of multi-way trees called (a; b)-trees (which includes B-trees) with ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Data structures with relaxed balance dier from standard structures in that rebalancing can be delayed and interspersed with updates. This gives extra exibility in both sequential and parallel applications. We study the version of multi-way trees called (a; b)-trees (which includes B-trees) with the operations insertion, deletion, and group insertion. The latter has applications in for instance document databases and WWW search engines. We prove that we obtain the optimal asymptotic rebalancing complexities of amortized constant time for insertion and deletion and amortized logarithmic time in the size of the group for group insertion. These results hold even for the relaxed version. Our results also demonstrate that a binary tree scheme with the same complexities can be designed. This is an improvement over the existing results. 1 Introduction We focus on the type of multi-way trees usually referred to as (a; b)-trees [8, 15], and in particular, we adopt the relaxed (a...
Concurrency control for b-trees with differential indices
- In Proceedings of the International Database Engineering and Applications Symposium
, 2000
"... kerttu ( at) cs.hut.fi We present an indexing system where a database index is divided into two parts: the main index located on disk and the differential index in the main memory. Both indices are implemented as B-trees. All updates performed by active transactions are written in the differential i ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
kerttu ( at) cs.hut.fi We present an indexing system where a database index is divided into two parts: the main index located on disk and the differential index in the main memory. Both indices are implemented as B-trees. All updates performed by active transactions are written in the differential index. Periodically, writes of committed transactions are transferred from differential index to the main index as a batch-update operation. Thus, updates falling into the same leaf of the tree can be performed simultaneously. In addition, the system offers a simple recovering scheme. After a system crash, no undo operations are needed and redo operations need only write to the main memory. 1

