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.
- [1] R. Agrawal. Concurrency control and recovery in multiprocessor database machines: design and performance evaluation. PhD thesis, University of Wisconsin, 1983. Google ScholarDigital Library
- [2] D. Z. Badal. Concurrency Control overhead or closer look at blocking vs. non-blocking concurrency control mechanisms. In Proceedings of the 5th Berkeley Workshop, pages 55-103. 1981.Google Scholar
- [3] M. Carey. Modeling and Evaluation of Database Concurrency Control Algorithms. PhD thesis, University of California, Berkeley, September, 1983. Google ScholarDigital Library
- [4] S. Ceri and S. Owicki. On the use of optimistic methods for concurrency control in distributed databases. In Proceedings of the 6th Berkeley Workshop, pages 117-130. 1982.Google Scholar
- [5] A. Chan, S. Fox, W. T. Lin, A. Nori, and D. Ries. The implementation of an integrated concurrency control and recovery scheme. In Proceedings el the 1982 SIGMOD Conference. ACM SIGMOD, 1982. Google ScholarDigital Library
- [6] D. J. Dubourdieu. Implementation of distributed transactions. In Proceedings 1982 Berkeley Workshop on Distributed Data Management and Computer Networks, pages 81-94, 1982.Google Scholar
- [7] C. Dwork and D. Skeen. The Inherent Cost of Nonblocking Commitment. In Proceedings of the Second Annual Symposium on Principles of Distributed Computing, pages 1-11. ACM, August, 1983. Google ScholarDigital Library
- [8] K. P. Eswaran, J. N. Gray, R. A. Lorie, and I. L. Traiger. The notion of consistency and predicate locks in a database system. Communications ACM 19(11):624-633, November, 1976. Google ScholarDigital Library
- [9] P. Franaszek, and J. T. Robinson. Limitations of concurrency in transaction processing. ACM Transactions on Database Systems 10(1):1-28, March, 1985. Google ScholarDigital Library
- [10] D. Gawlick. Processing 'hot spots' in high performance systems. In Proceedings COMPCON'85. 1985.Google Scholar
- [11] J. Gray. Notes on Database Operating Systems. Lecture Notes in Computer Science 60. Springer-Verlag, Berlin, 1978, pages 393-481. Google ScholarDigital Library
- [12] T. Härder. Observations on optimistic concurrency control schemes. Information Systems 9:111-120, June, 1984. Google ScholarDigital Library
- [13] M. P. Herlihy. Comparing how atomicity mechanisms support replication. In Proceedings of the 4th annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing. August, 1985. Google ScholarDigital Library
- [14] M. P. Herlihy. Availability vs. atomicity: concurrency control for replicated data. Technical Report CMU. CS-85-108, Carnegie-Mellon University, February, 1985.Google Scholar
- [15] M. P. Herlihy. A quorum-consensus replication method for abstract data types. ACM Transactions on Computer Systems 4(1), February, 1986. Google ScholarDigital Library
- [16] H. F. Korth. Locking primitives in a database system. Journal of the ACM 30(1), January, 1983. Google ScholarDigital Library
- [17] H. T. Kung and J. T. Robinson. On optimistic methods for concurrency control. ACM Transactions on Database Systems 6:213-226, June, 1981. Google ScholarDigital Library
- [18] L. Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21(7):558-565, July, 1978. Google ScholarDigital Library
- [19] G. Lausen. Concurrency control in data base systems: a step towards the integration of optimistic methods and locking. In Proceedings of ACM '82. 1982. Google ScholarDigital Library
- [20] G. Lausen. Formal Aspects of optimistic concurrency control in a multiversion data base system. Information Systems 8(4):291-301, 1983.Google ScholarCross Ref
- [21] D. A. Menasce, and N. Nakanishi. Optimistic versus pessimistic concurrency control mechanisms in data base management systems. Information Systems 7(1):13-27, 1982.Google ScholarCross Ref
- [22] J. E. B. Moss. Nested Transactions: An Approach to Reliable Distributed Computing. Technical Report MIT/LCS/TR-260, Massachusetts Institute of Technology Laboratory for Computer Science, April, 1981. Google ScholarDigital Library
- [23] C. H. Papadimitriou. The serializability of concurrent database updates. Journal of the ACM 26(4):631-653, October, 1979. Google ScholarDigital Library
- [24] D. Reed. Implementing atomic actions on decentralized data. ACM Transactions on Computer Systems 1(1):3-23, February, 1983. Google ScholarDigital Library
- [25] Y. C. Tay, N. Goodman, and R. Suri. Performance evaluation of locking in databases: a survey. Technical Report TR-17-84, Harvard Aiken Laboratory, 1984.Google Scholar
- [26] R. H. Thomas. A solution to the concurrency control problem for multiple copy databases. In Proc. 16th IEEE Comput. Soc. Int. Cont. (COMPCON). Spring, 1978.Google Scholar
- [27] W. Weihl. Data-Dependent concurrency control and recovery. In Proceedings of the 2nd annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing. August, 1983. Google ScholarDigital Library
Index Terms
- Optimistic concurrency control for abstract data types
Recommendations
Apologizing versus asking permission: optimistic concurrency control for abstract data types
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 ...
Adaptable concurrency control for atomic data types
In many distributed systems concurrent access is required to a shared object, where abstract object servers may incorporate type-specific properties to define consistency requirements. Each operation and its outcome is treated as an event, and conflicts ...
Commutativity-Based Concurrency Control for Abstract Data Types
Two novel concurrency algorithms for abstract data types are presented that ensure serializability of transactions. It is proved that both algorithms ensure a local atomicity property called dynamic atomicity. The algorithms are quite general, ...
Comments