An efficient distributed deadlock detection algorithm - Soojung Lee; Kim, J.L. (Proceedings of 15th International Conference on Distributed Computing Systems, 1995)
We propose a distributed deadlock detection algorithm which detects cycles made of back edges in a distributed search tree. Our algorithm detects the deadlocks in which the initiator of the algorithm is directly or indirectly involved, while most of the proposed deadlock detection algorithms only detect the cycles in which the initiator is directly involved. Our algorithm is a reduced version of the one proposed previously, which resolves all deadlocks reachable from the initiator in a single execution by propagating the probe messages to the nodes in the search tree and having each node resolve deadlocks in its subtree with collected information on dependency between its subtree nodes. Our algorithm substantially reduces the message overhead of the previous algorithm. We compare the performance of our algorithm with others through extensive simulation. It is found that our algorithm detects deadlocks as fast as the previous algorithm with much fewer messages. The simulation results show that our algorithm outperforms other algorithms considerably in major performance measures.