RPC에 기반한 분산 시스템의 디버깅을 위한 이벤트 추적 기능의 설계 및 구현

Design and Implementation of Event Trace FAcilities for Debugging RPC-oriented Distributed Systems

  • 서영애 (한국전자통신연구원 지식정보연구부 연구원) ;
  • 이은정 (한국전자통신연구원 인터넷 서비스 연구부 연구원) ;
  • 박창순 (한국전자통신연구원 실시간시스템연구부 연구원)
  • 발행 : 1999.06.01

초록

분산 프로그램의 디버깅이 순차 프로그램의 디버깅보다 어려운 이유중의 하나는 수행중인 프로세스들 간의 통신 때문이다. 비록 분산 시스템을 위해 구축된 디버거들이 많이 있음에도 불구하고 , 프로세스들간의 통신 이벤트를 효과적으로 디버깅할수 있는 실용적인 수준의 디버거는 없는 실정이다. 본 논문에서는 분산 시스템의 개발에 널리 사용되고있는 RPC 매커니즘을 이용한 프로그램간의 통신을 효과적으로 디버깅하는 방법을 제시한다. 이를 위하여 RPC 통신 이벤트를 디버깅 객체로 정의한 RPC 이벤트 모델을 제안하고 이에 기초하여 RPC 이벤트 추적 기능을 설계 및 구현하였다. RPC 프로토콜을 분석한 결과를 이용하여 메시지의 송.수신 이벤트를 추적 기능을 설계 구현하였다. RPC 프로토콜을 분석한 결과를 이용하여 메시지의 송.수신 이벤트를 라이브러리 함수의 호출과 자료의 값으로 기술하고 해당라이브러리 함수의 호출이 발생한 위치를 인지함으로써 모든 통신 이벤트의 발생을 탐지할수 있었다. 제안된 RPC 이벤트 추적기능은 현재 분산 디버거인 유니뷰 시스템에 구현되었다. 이벤트 추적 기능의 추가적 구현으로 인하여 유니뷰 시스템은 추적된 통신의 내용을 보면서 관련된 소스 코드를 보거나 프로그램을 제어하고 원격 함수 호출에 사용된 매개변수의 값을 보는 등의 행위가 가능하다. 또한 이러한 이벤트 추적기능을 수행하기 위하여 별도의 라이브러리나 수행환경이 요구되지 않으므로 실제분산시스템의 개발 환경에 적응하기가 용이한 장점을 가진다.

키워드