A Dynamic Deadlock Detection/Resolution Algorithm with Linear Message Complexity

Leader election and deadlock detection/resolution are different problems in distributed computing. However, the problem of selecting a candidate to resolve a detected deadlock is quite similar to the problem of selecting a leader in a virtual ring. In this paper we exploit this similarity and the fact that leader election is a well-known problem with optimal solutions. We have adapted an O(n) leader election algorithm for complete networks, in order to implement a deadlock resolution algorithm with the same cost. The adaptation consists in adding dynamic features to the leader election algorithm, ensuring that it works properly even when the wait-for relations in the system change at the same time as the algorithm runs. The algorithm guarantees that only just up-to-date information remains in the system, thus reducing the communication cost unlike previous linear proposals.

[1]  Ajay D. Kshemkalyani,et al.  Invariant-Based Verification of a Distributed Deadlock Detection Algorithm , 1991, IEEE Trans. Software Eng..

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

[3]  Tohru Kikuno,et al.  A Distributed Algorithm for Deadlock Detection and Resolution , 1984, Symposium on Reliability in Distributed Software and Database Systems.

[4]  Maria Castillo,et al.  AModified O(n) Leader Election Algorithm for Complete Networks , 2007, 15th EUROMICRO International Conference on Parallel, Distributed and Network-Based Processing (PDP'07).

[5]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[6]  Gerard Tel,et al.  Introduction to Distributed Algorithms: Contents , 2000 .

[7]  Federico Fariña,et al.  An O(n) distributed deadlock resolution algorithm , 2006, 14th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP'06).

[8]  Hagit Attiya,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 1998 .