Optimistic concurrency control for abstract data types
- 1 April 1987
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGOPS Operating Systems Review
- Vol. 21 (2) , 33-44
- https://doi.org/10.1145/24601.24604
Abstract
A concurrency control technique is optimistic if it allows transactions to execute without synchronization, relying on commit-time validation to ensure serializability. This paper describes several new optimistic concurrency control techniques for objects in distributed systems, proves their correctness and optimality properties, and characterizes the circumstances under which each is likely to be useful. These techniques have the following novel aspects. First, unlike many methods that classify operations only as reads or writes, these techniques systematically exploit type-specific properties of objects to validate more interleavings. Necessary and sufficient validation conditions are derived directly from an object's data type specification. Second, these techniques are modular: they can be applied selectively on a per-object (or even per-operation) basis in conjunction with standard pessimistic techniques such as two-phase locking, permitting optimistic methods to be introduced exactly where they will be most effective. Third, when integrated with quorum-consensus replication, these techniques circumvent certain trade-offs between concurrency and availability imposed by comparable pessimistic techniques. Finally, the accuracy and efficiency of validation are further enhanced by some technical improvements: distributed validation is performed as a side-effect of the commit protocol, and validation takes into account the results of operations, accepting certain interleavings that would have produced delays in comparable pessimistic schemes.Keywords
This publication has 17 references indexed in Scilit:
- A quorum-consensus replication method for abstract data typesACM Transactions on Computer Systems, 1986
- Limitations of concurrency in transaction processingACM Transactions on Database Systems, 1985
- Observations on optimistic concurrency control schemesInformation Systems, 1984
- Implementing atomic actions on decentralized dataACM Transactions on Computer Systems, 1983
- Locking Primitives in a Database SystemJournal of the ACM, 1983
- Formal aspects of optimistic concurrency control in a multiple version database systemInformation Systems, 1983
- Optimistic versus pessimistic concurrency control mechanisms in database management systemsInformation Systems, 1982
- On optimistic methods for concurrency controlACM Transactions on Database Systems, 1981
- Time, clocks, and the ordering of events in a distributed systemCommunications of the ACM, 1978
- The notions of consistency and predicate locks in a database systemCommunications of the ACM, 1976