Skip to main content
Log in

On deadlocks of exclusive AND-requests for resources

  • Published:
Distributed Computing Aims and scope Submit manuscript

Summary

Although there are numerous concurrency control algorithms and they use a variety of techniques, there is an underlying serializability theory that serves both as a basis for analyzing their correctness and as a guide for designing new protocols. Following this paradigm, this paper proposes a uniform framework for characterizing and developing distributed deadlock-related algorithms. The system considered here consists of processes making multiple requests for exclusive access to resources. The results examine the role of process abortion and the asymmetry between processes and resources. To illustrate the generality of the framework, the results are used to analyze several well-known deadlock detectors, thus revealing a common structure among them, despite the variety of techniques they use.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Badal DZ: The distributed deadlock detection algorithm. ACM Trans Comput Syst 4(4): 320–337 (1986)

    Article  Google Scholar 

  2. Bar-Noy A, Dolev D: Shared-memory vs. Message-passing in an asynchronous distributed environment. Proc ACM Symp Principles of Distributed Computing, Edmonton, Alberta (Aug. 1989), pp 307–318

    Google Scholar 

  3. Bernstein PA, Goodman N: Concurrency control in distributed database systems. ACM Comput Surv 13(2): 185–221 (1981)

    Article  MathSciNet  Google Scholar 

  4. Bernstein PA, Hadzilacos V, Goodman N: Concurrency control and recovery in database systems. Addison-Wesley, Reading, Massachusetts, 1987

    Google Scholar 

  5. Bracha G, Toueg S: Distributed deadlock detection. Distrib Comput 2: 127–138 (1987)

    Article  MATH  Google Scholar 

  6. Chandy KM, Lamport L: Distributed snapshots: determining global states of distributed systems. ACM Trans Comput Syst 3(1): 63–75 (1985)

    Article  Google Scholar 

  7. Chandy KM, Misra J: A distributed algorithm for detecting resource deadlocks in distributed systems. Proc ACM Symp Principles of Distributed Computing, Ottawa, Ontario (Aug. 1982), pp 157–164

    Google Scholar 

  8. Chandy KM, Misra J, Haas LM: Distributed deadlock detection. ACM Trans Comput Syst 1(2): 144–156 (1983)

    Article  Google Scholar 

  9. Cidon I, Jaffe JM, Sidi M: Local distributed deadlock detection by cycle detection and clustering. IEEE Trans Softw Eng SE-13, 1: 3–14 (1987)

    Article  Google Scholar 

  10. Dijkstra EW, Scholten CS: Predicate calculus and program semantics. Springer Berlin Heidelberg New York, (1989).

    Google Scholar 

  11. Eswaran KP, Gray JN, Lorie RA, Traiger IL: The notions of consistency and predicate locks in a database system. Commun ACM 19(11): 624–633 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  12. Gries D, Schneider FB: A logical approach to discrete math. Springer, Berlin Heidelberg New York, 1994

    Google Scholar 

  13. Gurevich Y: Logic activities in Europe. SIGACT News 25 (2): 11–24 (1994)

    Article  Google Scholar 

  14. Havender VW: Avoiding deadlock in multitasking. IBM Syst J 2: 74–84 (1968)

    Article  Google Scholar 

  15. Ho GS, Ramamoorthy CV: Protocols for deadlock detection in distributed database systems. IEEE Trans Softw Eng SE-8, 6: 554–557 (1982)

    Article  Google Scholar 

  16. Huang ST: A distributed deadlock detection algorithm for CSP- like communication. ACM Trans Program Lang Syst 12(1): 102–122 (1990)

    Article  Google Scholar 

  17. Knapp E: Deadlock detection in distributed database. ACM Comput Surv 19(4): 303–328 (1987)

    Article  Google Scholar 

  18. Kshemkalyani AD, Singhal M: Correct two-phase and one- phase deadlock detection algorithms for distributed systems. Proc IEEE Symp Parallel and Distributed Processing, Dallas, Texas (Dec. 1990), pp 126–129

    Google Scholar 

  19. Lamport L: Time, clocks, and the ordering of events in a distributed system. Commun ACM 21(7): 558–565 (1978)

    Article  MATH  Google Scholar 

  20. Marzullo K, Sabel L: Using consistent subcuts for detecting stable properties. Proc WDAG ’91, Delphi, Greece (Oct 1991), pp 273–288

    Google Scholar 

  21. Mattern F: Virtual time and global states of distributed systems. In: Cosnard M et al (eds) Parallel and distributed algorithms. North-Holland (1989), pp 215–226

  22. Minoura T: Deadlock avoidance revisited. J ACM 29(4): pp 1023–1048 (1982)

    Article  MATH  MathSciNet  Google Scholar 

  23. Mitchell DP, Merritt MJ: A distributed algorithm for deadlock detection and resolution. Proc ACM Symp Principles of Distributed Computing, Vancouver, British Columbia (Aug. 1984), pp 282–284

    Google Scholar 

  24. Obermarck R: Distributed deadlock detection algorithm. ACM Trans Database Syst 7(2): 187–208 (1982)

    Article  Google Scholar 

  25. Papadimitriou CH: The theory of database concurrency control. Computer Science Press, Rockville, Maryland, 1986

    MATH  Google Scholar 

  26. Reddy PK, Bhalla S: Deadlock prevention in a distributed database system. SIGMOD Record 22(3): 40–46 (1993)

    Article  Google Scholar 

  27. Rosenkrantz DJ, Stearns RE, Lewis II PM: System level concurrency control for distributed database systems. ACM Trans Database Systems 3(2): 178–198 (1978)

    Article  Google Scholar 

  28. Rukoz M: Hierarchical deadlock detection for nested transactions. Distrib Comput 4: 123–129 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  29. Sanders BA, Heuberger PA: Distributed deadlock detection and resolution with probes. Proc Int Conf Distributed Algorithms (Sept. 1989), LNCS 392, Springer, Berlin Heidelberg New York, pp 207–218

    Google Scholar 

  30. Sinha MK, Natarajan N: A priority based distributed deadlock detection algorithm. IEEE Trans Softw Eng SE-11 (1): 67–80 (1985)

    Google Scholar 

  31. Tay YC: What is a deadlock? In: Cosnard M, Puigjaner R (eds). Decentralized and distributed systems. Elsevier, Amsterdam, pp 49–60, 1993

    Google Scholar 

  32. Toueg S, Ullman JD: Deadlock-free packet switching networks. SIAM J Comput 10: 594–611 (1981)

    Article  MATH  MathSciNet  Google Scholar 

  33. Valiant L: A bridging model for parallel computation. Commun ACM 33(8): 103–111 (1990)

    Article  Google Scholar 

  34. Wuu GT, Bernstein AJ: False deadlock detection in distributed systems. IEEE Trans Softw Eng SE-11, 8: 820–821 (1985)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Y. C. Tay.

Additional information

Y.C. Tay received a B.Sc. in Mathematics from the University of Singapore in 1980, and a Ph.D. in Applied Mathematics from Harvard University in 1984. His current interests are in database systems, performance evaluation and distributed computing.

Tim Loke received a B.A. in Philosophy and Physics from Rice University in 1994, and was promptly enlisted by the Singapore Armed Forces. At present, he is vigorously defending his nation in his capacity as a Lance Corporal and clerical assistant.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Tay, Y.C., Loke, W.T. On deadlocks of exclusive AND-requests for resources. Distrib Comput 9, 77–94 (1995). https://doi.org/10.1007/s004460050011

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s004460050011

Key words

Navigation