Deadlock detection algorithms for distributed systems have been studied thoroughly for many years. However, many of them either are incorrect or too expensive in terms of time and/or space Complexity. One problem with previous work is that deadlock resolution is often overlooked.Another problem is the insufficient attention given to the characteristics of the wait-for model that is employed. The former problem introduces incorrectness into many algorithms after deadlocks have been resolved, whereas the latter results in inefficient algorithms.In this paper, a theoretical framework for wait-for systems is provided, and general characteristics of a correct algorithm for deadlock detection and resolution are presented. It is shown that the computational upper bounds (number of messages) for deadlock detection and resolution are both O(n3) in the worst case when n transactions are involved. This result is better than previous ones, which often are even exponential. In addition, two correct deadlock detection and resolution algorithms are described which both achieve these upper bounds.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.