Efficient Generalized Deadlock Detection and Resolution in Distributed Systems

  • Authors:
  • Affiliations:
  • Venue:
  • ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Abstract: This paper presents a distributed algorithm for detecting generalized deadlocks in distributed systems. The algorithm constructs a distributed spanning tree through the propagation of probes and receiving replies. The initiator of the algorithm builds a local wait-for graph to determine the existence of deadlock. A scheme of encoding the path information from the initiator to each process is developed so that ancestor-descendant relationship between tree nodes is not explicitly sent to the initiator, but inferred at the initiator. The advantages of the proposed algorithm are: All deadlocks reachable from the initiator are resolved, whereas the current algorithms detect deadlock only if the initiator is in deadlock; Deadlock resolution is simplified without additional message transmission, due to the availability of dependency relation among processes at the initiator; A unique property of the algorithm is that it handles concurrent algorithm executions and prevents duplicate deadlock detection which may cause false deadlock resolution, whereas most deadlock detection algorithms ignore this issue and deal with a single execution of the algorithm. In addition, our scheme provides a solution to the problem of Bracha's algorithm [2] that may not detect a deadlock if the lower-priority execution is simply discarded. Our algorithm performs better or comparable to the current best algorithms on both message and time complexities.