skip to main content
article
Free Access

Apologizing versus asking permission: optimistic concurrency control for abstract data types

Published:01 March 1990Publication History
Skip Abstract Section

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.

References

  1. 1 AGRAWAL, R. Concurrency control and recovery in multiprocessor database machines: Design and performance evaluation. Ph.D. thesis, University of Wisconsin, Madison, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 AGRAWAL, D., BERNSTEIN, A. J., GUPTA, P., AND SENGUPTA, S. Distributed optimistic concurrency control with reduced rollback. Distributed Syst. 2, 1 (1987).Google ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 CAREY, M. Modeling and evaluation of database concurrency control algorithms. Ph.D. dissertation, University of California, Berkeley, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14 FRANASZEK, P., AND ROBINSON, J.T. Limitations of concurrency in transaction processing. ACM Trans. Database Syst. 10, 1 (March 1985), 1-28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 GAREY, M. R., AND JOHNSON, D.S. Computers and Intractability, A Guide to the Theory of NP- Completeness. Freeman, San Francisco, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 GAWLICK, D. Processing "not spots" in high performance systems. In Proceedings COMPCON '85, 1985.Google ScholarGoogle Scholar
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18 GRAY, j. Notes on database operating systems. Lecture Notes in Computer Science 60. Springer- Verlag, Berlin, 1978, pp. 393-481. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19 HhRDER, T. Observations on optimistic concurrency control schemes. Inf. Syst. 9 (June 1984), 111-120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20 HERLIHY, M. A quorum-consensus replication method for abstract data types. A CM Trans. Comput. Syst. 4, 1 (Feb. 1986), 32-53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21 HERLIHY, M.P. Availability vs. concurrency: Atomicity mechanisms for replicated data. ACM Trans. Comput. Syst. 4, 3 (Aug. 1987), 249-274. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22 HERLIHY, M.P. Extending multiversion timestamping protocols to exploit type information. IEEE Trans. Comput. C-35, 4 (April 1987), 443-449. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle Scholar
  26. 26 KORTH, H.F. Locking primitives in a database system. J. ACM 30, 1 (Jan. 1983), 55-79. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 28 LAMPORT, L. Time, clocks, and the ordering of events in a distributed system. Commun. A CM 21, 7 (July 1978), 558-565. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 30 LAUSEN, G. Formal aspects of optimistic concurrency control in a multiversion data base system. Inform. Syst. 8, 4 (1983), 291-301.Google ScholarGoogle ScholarCross RefCross Ref
  31. 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 ScholarGoogle ScholarCross RefCross Ref
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 33 PAPADIMITRIOU, C.H. The serializability of concurrent database updates. J. ACM 26, 4 (Oct. 1979), 631-653. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. 34 REED, D.P. Implementing atomic actions on decentralized data. ACM Trans. Comput. Syst. 1, I (Feb. 1983), 3-23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 37 SCHWARZ, P. M., AND SPECTOR, Z. Synchronizing shared abstract types. ACM Trans. Comput. Syst. 2, 3 (Aug. 1984), 223-250. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. 38 SHASHA, D., AND GOODMAN, N. Concurrent search structure algorithms. ACM Trans. Database Syst. 13, 1 (March 1988), 53-90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. 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 ScholarGoogle Scholar
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Apologizing versus asking permission: optimistic concurrency control for abstract data types

                  Recommendations

                  Comments

                  Login options

                  Check if you have access through your login credentials or your institution to get full access on this article.

                  Sign in

                  Full Access

                  • Published in

                    cover image ACM Transactions on Database Systems
                    ACM Transactions on Database Systems  Volume 15, Issue 1
                    March 1990
                    124 pages
                    ISSN:0362-5915
                    EISSN:1557-4644
                    DOI:10.1145/77643
                    Issue’s Table of Contents

                    Copyright © 1990 ACM

                    Publisher

                    Association for Computing Machinery

                    New York, NY, United States

                    Publication History

                    • Published: 1 March 1990
                    Published in tods Volume 15, Issue 1

                    Permissions

                    Request permissions about this article.

                    Request Permissions

                    Check for updates

                    Qualifiers

                    • article

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader