Apologizing versus asking permission: optimistic concurrency control for abstract data types
- 1 March 1990
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Database Systems
- Vol. 15 (1), 96-124
- https://doi.org/10.1145/77643.77647
Abstract
An optimistic concurrency control technique is one that allows transactions to execute without synchronization, relying on commit-time validation to ensure serializability. Several new optimistic concurrency control techniques for objects in decentralized distributed systems are described here, their correctness and optimality properties are proved, and the circumstances under which each is likely to be useful are characterized. 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 can be derived directly from an object's data type specification. These techniques are also 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. These techniques can be used to reduce the algorithmic complexity of achieving high levels of concurrency, since certain scheduling decisions that are NP-complete for pessimistic schedulers can be validated after the fact in time, independent of the level of concurrency. These techniques can also enhance the availability of replicated data, circumventing certain tradeoffs between concurrency and availability imposed by comparable pessimistic techniques.Keywords
This publication has 28 references indexed in Scilit:
- Local atomicity properties: modular concurrency control for abstract data typesACM Transactions on Programming Languages and Systems, 1989
- 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
- The notions of consistency and predicate locks in a database systemCommunications of the ACM, 1976