# On the complexity of deadlock recovery

## Abstract

We consider the computational complexity of finding an optimal deadlock recovery. It is known that for an arbitrary number of resource types the problem is NP-hard even when the total cost of deadlocked jobs and the total number of resource units are "small" relative to the number of deadlocked jobs. It is also known that for one resource type the problem is NP-hard when the total cost of deadlocked jobs and the total number of resource units are "large" relative to the number of deadlocked jobs. In this paper we show that for one resource type the problem is solvable in polynomial time when the total cost of deadlocked jobs or the total number of resource units is "small" relative to the number of deadlocked jobs. For fixed m≥2 resource types, we show that the problem is solvable in polynomial time when the total number of resource units is "small" relative to the number of deadlocked jobs. On the other hand, when the total number of resource units is "large", the problem becomes NP-hard even when the total cost of deadlocked jobs is "small" relative to the number of deadlocked jobs. The results in this paper, together with previous known ones, give a complete delineation of the complexity of this problem under various assumptions of the input parameters.

## Preview

Unable to display preview. Download preview PDF.

## References

- 1.E.G. Coffman, Jr. and P.J. Denning Operating Systems Theory,Englewood Cliffs, N.J.: Prentice Hall, 1973, chapter 2.Google Scholar
- 2.E.G. Coffman, Jr., M. J. Elphick and A. Shoshani, "System deadlocks", Computing Surveys, Vol. 3, pp. 67–78, 1971.Google Scholar
- 3.E.W. Dijkstra, "Cooperating sequential processes", in Programming Languages, F. Genuys, Ed., New York: Academic Press, 1968, pp. 43–112.Google Scholar
- 4.M.R. Garey and D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-completeness, San Francisco, California: Freeman and Company, 1979Google Scholar
- 5.A.N. Habermann, "Prevention of systems deadlock", Communications of ACM, Vol. 12, pp. 373–377, 1969.Google Scholar
- 6.J.W. Havender, "Avoiding deadlock in multitasking systems", IBM System Journal, Vol. 7, pp. 74–84. 1968.Google Scholar
- 7.R.C. Holt, "On deadlock in computer systems", Ph.D. dissertation, Dept. of Computer Science, Cornell University, Ithaca, N.Y., 1971.Google Scholar
- 8.O.H. Ibarra and C.E. Kim, "Fast approximation algorithms for the knapsack and sum of subset problems", Journal of ACM, Vol. 22, 1975, pp. 463–468.Google Scholar
- 9.J.Y.-T. Leung, "Complexity of optimal deadlock recovery", Proceedings of Twenty-First Annual Allerton Conference on Communication, Control, and Computing, Urbana-Champaign, Illinois, Oct. 1983, pp. 876–883.Google Scholar
- 10.J. Y.-T. Leung and E.K. Lai, "On minimum cost recovery from system deadlock", IEEE Transactions on Computers, Vol. C-28, 1979, pp. 671–677.Google Scholar
- 11.A.C. Shaw, The Logical Design of Operating Systems, Englewood Cliffs, N.J.: Prentice Hall, 1974, chapter 8.Google Scholar
- 12.A. Shoshani, "Detection, prevention, and recovery from deadlocks in multiprocesses multiple resource systems", Ph.D. dissertation, Dept. of Electrical Engineering, Princeton University, Princeton, N.J., 1969Google Scholar