OR 모델 기반의 분산 교착상태 발견 및 복구 기법

A Distributed Deadlock Detection and Resolution Algorithm for the OR Model

  • 이수정 (인천교육대학교 컴퓨터교육과)
  • Lee, Soo-Jung (Dept.of Computer Education, Gyeongin National University of Education)
  • 발행 : 2002.10.01

초록

분산시스템에서는 어느 한 사이트가 전체 시스템의 상태 정보를 알 수 없기 때문에 분산 교착상태의 발견은 어려운 문제로 알려져 왔다. 본 논문은 분산 교착상태의 발견 및 해결을 위한 시간 효율적인 알고리즘을 제안한다. 알고리즘의 시작노드는 교착상태 발견을 위한 메시지를 전파하고 이에 대한 응답 정보로부터 wait-for graph를 구축한다. 제시한 알고리즘은 기존에 비해 교착상태를 발견하는데 걸리는 시간을 반으로 단축시키는 장점이 있다. 또한 대부분의 연구결과가 단지 알고리즘의 시작노드가 교착상태에 속하였는지의 여부를 판단할 수 있는 것과는 달리 본 알고리즘은 알고리즘을 수행하는 모든 노드들에 대해 그같은 결과를 말해준다. 이러한 특성으로 인해 교착상태는 보다 신속히 발견될 수 있다. 더우기 이제까지 교착상태의 해결에 대해 무관심하였거나 알고리즘의 시작노드를 중지시킴으로써 해결하였던 것에 반해 본 알고리즘은 효율적이고 상세한 교착상태 해결방법을 제시하였다.

Deadlock detection in distributed systems is considered difficult since no single site knows the exact information on the whole system state. This paper proposes a time-efficient algorithm for distributed deadlock detection and resolution. The initiator of the algorithm propagates a deadlock detection message and builds a reduced wait-for graph from the information carried by the replies. The time required for deadlock detection is reduced to half of that of the other algorithms. Moreover, any deadlock reachable from the initiator is detected whereas most previous algorithms only find out whether the initiator is involved in deadlock. This feature accelerates the detection of deadlock. Resolution of the detected deadlock is also simplified and precisely specified, while the current algorithms either present no resolution scheme or simply abort the initiator of the algorithm upon detecting deadlock.

키워드

참고문헌

  1. R. C. Holt, 'Some deadlock properties of computer systems,' ACM Computing Surveys, Vol. 4, pp. 179-196, 1972 https://doi.org/10.1145/356603.356607
  2. M. Singhal, 'Deadlock detection in distributed systems,' IEEE Computer, Vol. 22, pp. 37-48, 1989 https://doi.org/10.1109/2.43525
  3. S. Lee and J. L. Kim, 'Performance Analysis of Distributed Deadlock Detection Algorithms, ' IEEE Transactions on Knowledge and Data Engineering, Vol. 13, No.4, pp.623-636, 2001 https://doi.org/10.1109/69.940736
  4. S. Lee, 'Fast detection and resolution of generalized distributed deadlocks,' 10th Euromicro Workshop on Parallel, Distributed and Network-based Processing, pp. 429-436, 2002
  5. A. D. Kshemkalyani and M. Singhal, 'Distributed detection of generalized deadlocks,' 17th Ini'l Cant Distributed Computing Systems, pp. 553-560, 1997
  6. A. D. Kshemkalyani and M. Singhal, 'A one-phase algorithm to detect distributed deadlocks In replicated databases, ' IEEE Transactions on Knowledge and Data Engineering, Vol. 11, No.6, pp. 880-895, 1999 https://doi.org/10.1109/69.824601
  7. A. V. Aho and J. E. Hopcroft and J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, 1974
  8. P. A. Bernstein and V. Hadzilacos and N. Goodman, Concurrency Control and Recovery in Database Systems, Addison-Wesley, 1987
  9. G. Bracha and S. Toueg, 'A distributed algorithm for generalized deadlock detection,' Distributed Computing, Vol. 2, pp. 127-138, 1987 https://doi.org/10.1007/BF01782773
  10. N. Natarajan, 'A distributed scheme for detecting communication deadlocks,' IEEE Transactions on Software Engineering, Vol. 12, pp. 531-537, 1986 https://doi.org/10.1109/TSE.1986.6312900
  11. E. W. Dijkstra and C. S. Scholten, 'Termination detection for diffusing computations,' Information Processing Letters, Vol. 11, No.1, pp. 1-4, 1980 https://doi.org/10.1016/0020-0190(80)90021-6
  12. A. Boukerche and C. Tropper, 'A distributed graph algorithm for the detection of local cycles and knots,' IEEE Trans. Parallel and Distributed Systems, Vol. 9, No.8, pp. 748-757, 1998 https://doi.org/10.1109/71.706047
  13. K. M. Chandy and J. Misra and L. M. Haas, 'Distributed deadlock detection,' ACM Transactions on Computer Systems, Vol. 1, pp. 144-156, 1983 https://doi.org/10.1145/357360.357365
  14. J. Villadangos and F. Farina and J. R. Mendivil, 'A safe distributed deadlock resolution algorithm for the OR request model, The 6th Euromicro Workshop on Parallel and Distributed Processing, pp. 150-156, 1998 https://doi.org/10.1109/EMPDP.1998.647192
  15. I. Cidon, 'An efficient distributed knot detection algorithm,' IEEE Transactions on Software Engineering, Vol. 15, pp. 644-649, 1989 https://doi.org/10.1109/32.24714
  16. J. Wang and S. Huang and N. Chen, 'A distributed algorithm for detecting generalized deadlocks,' Tech. Rep., Dept. of Computer Science, National Tsing-Hua Univ., 1990