This Article 
 Bibliographic References 
 Add to: 
Commutativity-Based Concurrency Control for Abstract Data Types
December 1988 (vol. 37 no. 12)
pp. 1488-1505
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, permitting operations to be both partial and nondeterministic. The results returned by operations can be used in determining conflicts, thus allowing hig

[1] J.E. Allchin, "An architecture for reliable decentralized systems," Ph.D. dissertation, Georgia Institute of Technology, Sept. 1983. (Available asTechnical Report GIT-ICS-83/23.)
[2] C. Beeriet al., "A concurrency control theory for nested transactions," inProc. Second Annu. ACM Symp. Principles Distributed Comput., ACM, Montreal, P.Q., Canada, Aug. 1983, pp. 45-62.
[3] P. Bernstein and N. Goodman, "Concurrency Control in Distributed Database Systems,"ACM Computing Surveys, Vol. 13, No. 2, June 1981, pp. 185-221.
[4] P. Bernstein, N. Goodman, and M.-Y. Lai, "Two part proof schema for database concurrency control," inProc. Fifth Berkeley Workshop Distributed Data Management Comput. Networks, Feb. 1981, pp. 71-84.
[5] P.A. Bernstein, V. Hadzilacos, and N. Goodman,Concurrency Control and Recovery in Database Systems, Addison-Wesley, Reading, Mass., 1987.
[6] K. P. Eswaran, J. N. Gray, R. A. Lorie, and I. L. Traiger, "The notions of consistency and predicate locks in a database system,"Commun. ACM, vol. 19, no. 11, pp. 624-633, Nov. 1976.
[7] J. Gray, "Notes on database operation systems," inOperating Systems: An Advanced Course(Lecture Notes in Computer Science, vol. 60) Berlin: Springer-Verlag, 1978.
[8] J. N. Grayet al., "The recovery manager of the System R database manager, "ACM Comput. Surveys, vol. 13, pp. 223-242, June 1981.
[9] V. Hadzilacos, "A theory of reliability in database systems,"J. ACM, vol. 35, pp. 121-145, Jan. 1988.
[10] M. Herlihy, N. Lynch, M. Merritt, and W. Weihl, "On the correctness of orphan elimination algorithms (preliminary report)," inProc. Seventeenth Int. Symp. Fault-Tolerant Comput., IEEE, Pittsburgh, PA, July 1987.
[11] H. F. Korth, "Locking primitives in database systems,"J. ACM, vol. 30, pp. 55-79, Jan. 1983.
[12] H. T. Kung and J. T. Robinson, "On optimistic methods for concurrency control,"ACM Trans. Database Syst., vol. 6, pp. 213-226, June 1981.
[13] B. Lampson, "Atomic transactions," inDistributed Systems: Architecture and Implementation(Lecture Notes in Computer Science, vol. 105). Berlin: Springer-Verlag, 1981, pp. 246-265.
[14] B. Liskov and R. Scheifler, "Guardians and actions: linguistic support for robust, distributed programs,"ACM Trans. Program. Languages Syst., vol. 5, no. 3, pp. 381-404, July 1983.
[15] B. Liskov, R. Scheifler, E. F. Walker, and W. Weihl, "Orphan detection" (extended abstract), inProc. 17th Int. Symp. Fault-Tolerant Comput., IEEE, July 1987.
[16] Lynch, N., and M. Tuttle, "Hierarchical Correctness Proofs for Distributed Algorithms," Tech. report, MIT Laboratory for Computer Science, Cambridge, Mass., Apr. 1987.
[17] N. A. Lynch and M. Merritt, "Introduction to the theory of nested transactions," Tech. Rep. MIT-LCS-TR-367, Massachusetts Instit. Technol., 1986. Appeared inProc. 1986 Int. Conf. Database Theory.
[18] J. E. B. Moss, "Nested transactions: An approach to reliable distributed computing," Massachusetts Inst. Technol. Lab. Comput. Sci., Tech. Rep. MIT/LCS/TR-260, Apr. 1981.
[19] J. Moss, N. Griffeth, and M. Graham, "Abstraction in concurrency control and recovery management (revised)," Tech. Rep. COINS Tech. Rep. 86-20, Univ. Massachusetts, Amherst, May 1986.
[20] B. Nelson, "Remote procedure call," Ph.D. dissertation, Dep. Comput. Sci., Carnegie-Mellon Univ., May 1981.
[21] P. E. O'Neil, "The escrow transactional method,"ACM Trans. Database Syst., vol. 11, pp. 405-430, Dec. 1986.
[22] C.H. Papadimitriou, "The serializability of concurrent database updates,"J. ACM, vol. 26, pp. 631-653, Oct. 1979.
[23] D. P. Reed, "Naming and synchronization in a decentralized computer system," Ph.D. dissertation, Massachusetts Instit. Technol., 1978. Available as Tech. Rep. MIT/LCS/TR-205.
[24] Schwarz, "Transactions on typed objects," Ph.D. Dep. Comput. Sci., Carnegie-Mellon University, 1984.
[25] P. M. Schwarz and A. Z. Spector, "Synchronization shared abstract types,"ACM Trans. Comput. Syst., Aug. 1984.
[26] M. D. Skeen, "Crash recovery in a distributed database system," Ph.D. dissertation, Univ. California, Berkeley, May 1982. Available as UCB/ERL M82/45.
[27] A. Z. Spectoret al., "Support for distributed transactions in the TABS prototype,"IEEE Trans. Software Eng., vol. SE-11, pp. 520-530, June 1985.
[28] W. E. Weihl, "Specification and implementation of atomic data types," Ph.D. dissertation, Massachusetts Instit. Technol., 1984. Available as Tech. Rep. MIT/LCS/TR 314.
[29] W.E. Weihl, "Local atomicity properties: Modular concurrency control for abstract data types,"ACM Trans. Programming Languages and Systems 11, pp. 249-283, Apr. 1989.
[30] W. Weihl and B. Liskov, "Implementation of resilient, atomic data types,"ACM Trans. Programming Languages and Systems 7, Apr. 1985.
[31] G. Weikum, "A theoretical foundation of multi-level concurrency control," inProc. Fifth ACM Symp. Principles Database Syst., 1986, pp. 31-42.
[32] G. Weikum and H.-J. Schek, "Architectural issues of transaction management in multi-layered systems," inProc. Tenth Int. Conf. Very Large Data Bases, Singapore, Aug. 1984, pp. 454-465.

Index Terms:
commutativity; concurrency algorithms; abstract data types; serializability; local atomicity property; dynamic atomicity; partial; nondeterministic; recovery methods; intentions lists; undo logs; concurrency control; parallel processing.
W.E. Weihl, "Commutativity-Based Concurrency Control for Abstract Data Types," IEEE Transactions on Computers, vol. 37, no. 12, pp. 1488-1505, Dec. 1988, doi:10.1109/12.9728
Usage of this product signifies your acceptance of the Terms of Use.