Concurrency control issues in nested transactions

The concept of nested transactions offers more decomposable execution units and finer-grained control over concurrency and recovery than “flat” transactions. Furthermore, it supports the decomposition of a “unit of work” into subtasks and their appropriate distribution in a computer system as a prerequisite of intratransaction parallelism. However, to exploit its full potential, suitable granules of concurrency control as well as access modes for shared data are necessary. In this article, we investigate various issues of concurrency control for nested transactions. First, the mechanisms for cooperation and communication within nested transactions should not impede parallel execution of transactions among parent and children or among siblings. Therefore, a model for nested transactions is proposed allowing for effective exploitation of intra-transaction parallelism. Starting with a set of basic locking rules, we introduce the concept of “downward inheritance of locks” to make data manipulated by a parent available to its children. To support supervised and restricted access, this concept is refined to “controlled downward inheritance.” The initial concurrency control scheme was based on S-X locks for “flat,” non-overlapping data objects. In order to adjust this scheme for practical applications, a set of concurrency control rules is derived for generalized lock modes described by a compatibility matrix. Also, these rules are combined with a hierarchical locking scheme to improve selective access to data granules of varying sizes. After having tied together both types of hierarchies (transaction and object), it can be shown how “controlled downward inheritance” for hierarchical objects is achieved in nested transactions. Finally, problems of deadlock detection and resolution in nested transactions are considered.

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

[2]  Partha Dasgupta,et al.  Fault Tolerant Computing in Object Based Distributed Operating Systems , 1987, SRDS.

[3]  Daniel J. Rosenkrantz,et al.  System level concurrency control for distributed database systems , 1978, TODS.

[4]  Andreas Reuter,et al.  Concurrency on high-traffic data elements , 1982, PODS.

[5]  C. Mohan,et al.  ARIES/NT: A Recovery Method Based on Write-Ahead Logging for Nested Transactions , 1989, VLDB.

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

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

[8]  Gerald J. Popek,et al.  Transactions and Synchronization in a Distributed Operating System , 1985, SOSP.

[9]  Marc H. Graham,et al.  Abstraction in recovery management , 1986, SIGMOD '86.

[10]  Barbara Liskov,et al.  The Argus Language and System , 1984, Advanced Course: Distributed Systems.

[11]  Won Kim,et al.  A Model of CAD Transactions , 1985, VLDB.

[12]  Bruce G. Lindsay,et al.  Transaction management in the R* distributed database management system , 1986, TODS.

[13]  Lily B. Mummert,et al.  Camelot and Avalon: A Distributed Transaction Facility , 1991 .

[14]  Alfred Z. Spector,et al.  Camelot: a flexible, distributed transaction processing system , 1988, Digest of Papers. COMPCON Spring 88 Thirty-Third IEEE Computer Society International Conference.

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

[16]  Alan Fekete,et al.  Commutativity-Based Locking for Nested Transactions , 1989 .

[17]  Kurt Rothermel,et al.  Concepts for transaction recovery in nested transactions , 1987, SIGMOD '87.

[18]  Barbara Liskov,et al.  Implementation of Argus , 1987, SOSP '87.

[19]  Won Kim,et al.  A Transaction Mechanism for Engineering Design Databases , 1984, VLDB.

[20]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[21]  Erhard Rahm,et al.  A Framework for workload allocation in distributed transaction processing systems , 1992, J. Syst. Softw..

[22]  Irving L. Traiger,et al.  Granularity of Locks and Degrees of Consistency in a Shared Data Base , 1998, IFIP Working Conference on Modelling in Data Base Management Systems.

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

[24]  Alfred Z. Spector,et al.  Transactions: a construct for reliable distributed computing , 1983, OPSR.

[25]  Brian Randell,et al.  Operating Systems, An Advanced Course , 1978 .

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

[27]  Barbara Liskov,et al.  Distributed programming in Argus , 1988, CACM.

[28]  Irving L. Traiger,et al.  Granularity of locks in a shared data base , 1975, VLDB '75.

[29]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[30]  Marta Rukoz Hierarchical deablock detection for nested transactions , 2005, Distributed Computing.

[31]  Michael Stonebraker,et al.  A measure of transaction processing power , 1985 .

[32]  Andrew P. Black,et al.  The Eden System: A Technical Review , 1985, IEEE Transactions on Software Engineering.

[33]  Johanna D. Moore,et al.  A nested transaction mechanism for LOCUS , 1983, SOSP '83.

[34]  Gerhard Weikum,et al.  Principles and realization strategies of multilevel transaction management , 1991, TODS.

[35]  J. Eliot B. Moss,et al.  Log-Based Recovery for Nested Transactions , 1987, VLDB.

[36]  Bernd Walter,et al.  Nested Transactions with Multiple Commit Points: An Approach to the Structuring of Advanced Database Applications , 1984, VLDB.

[37]  Leslie Lamport,et al.  Distributed Systems: Methods and Tools for Specification, An Advanced Course, April 3-12, 1984 and April 16-25, 1985, Munich, Germany , 1985, Advanced Course: Distributed Systems.

[38]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[39]  Catriel Beeri,et al.  A model for concurrency in nested transactions systems , 1989, JACM.

[40]  Irving L. Traiger,et al.  System R: relational approach to database management , 1976, TODS.

[41]  Dieter Gawlick,et al.  Processing "Hot Spots" in High Performance Systems , 1985, COMPCON.