Detecting Shared Resource Usage Errors with Global Predicates

광역조건식에 의한 공유자원 접근오류 검색

  • 이은정 (한국전자통신연구원 인터넷서비스연구부 연구원) ;
  • 윤기중 (한국전자통신연구원 인터넷시비스연구부 연구원)
  • Published : 1999.12.01

Abstract

광역 조건식의 계산은 분산 프로그램의 수행을 테스트 또는 디버깅하기 위한 방법으로 활 발히 연구되고 있다. 이제까지 주로 연구된 광역조건식은 AND 또는 OR 광역 조건식 등이 있는데, 특히 AND 광역 조건식은 분산 프로그램의 동시적 조건을 표현하는데 유용하여 효율적인 검색 알고리즘이 활발히 연구되었다. 분산프로그램의 수행오류로서 공유자원의 배타적 접근조건은 가장 중요하고 일반적인 경우라 할 수 있다. 본 논문에서는 XOR 연산을 이용하여 공유자원 프로그램의 오류 검색을 위한 광역조건식을 기술하는 방식에 대해 제안하였다. XOR 연산을 이용한 광역 조건식은 연산자 중 많아야 하나의 지역조건식만이 참일 때 전체 조건식이 참이 되는데 이러한 성질은 여러 프로세스 중 한번에 하나만이 공유자원에 배타적으로 접근할 수 있는 조건을 표현하는데 매우 유용하다. n 개의 프로세스로 이루어진 분산프로그램에서 한개의 공유자원에 대한 배타적 접근 조건을 기술하기 위해서 AND로 연결된 광역조건식을 이용하면 O(n2)개의 광역 조건식이 필요한데 반해 XOR 연산으로는 하나의 조건식으로 나타낼 수 있다. 더구나 XOR 연산을 이용한 광역조건식은 최근 소개된 겹치는 구간의 개념을 활용하면 매우 간단하게 검색할 수 있다. 본 논문에서는 겹치는 구간을 찾는 검색 알고리즘을 소개하고 증명하였다.Abstract Detecting global predicates is an useful tool for debugging and testing a distributed program. Past research has considered several restricted forms of predicates, including conjunctive or disjunctive form of predicates. Especially, conjunctive predicates have attracted main attention not only because they are useful to describe simultaneous conditions in a distributed program, but also because it is possible to find algorithms to evaluate them within reasonable time bound. Detecting errors in accessing shared resources are the most popular and important constraints of distributed programs. In this paper, we introduced an exclusive OR predicates as a model of global predicates to describe shared resource conditions in distributed programs. An exclusive OR predicate holds only when at most one operand is true, which is useful to describe mutual exclusion conditions of distributed programs where only one process should be allowed to access the shared resource at a time. One exclusive OR predicate is enough to describe mutual exclusion condition of n processes with one shared resource, while it takes O(n2) conjunctive predicates. Moreover, exclusive OR condition is easily detectable using the concept of overlapping intervals introduced by Venkatesan and Dathan. An off-line algorithm for evaluating exclusive OR global predicates is presented with a correctness proof.

Keywords

References

  1. J. Systems Software v.33 Testing Abstract Distributed Programs and Their Implementations;A Constraint-Based Approach R. Carver
  2. IEEE Trans. Software Engineering v.5 no.5 Distributed Simulation;A Case Study in Design and Verification of Distributed Programs K. Chandy;J. Misra
  3. Western MultiConference 1998;CNDS'98 v.January An Event Ordering Model for Replaying Message-Based Distributed Systems E. Lee;M. Seong
  4. Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging Consistent detection of global predicates R. Cooper;K. Marzullo
  5. IEEE Trans. Parallel and Distributed systems v.7 no.12 Detection of String Predicates in Distributed Programs V. Garg;B. Waldecker
  6. Journal of Systems Software v.21 Tracing the Execution of Distributed Programs W. Lloyd;P. Kearns
  7. Proceedings of 8-th IEEE International Conference on Distributed Computing Systems Breakpoints and Halting in Distributed Programs B. Miller;J. Choi
  8. IEEE Trans. Software Engineering v.21 no.2 Testing and Debugging Distributed Programs Using Global Predicates S. Venkatesan;B. Dathan
  9. J. Parallel and Distributed Computing v.15 Global Conditions in Debugging Distributed Programs Y. Manabe;M. Imase
  10. Proceedings of the 13-th IEEE International Conference on Automated Software Engineering Detection of Exclusive OR Global Predicates E. Lee
  11. Theoretical Computer Science v.138 On the Nature of Events;Another Perspective in Concurrency G. Pinna;A. Poigne
  12. Theoretical computer Science v.174 Representation of Computations in Concurrent Automata by Dependence Orders F. Bracho;M. Droste;D. Kuske
  13. Comm. ACM Time, Clocks and the Ordering of Events in a Distributed System L. Lamport
  14. IEEE Computer v.29 no.2 Capturing Causality in Distributed Systems M. Raynal;M. Singhal
  15. Encyclopidia of Computer Science(Third Ed.) IEEE Press