Optimistic concurrency control techniques allow atomic transactions (or actions for short) to execute without synchronization, relying on commit-time validation to ensure serializability. Previous work in this area has focussed on single-level actions. This thesis extends previous work on optimistic concurrency control to distributed systems with nested actions. The thesis presents two contrasting models for managing nested actions, which we call the fixed action model and the fixed object model. In the fixed action model, an action executes at only a single network node; if an action accesses an object whose storage is provided by another node, it brings a copy of the object to its node. In this model, caching copies of non-local objects can be used to improve performance by reducing the number of non-local object requests. We show that optimistic concurrency control has an advantage over pessimistic concurrency control with respect to this object caching. In the fixed object model, actions can span network nodes: an action at one node can start a nested action at another node. However, an object''s state is never moved from the node providing its storage. While there is a clear reason for using optimistic concurrency control for systems following the fixed action model, there is no clear reason for choosing either optimism or pessimism for systems following the fixed object model; however, the development of this model is an important step in the study of hybrid models.
Cited By
- Bernstein P, Das S, Ding B and Pilman M Optimizing Optimistic Concurrency Control for Tree-Structured, Log-Structured Databases Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, (1295-1309)
- Adya A, Gruber R, Liskov B and Maheshwari U (1995). Efficient optimistic concurrency control using loosely synchronized clocks, ACM SIGMOD Record, 24:2, (23-34), Online publication date: 22-May-1995.
- Adya A, Gruber R, Liskov B and Maheshwari U Efficient optimistic concurrency control using loosely synchronized clocks Proceedings of the 1995 ACM SIGMOD international conference on Management of data, (23-34)
- Brachman B and Neufeld G Weakly consistent transactions in ROSS Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: distributed computing - Volume 2, (888-894)
- Neufeld G and Brachman B A transactional API for the EAN X.500 directory service Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 2, (81-91)
Recommendations
Distributed optimistic concurrency control with reduced rollback
Concurrency control algorithms have traditionally been based on locking and timestamp ordering mechanisms. Recently optimistic schemes have been proposed. In this paper a distributed, multi-version, optimistic concurrency control scheme is described ...
Extracting more concurrency from distributed transactions
OSDI'14: Proceedings of the 11th USENIX conference on Operating Systems Design and ImplementationDistributed storage systems run transactions across machines to ensure serializability. Traditional protocols for distributed transactions are based on two-phase locking (2PL) or optimistic concurrency control (OCC). 2PL serializes transactions as soon ...