Abstract
The problem of deadlock detection in distributed systems has undergone extensive study. An important application relates to distributed database systems. A uniform model in which published algorithms can be cast is given, and the fundamental principles on which distributed deadlock detection schemes are based are presented. These principles represent mechanisms for developing distributed algorithms in general and deadlock detection schemes in particular. In addition, a hierarchy of deadlock models is presented; each model is characterized by the restrictions that are imposed upon the form resource requests can assume. The hierarchy includes the well-known models of resource and communication deadlock. Algorithms are classified according to both the underlying principles and the generality of resource requests they permit. A number of algorithms are discussed in detail, and their complexity in terms of the number of messages employed is compared. The point is made that correctness proofs for such algorithms using operational arguments are cumbersome and error prone and, therefore, that only completely formal proofs are sufficient for demonstrating correctness.
- AWERBUCH, B., AND MICALI, S. 1986. Dynamic deadlock resolution protocols, in Proceedings of the Foundations of Computer Science (Toronto, Canada). IEEE, New York, pp. 196-207.Google Scholar
- BERNSTEIN, P. A., HADZILACOS, V., AND GOODMAN, N. 1987. Concurrency Control and Recovery in Database Systems. Addison Wesley, Reading, Mass. Google Scholar
- BRACHA, G., AND TOUEG, S. 1983. A distributed algorithm for generalized deadlock detection. Tech. Rep. TR 83-558, Cornell Univ., Ithaca, N.Y.Google Scholar
- BRACHA, G., AND TOUEG, $. 1984. A distributed algorithm for generalized deadlock detection. In Proceedings of the A CM Symposium on Principles of Distributed Computing (Vancouver, Canada, Aug.). ACM, New York, pp. 285-301. Google Scholar
- CHANDY, K. M., AND LAMPORT, L. 1985. Distributed snapshots: Determining global states of distributed systems. A CM Trans. Program. Lang. Syst. 3, i (Feb.), 63-75. Google Scholar
- CHANDY, K. M., AND MISRA, J. 1982. A distributed algorithm for detecting resource deadlocks in distributed systems. In Proceedings of the A CM Symposium on Principles of Distributed Computing (Ottawa, Canada, Aug.). ACM, New York, pp. 157-164. Google Scholar
- CHANDY, K. M., AND MISRA, J. 1986. An example of stepwise refinement of distributed programs: Quiescence detection. A CM Trans. Program. Lang. Syst. 8, 3 (July), 326-343. Google Scholar
- CHANDY, K. M., MISRA, J., AND HAAS, L. M. 1983. Distributed deadlock detection. A CM Trans. Comput. Syst. 1, 2 (May), 144-156. Google Scholar
- CHANG, E. 1982. Echo algorithms: Depth parallel operations on general graphs. IEEE Trans. Softw. Eng. SE-8, 4 (July), 391-401.Google Scholar
- DIJKSTRA, E. W., AND SCHOLTEN, C. S. 1980. Termination detection for diffusing computations. In{. Process. Lett. 11, I (Aug.).Google Scholar
- DIJKSTRA, E. W., FEIJEN, W., AND VAN GASTEREN, A. J. M. 1983. Derivation of a termination detection algorithm for distributed computations. Inf. Process. Lett. 16, 5 (June), 217-219.Google Scholar
- ELMAGARMID, A. K. 1985. Deadlock detection and resolution in distributed processing systems. Ph.D. dissertation, Dept. of Electrical Engineering, Ohio State Univ., Columbus, Ohio. Google Scholar
- ELMAGARMID, A. K. 1986. A survey of distributed deadlock detection algorithms. A CM SIGMOD Rec. 15, 3 (Sept.). Google Scholar
- GAFNI, E. 1986. Perspectives on distributed network protocols: A case for building blocks. In IEEE Military Communications Conference (Monterey, Calif.). IEEE, New York, pp. 1.1.1-1.1.5.Google Scholar
- GIFFORO, D. G. 1979. Weighted voting for replicated data. In Proceedings of the 7th ACM Symposium on Operating Systems Principles (Pacific Grove, Calif., Dec.). ACM, New York, pp. 150-163. Google Scholar
- GLIGOR, V., AND SHATTUCK, S. 1980. On deadlock detection in distributed databases. IEEE Trans. Softw. Eng. SE-6, 5 (Sept.).Google Scholar
- GRAY, J. N., HOMAN, P., KORTH, H. F., AND OBER- MARCK, R. L. 1981. A straw man analysis of the probability of waiting and deadlock in a database system. Tech. Rep. RJ 3066, IBM Research Laboratory, San Jose, Calif.Google Scholar
- HAAS, L. M. 1981. Two approaches to deadlock detection in distributed systems. Ph.D. dissertation, Dept. of Computer Sciences, Univ. of Texas, Austin, Tex. Google Scholar
- HAAS, L. M., AND MOHAN, C. 1983. A distributed deadlock detection algorithm for a resource-based system. Res. Rep. RJ 3765, IBM Research Laboratory, San Jose, Calif.Google Scholar
- H~LARY, J., JARD, C., PLOUZEAU, N., AND RAYNAL, M. 1987. Detection of stable properties in distributed applications. In Proceedings of the A CM Symposium on Principles of Distributed Computing (Vancouver, Canada, Aug.). ACM, New York, pp. 125-136. Google Scholar
- HERMANN, T., AND CHANDY, K. M. 1983. A distributed procedure to detect AND/OR deadlock. Tech. Rep. TR LCS-8301, Dept. of Computer Sciences, Univ. of Texas, Austin, Tex.Google Scholar
- HO, G. S., AND RAMAMOORTHY, C. V. 1982. Protocols for deadlock detection in distributed database systems. IEEE Trans. So{tw. Eng. SE- 8, 6 (Nov.), 554-557.Google Scholar
- HOLT, R. C. 1972. Some deadlock properties on computer systems. ACM Comput. Surv. 4, 3 (Sept.), 179-196. Google Scholar
- JAGANNATHAN, J. R., AND VASUDEVAN, R. 1982. A distributed deadlock detection and resolution scheme; performance study. In Proceedings of the Third International Conference on Distributed Computing Systems (Miami, Fla.). IEEE, New York, pp. 496-501.Google Scholar
- LAMPORT, L. 1978. Time, clocks, and the ordering of events in distributed systems. Commun. ACM 21, 7 (July), 558-565. Google Scholar
- MENASCE, D., AND MUNTZ, R. 1979. Locking and deadlock detection in distributed databases. IEEE Trans. So{tw. Eng. SE-5, 3 (May).Google Scholar
- MISRA, J. 1983. Detecting termination of distributed computations using markers. In Proceedings of the ACM Symposium on Principles of Distributed Computing (Montreal, Canada, Aug.). ACM, New York, pp. 290-294. Google Scholar
- MISRA, J., AND CHANDY, K. M. 1982a. A distributed graph algorithm: Knot detection. A CM Trans. Program. Lang. Syst. 4, 4 (Oct.), 678-686. Google Scholar
- MISRA, J., AND CHANDY, K. M. 1982b. Termination detection of diffusing computations in communicating sequential processes. A CM Trans. Program. Lang. Syst. 4, i (Jan.), 37-43. Google Scholar
- MITCHELL, D. P., AND MERRITT, M. J. 1984. A distributed algorithm for deadlock detection and resolution. In Proceedings of the A CM Symposium on Principles o{ Distributed Computing. ACM, New York, pp. 282-284. Google Scholar
- NATARAJAN, N. 1986. A distributed scheme for detecting communication deadlock. IEEE Trans. So{tw. Eng. SE-12, 4 (Apr.), 531-537. Google Scholar
- OBERMARCK, R. 1980. Deadlock detection for all resource classes. Res. Rep. RJ2955, IBM Research Laboratory, San Jose, Calif.Google Scholar
- OBERMARCK, R. 1982. Distributed deadlock detection algorithm. ACM Trans. Database Syst. 7, 2 (June), 187-208. Google Scholar
- PAPADIMITRIOU, C. 1987. The Theory of Database Concurrency Control. Computer Science Press, Rockville, Md. Google Scholar
- R~UCHLE, T., AND TOUEG, S. 1983. Exposure to deadlock for communicating processes is hard to detect. Tech. Rep. TR 83-555, Cornell Univ., Ithaca, N.Y. Google Scholar
- SINHA, M. K., AND NATARAJAN, N. 1984. A distributed deadlock detection algorithm based on timestamps. In Proceedings of the 4th International Con{erence on Distributed Computing Systerns. IEEE, New York, pp. 546-556.Google Scholar
- ZOBEL, D. 1983. The deadlock problem: A classifying bibliography. Operat. Syst. Rev. 17, 2 (Oct.), 6-15. Google Scholar
- BADAL, D. Z., AND GEHL, M. T. 1983. On deadlock detection in distributed computing systems. In IEEE INFOCOM. IEEE, New York.Google Scholar
- BRACHA, G. 1985. Randomized agreement protocols and distributed deadlock detection algorithms. Ph.D. dissertation, Cornell Univ., Ithaca, N.Y. Google Scholar
- COHEN, S., AND LEHMANN, D. 1982. Dynamic systems and their distributed termination. In Proceedings of the A CM Symposium on Principles of Distributed Computing (Ottawa, Canada, Aug.). ACM, New York, pp. 29-33. Google Scholar
- DIJKSTRA, E. W. 1982. Distributed termination detection revisited. EWD 828, Plataanstraat 5, 5671 A1 Nuenen, The Netherlands.Google Scholar
- FRANCEZ, N. 1980. Distributed termination. A CM Trans. Program. Lang. Syst. 2, 1 (Jan.), 42-55. Google Scholar
- FRANCEZ, N., AND RODEH, M. 1982. Achieving distributed termination without freezing. IEEE Trans. Softw. Eng. SE-8, 3 (May), 287-292.Google Scholar
- FRANCEZ, N., RODEH, M., AND SINTZOFF, M. 1981. Distributed termination with interval assertions. In Proceedings of Formalization of Programming Concepts (Peninsula, Spain). Springer Verlag, New York. Google Scholar
- GOLDMAN, B. 1985. Deadlock detection in computer networks. Tech. Rep. LCS TR-185, Massachusetts Institute of Technology, Cambridge, Mass. Google Scholar
- GOUDA, M. 1981. Distributed state exploration for protocol validation. Tech. Rep. TR-185, Dept. of Computer Sciences, Univ. of Texas, Austin, Tex. Google Scholar
- ISLOOR, S. S., AND MARSLAND, T. A. 1980. The deadlock problem: An overview. Computer (Sept.), 58-70.Google Scholar
- JAGANNATHAN, J. R., AND VASUDEVAN, R. 1982. Detection and resolution of deadlocks in distributed systems. Tech. Rep. 82-108-27, Univ. of Calgary, Calgary, Alta., Canada.Google Scholar
- KORTH, H. F., KRISHNAMURTHY, R., NIGAM, A., AND ROBINSON, J. T. 1983. A framework for understanding distributed (deadlock detection) algorithms. In Proceedings of the Second A CM Symposium on Principles of Database Systems (Atlanta, Ga., Mar.). ACM, New York, pp. 192-201. Google Scholar
- MARSLAND, T. A., AND ISLOOR, S. S. 1980. Detection of deadlocks in distributed database systems. INFOR 18, i (Feb.), 1-20.Google Scholar
- TSAI, W. 1982. Distributed deadlock detection in distributed database systems. Ph.D. dissertation, Univ. of Illinois at Urbana-Champaign, Urbana, Ill. Google Scholar
- TSAI, W., AND BELFORD, G. 1982. Detecting deadlock in distributed systems. In IEEE INFOCOM. IEEE, New York, pp. 89-95.Google Scholar
- WUU, G. T., AND BERNSTEIN, A. J. 1985. False deadlock detection in distributed systems. IEEE Trans. Softw. Eng. SE-11, 8 (Aug.), 820-821.Google Scholar
Recommendations
False Deadlock Detection in Distributed Systems
Annals of discrete mathematics, 24Detecting a nonexistent deadlock in distributed systems has been referred to as false deadlock detection. This correspondence shows that false deadlock wi1l never occur in a system of two-phase locking transactions. We also describe an algorithm to ...
A Priority Based Distributed Deadlock Detection Algorithm
Deadlock handling is an important component of transaction management in a database system. In this paper, we contribute to the development of techniques for transaction management by presenting an algorithm for detecting deadlocks in a distributed ...
Deadlock Detection Views of Distributed Database
ITNG '09: Proceedings of the 2009 Sixth International Conference on Information Technology: New GenerationsDeadlock detection is very difficult in a distributed database system because no controller has complete and current information about the system and data dependencies. The deadlock problem is intrinsic to a distributed database system which employs ...
Comments