This Article 
 Bibliographic References 
 Add to: 
A Safe Algorithm for Resolving OR Deadlocks
July 2003 (vol. 29 no. 7)
pp. 608-622

Abstract—Deadlocks in the OR model are usually resolved by aborting a deadlocked process. Prior algorithms for the same model sometimes abort nodes needlessly wasting computing resources. This paper presents a new deadlock resolution algorithm for the OR model that satisfies the following correctness criteria: (Safety) the algorithm does not resolve false deadlocks; (Liveness) the algorithm resolves all deadlocks in finite time. The communication cost of the algorithm is similar to that of previous nonsafe proposals. The theoretical cost has been validated by simulation. In addition, different algorithm initiation alternatives have been analyzed in order to reduce the latency of deadlocks.

[1] M. Singhal, “Deadlock Detection in Distributed Systems,” Computer, pp. 37-47, Nov. 1989.
[2] E. Knapp, "Deadlock Detection in Distributed databases Systems," ACM Computing Surveys, pp. 303-328, Dec. 1987.
[3] S. Warnakulasuriya and T.M. Pinkston, A Formal Model of Message Blocking and Deadlock Resolution in Interconnection Networks IEEE Trans. Parallel and Distributed Systems, vol. 11, no. 2, pp. 212-229, Mar. 2000.
[4] D.A. Menasce and R.R. Muntz, Locking and Deadlock Detection in Distributed Databases IEEE Trans. Software Eng., vol. 5, no. 3, pp. 195-202, May 1979.
[5] R. Obermark, "Distributed Deadlock Detection Algorithm," ACM Trans. Database Systems, vol. 7, no. 2, pp. 187-208, June 1982.
[6] K.M. Chandy, J. Misra, and L. Hass, "Distributed Deadlock," ACM Trans. Computer Systems, vol. 1, no. 2, pp. 144-156, May 1983.
[7] J. Brzezinski, J.M. Helary, M. Raynal, and M. Singhal, “Deadlock Models and Generalized Algorithm for Distributed Deadlock Detection,” J. Parallel and Distributed Computing, vol. 31, no. 2, pp. 112-125, Dec. 1995.
[8] A.D. Kshemkalyani and M. Singhal, “Invariant-Based Verification of a Distributed Deadlock Detection Algorithm,” IEEE Trans. Software Eng., vol. 17, no. 8, pp. 789-799, Aug. 1991.
[9] J.R. González de Mendívil, F. Fariña, A. Demaille, and J.R. Garitagoitia, A Simple Distributed Deadlock Solver Proc. EUROMICRO Design of Hardware/Software Systems Conf., pp. 587-594, Jan. 1995.
[10] J.R. González de Mendívil, F. Farina, J.R. Garitagoitia, C.F. Alastruey, and J.M. Bernabeu-Auban, “A Distribued Deadlock Resolution Algorithm for the AND Model,” IEEE Trans. Parallel and Distributed Systems, vol. 10, no. 5, pp. 433-447, May 1999.
[11] M. Singhal and N.G. Shivaratri, Advanced Concepts in Operation Systems: Distributed, Database, and Multiprocessor Operating Systems. McGraw-Hill, 1994.
[12] K.M. Chandy and J. Misra, "A Distributed Graph Algorithm: Knot Detection," ACM Trans. Program Language Systems, vol. 4, pp. 678-686, Oct. 1982.
[13] K. Brahmadathan and S. Venkatesan, On Finding Strongly Connected Components Distributively Proc. Allerton Conf. Comm, Control, and Computing, pp. 683-692, 1988.
[14] I. Cidon, "An Efficient Distributed Knot Detection Algorithm," IEEE Trans. Software Eng., vol. 15, no. 5, pp. 644-649, May 1989.
[15] P. Rontogiannis, G. Pavlides, and A. Levy, Distributed Algorithm for Communication Deadlock Detection Information and Software Technology, vol. 33, no. 7, pp. 483-488, Sept. 1991.
[16] S. Rana and M. Vandenberg, Message Efficient Algorithms for Detection of Knots and Cycles in a Distributed Graph Proc. Sixth IASTED/ISMM Int'l Conf. Parallel and Distributed Computing and Systems, pp. 234-237, 1994.
[17] A. Boukerche and C. Tropper, A Distributed Algorithm for the Detection of Local Cycles and Knots Proc. Int'l Parallel Processing Symp., pp. 118-127, 1995.
[18] E.W. Dijkstra and G.S. Scholten, Termination Detection for Diffusing Computations Information Processing Letters, vol. 11, no. 1, pp. 1-4, Aug. 1980.
[19] J. Misra and K.M. Chandy, “Termination Detection of Diffusing Computations in Communicating Sequential Processes,” ACM Trans. Programming Language and Systems, vol. 4, no. 1, pp. 37-43, Jan. 1982.
[20] W.K. Ng and C.V. Ravishankar, On-Line Detection and Resolution of Communication Deadlocks Proc. 27th Ann. Hawaii Int'l Conf. System Science, pp. 524-533, 1994.
[21] N.A. Lynch and M.R. Tuttle, An Introduction to Input/Output Automata CWI Quarterly, vol. 2, no. 3, pp. 219-246, Sept. 1989.
[22] J. Villadangos, F. Fariña, J.G. de Mendívil, J.R. Garitagoitia, J.M. Bernabéu-Aubán, and G. Vossen, Resolving Distributed Deadlocks in the OR Request Model Technical Report 08/99-I, Angewandte Mathematik und Informatik; Univ. Münster, 1999.
[23] K. Min, “Performance Study of Distributed Deadlock Detection Algorithms for Distributed Database Systems,” PhD thesis, Dept. of Computer Science, Univ. of Illinois at Urbana-Champaign, 1990.
[24] D. Lee and M. Kim, “A Distributed Scheme for Dynamic Deadlock Detection and Resolution,” Information Sciences, vol. 64, pp. 149-164, 1992.

Index Terms:
Deadlock detection/resolution, OR request model, distributed systems, distributed algorithms.
Jes? Villadangos, Federico Fari?, Jos? Ram? Gonz?lez de Mend?vil, Jos? Ram? Garitagoitia, Alberto C?rdoba, "A Safe Algorithm for Resolving OR Deadlocks," IEEE Transactions on Software Engineering, vol. 29, no. 7, pp. 608-622, July 2003, doi:10.1109/TSE.2003.1214325
Usage of this product signifies your acceptance of the Terms of Use.