The parallel complexity of deadlock detection

  • Paul Spirakis
Part of the Lecture Notes in Computer Science book series (LNCS, volume 233)


When serially reusable multiunit resources are shared among many processes, each of which has exclucive control over some resource units, it is possible for deadlocks to happen. The work of Holt, [ Holt, 71b], stated the problem of deadlock detection as a directed multigraph problem. In this paper we examine the possibility of existence of fast parallel algorithms for deadlock detection. Although many graph problems have efficient parallel solutions (in parallel polylogarithic time, by using only a polynomial number of processors), we present strong evidence that this is not the case for the general deadlock detection problem. We show that the problem is complete in P under log-space reductions and thus probably not efficiently parallelizable. Fortunately, when the problem is restricted (e.g. single-unit requests of processes or single-unit resources), then it falls in NC. We present efficient parallel algorithms for the restricted versions of the deadlock detection problem.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Coffman, Denning, 73]
    E.G. Coffman and P.J. Denning.: "Operating Systems Theory" Prentice-Hall, Englewood Cliffs, New Jersey, 1973.Google Scholar
  2. [Dijkstra, 65]
    E.W. Dijkstra.: "Solution of a Problem in Concurrent Programming Control", CACM, Vol. B., No 9, Sept. 1965.Google Scholar
  3. [Dobkin et al., 79]
    Dobkin D., R.J. Lipton and S. Reiss.: "Linear Programming is log-space hard for P", Information Processing Lett. 9(2), 96–97, 1979.Google Scholar
  4. [Dymond, 83]
    Dymond P.W. and M. Tompa.: "Speedups of determinstic machines by synchronous parallel machines", Proc. 15th Symp. on Theory of Computing, Boston M.A., April 1983.Google Scholar
  5. [Gligor, shattuck, 80]
    V.D. Gligor and S.H. Shattuck.: "On Deadlock Detection in Distributed Systems", IEEE Trans. on Software Engineering, Vol. SE-6. No 5, Sept. 1980.Google Scholar
  6. [Gold, 78]
    E.M. Gold.: "Deadlock Prediction: Easy and Difficult Cases", Vol. 7, No. 3 Aug. 1978.Google Scholar
  7. [Goldschlager et al, 82]
    Goldschlager L.M., R.A. Show and J. Staples.: "The maximum flow problem is log-space complete for P", Theoretical Computer Science, 21 105–111, 1982.Google Scholar
  8. [Habermann, 69]
    A.N. Habermann.: "Prevention of System Deadlock", CACM, Vol. 12, No. 7, July 1969.Google Scholar
  9. [Holt, 71]
    R.C. Holt.: "Comments on Prevention of Systems Deadlocks", CACM, Vol. 14, No. 1, Jan. 1971.Google Scholar
  10. [Holt, 71b]
    R.C. Holt.: "On Deadlock in Computer Systems", Ph.D. Thesis, Cornell Unic., 1971.Google Scholar
  11. [Holt, 72]
    R.C. Holt.: "Some Deadlock Properties of Computer Systems", Computing Surveys, Vol. 4, No. 3, Sept. 1972.Google Scholar
  12. [Ja'Ja', 78]
    J.Ja'Ja'.: "Parallel Graph Algorithms", Tech. Report, Penn. State University, 1978.Google Scholar
  13. [Jones, Laaser, 77]
    Jones N.D. and W.T. Laaser.: "Complete problems for deterministic polynomial time", Theort. Comput. Sci. 3(1), 105–117, 1976.Google Scholar
  14. [Kameda, 80]
    T. Kameda.: "Testing Deadlock-Freedom of Computer Systems", JACM, Vol. 27, No.2. Apr. 1980.Google Scholar
  15. [Ladner, 75]
    Ladner R.E.: "The Circuit value problem is log-space complete for P", SIGACT news 7(1), 18–20 (1975).Google Scholar
  16. [Menasce, Muntz, 79]
    D. Menasce and R.R. Muntz.: "Locking and Deadlock Detection in Distributed Data Bases", IEEE Trans. on Software Eng., Vol. SE-5, No. 3 May 1979.Google Scholar
  17. [Minoura, 82]
    T. Minoura.: "Deadlock Avoidance Revisited", JACM, Vol. 24, No.4 Oct. 1982.Google Scholar
  18. [Obermark, 82]
    R. Obermark.: "Distributed Deadlock Detection Algorithm", ACM TODS, Vol. 7, No.2, June 1982.Google Scholar
  19. [Peterson, Silberchatz, 83]
    J. Peterson and A. Silberchatz.: "Operating System Concepts", Addison-Welsey, 1983.Google Scholar
  20. [Reif, 82]
    Reif J.H.: "On the power of probabilistic choice in synchronous parallel computations", 9th International Colloquium on Automata, Languages and Programming, Aarthus, Denmark, 442–450, July 1982.Google Scholar
  21. [Rosenkrantz et al, 78]
    D.G. Rosenkrantz, R.E. Stearns and Lewis P.M.: "System Level Concurrency Control for Distributed Database Systems", ACM TODS, Vol. 3, No.2, June 1978.Google Scholar
  22. [Savage, Ja'Ja', 81]
    Savage C. and J. Ja'Ja'.: Fast Efficient Parallel algorithms for some graph problems", SIAM J. Comp. 10(4), 1981.Google Scholar
  23. [Schwartz, 80]
    J. Schwartz.: "Ultracomputers", ACM Transactions on Programming Languages and System, 1980.Google Scholar
  24. [Shaw 74]
    A.C. Shaw.: "The Logical Design of Operating Systems", Prentice Hall, Englewood Cliffs, N.J. 1974.Google Scholar
  25. [Wyllie, 79]
    Wyllie J.C.: "The Complexity of Parallel Computations", Ph. D. Thesis and Tch. Report 79-387, Dept. of C.S. Cornell Univ. 1979.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1986

Authors and Affiliations

  • Paul Spirakis
    • 1
    • 2
  1. 1.Courant Institute of Math. SciencesUSA
  2. 2.Computer Technology InstituteGreece

Personalised recommendations