This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
An Efficient Distributed Deadlock Avoidance Algorithm for the AND Model
January 2002 (vol. 28 no. 1)
pp. 18-29

A new rank-based distributed deadlock avoidance algorithm for the AND resource request model is presented. Deadlocks are avoided by dynamically maintaining an invariant $Con(WFG)$: For each pair of processes $p_i$ and $p_j$, $p_i$ is allowed to wait for process $p_j$ iff the rank of $p_j$ is greater than that of $p_i$ for the WFG (Wait-For Graph). Our algorithm neither restricts the order of resource requests nor needs a priori information about resource requests nor causes unnecessary abortion of processes. Multidimensional ranks, which are partially ordered and dynamically modified, are used to drastically reduce the cost of maintaining $Con(WFG)$. Our simulation results show that the performance of our algorithm is better than that of existing algorithms.

[1] S. Katz and O. Shmueli, “Cooperative Distributed Algorithms for Dynamic Cycle Prevention,” IEEE Trans. Software Eng., vol. 13, no. 5, pp. 541-553, May 1987.
[2] D.J. Rosenkrantz, R.E. Stearns, and P.M. Lewis II, "System Level Concurrency Control for Distributed Database Systems," ACM Trans. Database Systems, vol. 3, no. 2, pp. 178-198, June 1978.
[3] M.K. Sinha and N. Natarajan, “A Priority Based Distributed Deadlock Detection Algorithm,” IEEE Trans. Software Eng., vol. 11, no. 1, pp. 67-80, Jan. 1985.
[4] A.L. Choudhary, W.H. Kohler, J.A. Stankovic, and D. Towsley, “A Modified Priority Based Probe Algorithm for Distributed Deadlock Detection and Resolution,” IEEE Trans. Software Eng., vol. 15, no. 1, pp. 10-17, Jan. 1989.
[5] M. Roesler and W. A. Burkhard, “Resolution of Deadlocks in Object-Oriented Distributed Systems,” IEEE Trans. Computers, vol. 38, no. 8, pp. 1,212-1,224, Aug. 1989.
[6] A.D. Kshemkalyani and M. Singhal, "Efficient Detection and Resolution of Generalized Distributed Deadlocks," IEEE Trans. Software Eng., vol. 20, no. 1, pp. 43-54, Jan. 1994.
[7] 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.
[8] A.D. Kshemkalyani and M. Singhal, A One-Phase Algorithm to Detect Distributed Deadlocks in Replicated Databases IEEE Trans. Knowledge and Data Eng., vol. 11, no. 6, pp. 880-895, Nov. 1999.
[9] M. Singhal, “Deadlock Detection in Distributed Systems,” Computer, pp. 37-47, Nov. 1989.
[10] D.-S. Ryang and K.H. Park, “A Two Level Distributed Detection Algorithm ofAND/OR Deadlocks,” J. Parallel and Distributed Computing, vol. 28, pp. 149-161, 1995.
[11] N. Natarajan, "A Distributed Scheme for Detecting Communication Deadlocks," IEEE Trans. Software Eng., vol. 12, no. 4, pp. 531-537, Apr. 1986.
[12] S.T. Huang, ”A Distributed Deadlock Detection Algorithm for CSP-Like Communication,” ACM Trans. Programming Language and Systems, vol. 12, no. 1, pp. 102-122, Jan. 1990.
[13] Y.C. Park, P. Scheuermann, and H.-L. Tung, “A Distributed Deadlock Detection and Resolution Algorithm Based on A Hybrid Wait-for Graph and Probe Generation Scheme,” Proc. 10th Int'l Conf. Information and Knowledge Management, 1995.
[14] S. Chen, Y. Deng, P.C. Attie, and W. Sun, Optimal Deadlock Detection in Distributed Systems Based on Locally Constructed Wait-For Graphs Proc. Int'l Conf. Distributed Computing Systems, pp. 613-619, May 1996.
[15] H. Liu, R.E. Miller, H. Van Der Schoot, and H. Ural, “Deadlock Detection by Pair Reachability Analysis: From Cyclic to Multi-Cyclic Protocols (and Beyond?),” Proc. 21st Int'l Conf. Distributed Computing Systems, pp. 605-612, 1996.
[16] S. Wang and G. Vossen;, “Towards Efficient Algorithms for Deadlock Detection and Resolution in Distributed Systems,” Proc. Fifth Int'l Conf. Data Eng., pp. 287-294, 1989.
[17] B.A. Sanders and P.A. Heuberger, “Distributed Deadlock Detection and Resolution with Probes,” Proc. Workshop Distributed Algorithms, pp 207-218, 1989.
[18] G. Bracha and S. Toueg, “Distributed Deadlock Detection,” Distributed Computing, vol. 2, no. 3, pp. 127-138, 1987.
[19] M. Rukoz, “Hierarchical Deadlock Detection for Nested Transactions,” Distributed Computing, vol. 4, pp. 123-129, 1991.
[20] M. Hofri, “On Timeout for Global Deadlock Detection in Decentralized Database Systems,” Information Processing Letters, vol. 51, no. 6, pp. 295-302, 1994.
[21] G. Song, D. Park, D. Lee, K.H. Park, and M. Kim, “A Distributed Deadlock Detection Algorithm: Distributed Graph Reconstruction Algorithm,” Information Processing Letters, vol. 30, no. 5, pp. 245-252, 1989.
[22] K.M. Chandy, J. Misra, and L. Hass, "Distributed Deadlock," ACM Trans. Computer Systems, vol. 1, no. 2, pp. 144-156, May 1983.
[23] D.Z. Badal, “The Distributed Deadlock Detection Algorithm,” ACM Trans. Computer Systems, vol. 4, no. 4, pp. 320-337, 1986.
[24] A.K. Elmagarmid, N. Soundararajan, and M.T. Liu, “A Distributed Deadlock Detection and Resolution Algorithm and Its Correctness Proof,” IEEE Trans. Software Eng., vol. 14, no. 10, pp. 1443-1452, Oct. 1988.
[25] I. Cidon, J.M. Jaffe, and M. Sidi, “Local Distributed Deadlock Detection by Cycle Detection and Clustering,” IEEE Trans. Software Eng, vol. 13, no. 1, pp. 3-14, Jan. 1987.
[26] Y.C. Tay, “What Is A Deadlock?” Proc. IFIP WG10.3 Int'l Conf. Decentralized and Distributed Systems, Sept. 1993
[27] E. Knapp, "Deadlock Detection in Distributed databases Systems," ACM Computing Surveys, pp. 303-328, Dec. 1987.
[28] I. Terekhov and T. Camp, “Time Efficient Deadlock Resolution Algorithms,” Information Processing Letters, vol. 69, pp. 149-154, 1999.
[29] F. Belik, “An Efficient Deadlock Avoidance Technique,” IEEE Trans. Computers, vol. 39, no. 7, pp. 882-888, July 1990.
[30] K. Luo et al., “Optimal Deadlock Resolutions in Edge-Disjoint Reducible Wait-for Graph,” Information Processing Letters, no. 38, pp. 307-313, June 1991.
[31] Y.C. Park, P. Scheuermann, and S.H. Lee, “A Periodic Deadlock Detection and Resolution Algorithm with a New Graph Model for Sequential Transaction Processing,” Proc. Eighth Int'l Conf. Data Eng., pp. 202-209, 1992.
[32] T.F. Leibfried Jr., “A Deadlock Detection and Recovery Algorithm Using the Formalism of a Directed Graph Matrix,” Operation Systems Review, vol. 23, no. 2, pp. 45-55, 1989.

Index Terms:
distributed deadlock avoidance, partially ordered rank, wait-for graph, concurrency control
Citation:
H. Wu, W.N. Chin, J. Jaffar, "An Efficient Distributed Deadlock Avoidance Algorithm for the AND Model," IEEE Transactions on Software Engineering, vol. 28, no. 1, pp. 18-29, Jan. 2002, doi:10.1109/32.979987
Usage of this product signifies your acceptance of the Terms of Use.