Results 1  10
of
24
Lazy Updates for Distributed Search Structures
 In SIGMOD
, 1993
"... Very large database systems require distributed storage, which means that they need distributed search structures for fast and efficient access to the data. In this paper, we present an approach to maintaining distributed data structures that uses lazy updates, which take advantage of the semantics ..."
Abstract

Cited by 34 (1 self)
 Add to MetaCart
Very large database systems require distributed storage, which means that they need distributed search structures for fast and efficient access to the data. In this paper, we present an approach to maintaining distributed data structures that uses lazy updates, which take advantage of the semantics of the search structure operations to allow for scalable and lowoverhead replication. Lazy updates can be used to design distributed search structures that support very high levels of concurrency. The alternatives to lazy update algorithms (vigorous updates) use synchronization to ensure consistency. Hence, lazy update algorithms are a distributed analogue of sharedmemory lockfree search structure algorithms. Since lazy updates avoid the use of synchronization, they are much easier to implement than vigorous update algorithms. We demonstrate the application of lazy updates to the dBtree, which is a distributed B + tree that replicates its interior nodes for highly parallel access. We d...
Concurrency and Recovery for Index Trees
 Cambridge Research Lab, Cambridge Ma
, 1991
"... Providing high concurrency in B + trees has been studied extensively. But few efforts have been documented for combining concurrency methods with a recovery scheme that preserves wellformed trees across system crashes. We describe an approach for this that works for a class of index trees that i ..."
Abstract

Cited by 16 (5 self)
 Add to MetaCart
Providing high concurrency in B + trees has been studied extensively. But few efforts have been documented for combining concurrency methods with a recovery scheme that preserves wellformed trees across system crashes. We describe an approach for this that works for a class of index trees that is a generalization of the B link tree. A major feature of our method is that it works with a range of different recovery methods. It achieves this by decomposing structure changes in an index tree into a sequence of atomic actions, each one leaving the tree wellformed and each working on a separate level of the tree. All atomic actions on levels of the tree above the leaf level are independent of database transactions, and so are of short duration. Keywords: concurrency, recovery, indexing, access methods, Btrees c flDigital Equipment Corporation and Betty Salzberg 1991. All rights reserved. 1 College of Computer Science, Northeastern University, Boston, MA. This work was partially s...
The Performance of Concurrent Data Structure Algorithms
 Transactions on Database Systems
, 1994
"... This thesis develops a validated model of concurrent data structure algorithm performance, concentrating on concurrent Btrees. The thesis first develops two analytical tools, which are explained in the next two paragraphs, for the analysis. Yao showed that the space utilization of a Btree built fr ..."
Abstract

Cited by 13 (9 self)
 Add to MetaCart
This thesis develops a validated model of concurrent data structure algorithm performance, concentrating on concurrent Btrees. The thesis first develops two analytical tools, which are explained in the next two paragraphs, for the analysis. Yao showed that the space utilization of a Btree built from random inserts is 69%. Assuming that nodes merge only when empty, we show that the utilization is 39% when the number of insert and delete operations is the same. However, if there are just 5% more inserts than deletes, then the utilization is at least 62%. In addition to the utilization, we calculate the probabilities of splitting and merging, important parameters for calculating concurrent Btree algorithm performance. We compare mergeatempty Btrees with mergeathalf Btrees. We conclude that mergeatempty Btrees have a slightly lower space utilization but a much lower restructuring rate than mergeathalf Btrees, making mergeatempty Btrees preferable for concurrent Btree algo...
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...
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.
The hB^Pitree: A Multiattribute Index Supporting Concurrency, Recovery and Node Consolidation
 THE VLDB JOURNAL
, 1997
"... We propose a new multiattribute index. Our approach combines the hBtree, a multiattribute index, and the \Pitree, an abstract index which offers efficient concurrency and recovery methods. We call the resulting method the hB \Pi tree. We describe several versions of the hB \Pi tree, each ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
We propose a new multiattribute index. Our approach combines the hBtree, a multiattribute index, and the \Pitree, an abstract index which offers efficient concurrency and recovery methods. We call the resulting method the hB \Pi tree. We describe several versions of the hB \Pi tree, each using a different node splitting and index term posting algorithm. We also describe a new node deletion algorithm. We have implemented all the versions of the hB \Pi tree. Our performance results show that even the version that offers no performance guarantees, actually performs very well, in terms of storage utilization, index size (fanout), exactmatch and range searching, under various data types and distributions. We have also shown that our index is fairly insensitive to increases in dimension. Thus, it is suitable for indexing highdimensional applications. This property and the fact that all our versions of the hB \Pi tree can use the \Pitree concurrency and recovery ...
Asynchronous Shared Memory Search Structures
 In Proc. 8th ACM Symp. on Parallel Algorithms and Architectures
, 1996
"... We study the problem of storing an ordered set on an asynchronous shared memory parallel computer. We examine the case where we want to efficiently perform successor (least upper bound) queries on the set members that are stored. We also examine the case where processors insert and delete members of ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
We study the problem of storing an ordered set on an asynchronous shared memory parallel computer. We examine the case where we want to efficiently perform successor (least upper bound) queries on the set members that are stored. We also examine the case where processors insert and delete members of the set. Due to asynchrony, we require processors to perform queries and to maintain the structure independently. Although several such structures have been proposed, the analysis of these structures has been very limited. We here use the recently proposed QRQW PRAM model to provide upper and lower bounds on the performance of such data structures. In the asynchronous QRQW PRAM, the problem of processors concurrently and independently searching a shared data structure is very similar to the problem of routing packets through a network. Using this as a guide, we introduce the SearchButterfly, a search structure that combines the efficient packet routing properties of the butterfly graph wit...
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...
Characterizing the performance of algorithms for lockfree objects
 Computers, IEEE Transactions on
, 1995
"... ..."
Replication Control in Distributed BTrees
, 1997
"... ... in a symbol table or file index. The behavior and performance of Btree algorithms are well understood for sequential processing and even concurrent processing on smallscale sharedmemory multiprocessors. Few algorithms, however, have been proposed or carefully studied for the implementation of ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
... in a symbol table or file index. The behavior and performance of Btree algorithms are well understood for sequential processing and even concurrent processing on smallscale sharedmemory multiprocessors. Few algorithms, however, have been proposed or carefully studied for the implementation of concurrent Btrees on networks of messagepassing multicomputers. The distribution of memory across the several processors of such networks creates a challenge for building an efficient Btree that does not exist when all memory is centralized  distributing the pieces of the Btree data structure. In this work we explore the use and control of replication of parts of a distributed data structure to create efficient distributed Btrees. Prior