Commutativity-based concurrency control for abstract data types

Two novel concurrency control algorithms for abstract data types are presented. The algorithms ensure serializability of transactions by using conflict relations based on the commutativity of operations. It is proved that both algorithms ensure a local atomicity property called dynamic atomicity. This means that the algorithms can be used in combination with any other algorithms that also ensure dynamic atomicity. The algorithms are quite general, permitting operations to be both partial and nondeterministic., They permit the results returned by operations to be used in determining conflicts, thus permitting higher levels of concurrency than is otherwise possible. The descriptions and proofs encompass recovery as well as concurrency control. The two algorithms use different recovery methods: one uses intentions lists, and the other uses undo logs. It is shown that conflict relations that work with one recovery method do not necessarily work with the other. A general correctness condition that must be satisfied by the combination of a recovery method and a conflict relation is identified. >

[1]  Patrick E. O'Neil,et al.  The Escrow transactional method , 1986, TODS.

[2]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[3]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

[4]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[5]  Henry F. Korth,et al.  Locking Primitives in a Database System , 1983, JACM.

[6]  Catriel Beeri,et al.  A Concurrency Control Theory for Nested Transactions. , 1983, PODC 1983.

[7]  Gerhard Weikum,et al.  A theoretical foundation of multi-level concurrency control , 1985, PODS.

[8]  David P. Reed,et al.  Naming and synchronization in a decentralized computer system , 1978 .

[9]  Catriel Beeri,et al.  A concurrency control theory for nested transactions (Preliminary Report) , 1983, PODC '83.

[10]  Alfred Z. Spector,et al.  Support for Distributed Transactions in the TABS Prototype , 1985, IEEE Transactions on Software Engineering.

[11]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[12]  Alfred Z. Spector,et al.  Synchronizing shared abstract types , 1984, TOCS.

[13]  Barbara Liskov,et al.  Guardians and Actions: Linguistic Support for Robust, Distributed Programs , 1983, TOPL.

[14]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[15]  Hans-Jörg Schek,et al.  Architectural Issues of Transaction Management in Multi-Layered Systems , 1984, VLDB.

[16]  Philip A. Bernstein,et al.  Concurrency Control in Distributed Database Systems , 1986, CSUR.

[17]  Irving L. Traiger,et al.  The Recovery Manager of the System R Database Manager , 1981, CSUR.

[18]  William E. Weihl,et al.  Local atomicity properties: modular concurrency control for abstract data types , 1989, TOPL.