Results 1  10
of
15
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...
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 14 (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...
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 12 (4 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...
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 7 (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.
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...
OnLine Processing In LargeScale Transaction Systems
, 1992
"... In this thesis, we provide techniques to adapt current database technology to account for the following trends that can be observed in database management system (DBMS) usage: 1. DBMSs are being increasingly used in applications, like computerized stock trading, that have very high transaction rates ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
In this thesis, we provide techniques to adapt current database technology to account for the following trends that can be observed in database management system (DBMS) usage: 1. DBMSs are being increasingly used in applications, like computerized stock trading, that have very high transaction rates. 2. Database sizes are growing rapidly, and future databases are expected to be several orders of magnitude larger than the largest databases in operation today. 3. Next generation DBMSs are expected to gravitate more and more towards what is referred to as 24(hour) \Theta 7(day) operation. In order to handle high transaction rates, future DBMSs have to use highly concurrent algorithms for managing oftenused auxiliary data structures like indices. To better understand the performance of concurrency control algorithms for index access, we first compare the performance of Btree concurrency control algorithms using a simulation model of a centralized DBMS. In our performance study, we look a...
A Highly Concurrent Priority Queue Based on the Blink Tree
 MR 1311488
, 1991
"... We present a highly concurrent priority queue algorithm based on the Blink tree, which is a B + tree in which every node has a pointer to its right sibling. The algorithm is built on the concurrent Blink tree algorithms proposed by Lehman and Yao [15] and Sagiv [19]. Since the priority queue is ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
We present a highly concurrent priority queue algorithm based on the Blink tree, which is a B + tree in which every node has a pointer to its right sibling. The algorithm is built on the concurrent Blink tree algorithms proposed by Lehman and Yao [15] and Sagiv [19]. Since the priority queue is based on highly concurrent search structure algorithms, a large number of insert operations can execute concurrently with little or no interference. We present two algorithms for executing the deletemin operation. The first algorithm executes deletemin operations serially, but we show that it can support a higher throughput that previous shared memory concurrent priority queue algorithms because most deletemin operations execute very quickly. The second deletemin algorithm uses the fetchandadd operation to allow several deletemin operations to execute concurrently, and can support a much higher throughput. 1 Introduction A priority queue handles two operations: insert and deletemin. The ...
Rollback Databases
 Northeastern University
, 1992
"... Rollback databases are multiversion databases that use transaction time to identify the versions of the data. Such databases support queries that request information "asof" some specific past time. This report describes most of the technical aspects of supporting rollback databases. It shows how to ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Rollback databases are multiversion databases that use transaction time to identify the versions of the data. Such databases support queries that request information "asof" some specific past time. This report describes most of the technical aspects of supporting rollback databases. It shows how to to do the timestamping itself, including how to cope with distributed systems. Using the TSBtree, we show how multiversion data can be efficiently indexed, efficient both in space and in query time. How one provides high concurrency while updating a TSBtree is described next. Finally, we show how one can use a rollback database as a backup source to provide media failure recovery. Keywords: rollback databases, multiversions, timestamping, concurrency, media recovery c flDigital Equipment Corporation and Betty Salzberg 1992. All rights reserved. 1 College of Computer Science, Northeastern University, Boston, MA. This work was partially supported by NSF grant IRI8815707 and IRI91028...