Although the problem of deadlock detection and resolution in distributed systems has been studied in detail during the last few years, it is still an open and difficult problem for the OR model. Deadlocks in the OR model are denoted in the literature as strongly connected graphs, or knots, defined in a wait-for graph (WFG). We present a distributed knot detection/resolution algorithm for the generic OR model. The algorithm satisfies the safety condition (only true deadlocks are detected/resolved) and the liveness condition (every deadlock is detected/resolved in a finite time). The knot detection/resolution algorithm detects and resolves all knots with a communication cost of at most O(e) messages in the worst case, where e is the number of edges of the knot.
展开▼