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.
- 1 AGRAWAL, R. Concurrency control and recovery in multiprocessor database machines: Design and performance evaluation. Ph.D. thesis, University of Wisconsin, Madison, 1983. Google ScholarDigital Library
- 2 AGRAWAL, D., BERNSTEIN, A. J., GUPTA, P., AND SENGUPTA, S. Distributed optimistic concurrency control with reduced rollback. Distributed Syst. 2, 1 (1987).Google Scholar
- 3 AGRAWAL, R., CAREY, M. J., AND LIVNY, M. Models for studying concurrency control performance: Alternatives and implications. In Proceedings of the International Conference on Management of Data (Austin, Tex., May 1985). ACM, New York, 1985, pp. 108-121. Google ScholarDigital Library
- 4 BADAL, D.Z. Concurrency control overhead or closer look at blocking vs. non-blocking concurrency control mechanisms. In Proceedings of the 5th Berkeley Workshop, 1981, pp. 55-103.Google Scholar
- 5 BERNSTEIN, P. A., AND GOODMAN, N. The failure and recovery problem for replicated databases. In Proceedings of the 2nd Annual Symposium on Principles of Distributed Computing, 1983. Google ScholarDigital Library
- 6 BERNSTEIN, P. A., GOODMAN, N., AND LAI, M. Y. Two-part proof schema for database concurrency control. In Proceedings of the 5th Berkeley Workshop on Distributed Data Management and Computer Networks, 1981.Google Scholar
- 7 BORAL, H., AND GOLD, I. Towards a self-adapting centralized concurrency control algorithm. in SIGMOD 84. ACM, New York, 1984, pp. 18-31. Google ScholarDigital Library
- 8 CAREY, M. Modeling and evaluation of database concurrency control algorithms. Ph.D. dissertation, University of California, Berkeley, 1983. Google ScholarDigital Library
- 9 CERI, S,, AND OWICKI, S. On the use of optimistic methods for concurrency control in distributed databases. In Proceedings of the 6th Berkeley Workshop, of the 1982, pp. 117-130.Google Scholar
- 10 CHAN, A., FOX, S., LIN, W. T., NORI, A., AND RIES, D. The implementation of an integrated concurrency control and recovery scheme. In Proceedings of the I982 SIGMOD Conference. ACM, New York, 1982. Google ScholarDigital Library
- 11 DUBOURDIEU, D. J. Implementation of distributed transactions. In Proceedings of the 1982 Berkeley Workshop on Distributed Data Management and Computer Networks, 1982, pp. 81-94.Google Scholar
- 12 DWORK, C., AND SKEEN, M.D. The inherent cost of nonblocking commitment. In Proceedings of the 2nd Annual Symposium on Principles of Distributed Computing (Aug. 1983). ACM, New York, 1983, pp. 1-11. Google ScholarDigital Library
- 13 ESWARAN, K. P., GRAY, J. N., LORIE, R. A., AND TRAIGER, I.L. The notion of consistency and predicate locks in a database system. Commun. ACM 19, 11 (Nov. 1976), 624-633. Google ScholarDigital Library
- 14 FRANASZEK, P., AND ROBINSON, J.T. Limitations of concurrency in transaction processing. ACM Trans. Database Syst. 10, 1 (March 1985), 1-28. Google ScholarDigital Library
- 15 GAREY, M. R., AND JOHNSON, D.S. Computers and Intractability, A Guide to the Theory of NP- Completeness. Freeman, San Francisco, 1979. Google ScholarDigital Library
- 16 GAWLICK, D. Processing "not spots" in high performance systems. In Proceedings COMPCON '85, 1985.Google Scholar
- 17 GIFFORD, D.K. Weighted voting for replicated data. In Proceedings of the 7th ACM Symposium on Operating Systems Principles (Dec. 1979). ACM, New York, 1979. Google ScholarDigital Library
- 18 GRAY, j. Notes on database operating systems. Lecture Notes in Computer Science 60. Springer- Verlag, Berlin, 1978, pp. 393-481. Google ScholarDigital Library
- 19 HhRDER, T. Observations on optimistic concurrency control schemes. Inf. Syst. 9 (June 1984), 111-120. Google ScholarDigital Library
- 20 HERLIHY, M. A quorum-consensus replication method for abstract data types. A CM Trans. Comput. Syst. 4, 1 (Feb. 1986), 32-53. Google ScholarDigital Library
- 21 HERLIHY, M.P. Availability vs. concurrency: Atomicity mechanisms for replicated data. ACM Trans. Comput. Syst. 4, 3 (Aug. 1987), 249-274. Google ScholarDigital Library
- 22 HERLIHY, M.P. Extending multiversion timestamping protocols to exploit type information. IEEE Trans. Comput. C-35, 4 (April 1987), 443-449. Google ScholarDigital Library
- 23 HERLIHY, M. P., LYNCH, N. A., MERRITT, M., AND WEIHL, W.E. On the correctness of orphan elimination algorithms. In Proceedings of the 17th Symposium on Fault-Tolerant Computer Systems (FTCS) (July 1987).Google Scholar
- 24 HERLIH~', M. P., AND WEIHL, W.E. Hybrid concurrency control for abstract data types. In Proceedings of the 7th A CM-SIGMOD-SIGACT Symposium on Principles of Database Systems (PODS) (March 1988), pp. 201-210. Google ScholarDigital Library
- 25 JACOBSON, D.M. A protocol for optimistic transactions on abstract data types. Tech. Rep. TR 83-12-04, Department of Computer Science, University of Washington, Seattle, 1984.Google Scholar
- 26 KORTH, H.F. Locking primitives in a database system. J. ACM 30, 1 (Jan. 1983), 55-79. Google ScholarDigital Library
- 27 KUNG, H. W., AND ROBINSON, J. T. On optimistic methods for concurrency control. ACM Trans. Database Syst. 6, 2 (June 1981), 213-226. Google ScholarDigital Library
- 28 LAMPORT, L. Time, clocks, and the ordering of events in a distributed system. Commun. A CM 21, 7 (July 1978), 558-565. Google ScholarDigital Library
- 29 LAUSEN, G. Concurrency control in data base systems: A step towards the integration of optimistic methods and locking. In Proceedings of ACM '82. ACM, New York, 1982. Google ScholarDigital Library
- 30 LAUSEN, G. Formal aspects of optimistic concurrency control in a multiversion data base system. Inform. Syst. 8, 4 (1983), 291-301.Google ScholarCross Ref
- 31 MENASCE, D. A., AND NAKANISHI, N. Optimistic versus pessimistic concurrency control mechanisms in data base management systems. Inform. Syst. 7, 1 (1982), 13-27.Google ScholarCross Ref
- 32 MOSS, J. E.B. Nested transactions: An approach to reliable distributed computing. Tech. Rep. MIT/LCS/TR-260, Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, April 1981. Google ScholarDigital Library
- 33 PAPADIMITRIOU, C.H. The serializability of concurrent database updates. J. ACM 26, 4 (Oct. 1979), 631-653. Google ScholarDigital Library
- 34 REED, D.P. Implementing atomic actions on decentralized data. ACM Trans. Comput. Syst. 1, I (Feb. 1983), 3-23. Google ScholarDigital Library
- 35 REIMER, M. Solving the phantom problem by predictive optimistic concurrency control. In Proceedings of the 9th IFIP Symposium on Very Large Data Bases (1983). Google ScholarDigital Library
- 36 REUTER, A. Concurrency on high-tra~c data elements. In A CM Symposium on Principles of Database Systems. ACM, New York, 1982, pp. 83-92. Google ScholarDigital Library
- 37 SCHWARZ, P. M., AND SPECTOR, Z. Synchronizing shared abstract types. ACM Trans. Comput. Syst. 2, 3 (Aug. 1984), 223-250. Google ScholarDigital Library
- 38 SHASHA, D., AND GOODMAN, N. Concurrent search structure algorithms. ACM Trans. Database Syst. 13, 1 (March 1988), 53-90. Google ScholarDigital Library
- 39 SINHA, M., NANDIKAR, P. D., AND MEHNDIRATTA, S. L. Timestamp-based certification for transactions in distributed database systems. In Proceedings of the ACM SIGMOD International Conference on Management of Data (Austin, Tex., May 1985). ACM, New York, 1985, pp. 402- 413. Google ScholarDigital Library
- 40 TAY, Y. C., GOODMAN, N., AND SURf, R. Performance evaluation of locking in databases: A survey. Tech. Rep. TR-17-84, Harvard Aiken Laboratory, Cambridge, Mass., 1984.Google Scholar
- 41 THOMAS, R. H. A majority consensus approach to concurrency control for multiple copy databases. ACM Trans. Database Syst. 4, 2 (June, 1979), 180-209. Google ScholarDigital Library
- 42 WEIHL, W.E. Commutativity-based concurrency control for abstract data types. In Proceedings of the 21st Annual Hawaii International Conference on System Sciences (Jan. 1988), pp. 205-214. Google ScholarDigital Library
- 43 WEIHL, W.E. Local atomicity properties: Modular concurrency control for abstract data types. ACM Trans. Program. Lang. Syst. l 1, 2 (April 1989), 249-282. Google ScholarDigital Library
- 44 WEIHL, W.E. Specification and implementation of atomic data types. Tech. Rep. TR-314, M.I.T. Lab Computer Science, Cambridge, Mar. 1984. Google ScholarDigital Library
Index Terms
- Apologizing versus asking permission: optimistic concurrency control for abstract data types
Recommendations
Optimistic concurrency control for abstract data types
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 ...
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