Deadlock Detection in the Face of Transaction and Data Dependencies in Advanced Transaction Models

  • Authors:
  • Elisa Bertino;Giovanni Chiola;Luigi V. Mancini

  • Affiliations:
  • -;-;-

  • Venue:
  • ICATPN '98 Proceedings of the 19th International Conference on Application and Theory of Petri Nets
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.