Deadlock Detection in the Face of Transaction and Data Dependencies
Deadlock detection, which is fairly well-understood for the traditional transaction model used for concurrency control to databases, needs to be revisited when dealing with advanced transaction models. This is because a transaction in these models is organized as a collection of tasks; specific decisions (such as commit or abort) about a task may be based on the outcome or status of other tasks in the same transaction. Although this gives flexibility to the application programmer, a set of concurrent transactions may contain two types of dependencies: data and transaction dependencies. Commit and abort dependencies specifying constraints on transaction termination order are well-known examples of transaction dependencies. Data dependencies arise when transactions concurrently access common data items under conflicting modes. In this paper, we show that in the face of these dependencies, deadlocks may arise that the conventional deadlock detection algorithms are not able to detect. We show that transaction waiting states are characterized by AND-OR graphs and propose an algorithm for detecting deadlocks in these graphs. This algorithm has a computational complexity linear in the number of nodes and edges of the AND-OR graphs. We prove the correctness of our algorithm by characterizing deadlocks in a subclass of Petri nets equivalent to AND-OR graphs.
KeywordsData Dependency Transaction Model Input Place Output Place Deadlock Detection
Unable to display preview. Download preview PDF.
- 1.A. Biliris, S. Dar, N. Gehani, H. V. Jagadish, and K. Ramamritham. Asset: A system for supporting extended transactions. In Proceedings of the ACM SIGMOD International Conference on Management of Data, Minneapolis, Minnesota, May 1994.Google Scholar
- 2.S. Jajodia et al., editor. Advanced Transaction Models and Architectures. Kluwer Academic Publ., 1997.Google Scholar
- 5.T. Hermann, and K. Chandy. A distributed procedure to detect AND/OR dead-lock. TR LCS-8301, Dept. of Computer Science, University of Texas, Austin, 1983.Google Scholar
- 7.L. Mancini, I. Ray, E. Bertino, and S. Jajodia. Flexible Commit Protocols for Advanced Transaction Processing. In Advanced Transaction Models and Architectures, S. Jajodia and L. Kerschberg, eds., Kluwer, 91–124, 1997.Google Scholar
- 8.J. Eliot B. Moss. Nested Transactions: An Approach to Reliable Distributed Programming. The MIT Press. Cambridge (Massachusetts), 1985.Google Scholar
- 12.Aidong Zhang, Marian Nodine, Bharat Bhargava, and Omran Bukhres. Ensuring Relaxed Atomicity for Flexible Transactions in Multidatabase Systems. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 67–78, May 1994.Google Scholar