Local atomicity properties: modular concurrency control for abstract data types
- 1 April 1989
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 11 (2) , 249-282
- https://doi.org/10.1145/63264.63518
Abstract
Atomic actions (or transactions) are useful for coping with concurrency and failures. One way of ensuring atomicity of actions is to implement applications in terms ofatomic data types: abstract data types whose objects ensure serializability and recoverability of actions using them. Many atomic types can be implemented to provide high levels of concurrency by taking advantage of algebraic properties of the type's operations, for example, that certain operations commute. In this paper we analyze the level of concurrency permitted by an atomic type. We introduce several local constraints on individual objects that suffice to ensure global atomicity of actions; we call these constraintslocal atomicity properties. We present three local atomicity properties, each of which isoptimal: no strictly weaker local constraint on objects suffices to ensure global atomicity for actions. Thus, the local atomicity properties define precise limits on the amount of concurrency that can be permitted by an atomic type.Keywords
This publication has 25 references indexed in Scilit:
- Commutativity-based concurrency control for abstract data typesIEEE Transactions on Computers, 1988
- A report on the seventeenth international symposium for fault tolerant computing Pittsburgh, PAACM SIGDA Newsletter, 1987
- Specifications of distributed programsDistributed Computing, 1986
- Implementation of resilient, atomic data typesACM Transactions on Programming Languages and Systems, 1985
- Synchronizing shared abstract typesACM Transactions on Computer Systems, 1984
- On Concurrency Control by Multiple VersionsACM Transactions on Database Systems, 1984
- Multiversion concurrency control—theory and algorithmsACM Transactions on Database Systems, 1983
- Guardians and Actions: Linguistic Support for Robust, Distributed ProgramsACM Transactions on Programming Languages and Systems, 1983
- 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