An abortion-free distributed deadlock detection/resolution algorithm

A distributed deadlock detection/resolution algorithm is proposed. In this algorithm, when a deadlock cycle is detected, it is resolved by reordering the wait-for relations between pairs of transactions. Therefore, no transaction abortions are necessary to resolve deadlock cycles. This results in fewer messages and smaller transaction response time. The correctness of this abortion-free algorithm is proved. The abortion-free algorithm can be extended to handle read/write lock requests and to distinguish between transaction classes.<<ETX>>

[1]  Jayadev Misra,et al.  Detecting termination of distributed computations using markers , 1983, PODC '83.

[2]  Victor O. K. Li,et al.  Performance Analysis of Static Locking in Distributed Database Systems , 1990, IEEE Trans. Computers.

[3]  Shiow-Chen Shyu,et al.  Design and performance analysis of locking algorithms for distributed databases , 1989 .

[4]  W.A. Burkhard,et al.  Efficient deadlock resolution for lock-based concurrency control schemes , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[5]  Laura M. Haas,et al.  Distributed deadlock detection , 1983, TOCS.

[6]  Cory Devor,et al.  Structural locking mechanisms and their effect on database management system performance , 1982, Inf. Syst..

[7]  Mukul K. Sinha,et al.  A Priority Based Distributed Deadlock Detection Algorithm , 1985, IEEE Transactions on Software Engineering.

[8]  K. Mani Chandy,et al.  A distributed algorithm for detecting resource deadlocks in distributed systems , 1982, PODC '82.

[9]  Edsger W. Dijkstra,et al.  Termination Detection for Diffusing Computations , 1980, Inf. Process. Lett..

[10]  Y. C. Tay,et al.  Choice and Performance in Locking for Databases , 1984, VLDB.

[11]  Ahmed K. Elmagarmid,et al.  A survey of distributed deadlock detection algorithms , 1986, SGMD.

[12]  A. J. M. van Gasteren,et al.  Derivation of a Termination Detection Algorithm for Distributed Computations , 1983, Inf. Process. Lett..

[13]  C. V. Ramamoorthy,et al.  Protocols for Deadlock Detection in Distributed Database Systems , 1982, IEEE Transactions on Software Engineering.

[14]  Edgar Knapp,et al.  Deadlock detection in distributed databases , 1987, CSUR.

[15]  Virgil D. Gligor,et al.  On Deadlock Detection in Distributed Systems , 1980, IEEE Transactions on Software Engineering.

[16]  Don P. Mitchell,et al.  A distributed algorithm for deadlock detection and resolution , 1984, PODC '84.

[17]  K. Mani Chandy,et al.  A Distributed Graph Algorithm: Knot Detection , 1982, TOPL.

[18]  Ron Obermarck,et al.  Distributed deadlock detection algorithm , 1982, TODS.

[19]  Daniel A. Menascé,et al.  Locking and Deadlock Detection in Distributed Data Bases , 1979, IEEE Transactions on Software Engineering.

[20]  K. Mani Chandy,et al.  An example of stepwise refinement of distributed programs: quiescence detection , 1986, TOPL.