Debugging of communication Events Based on the RPC Event Model

RPC 이벤트 모델에 기반한 통신 이벤트의 디버깅

  • Published : 1999.01.01

Abstract

One of the reasons that debugging distributed programs is much more difficult than sequential programs is the communication among processes. Even though there are many debuggers constructed on distributed system environment, no available debugger provides an efficient way to debug communication events.. In this paper, we show the way to debug RPC communication, which is regarded as one of the most popular communication protocol in distributed system development. This paper presents the implementation of the RPC event trace function based on the RPC event model, which is proposed to accommodate communication events into debugging objects. Analyzing conventional RPC protocols, we formalized library function calls as corresponding actions to sending and receiving of messages. B recognizing the locations of library calls the debugger can detect all occurrences of communication events, This RPC event trace function is implemented on the on-line distributed debugger UniVIEW system.

분산 프로그램의 디버깅이 순차 프로그램의 디버깅보다 어려운 이유 중의 하나로 수행 중인 프로세스들간의 통신을 들 수 있다. 비록 분산 시스템을 위해 구축된 디버거들이 많이 있으나, 프로세스들 간의 통신 이벤트를 효과적으로 디버깅할 수 있는 실용적인 수준의 디버거는 없는 실정이다. 본 논문에서는 분산 시스템이 개발에서 널리 이용되는 RPC 통신을 실시간으로 추적하고 통신내용을 파악함으로써 분산 프로그램을 효율적으로 디버깅하고자 하였다. 이를 위하여 RPC 통신 이벤트를 디버깅 객체로 정의한 이벤트 모델을 제안하고 이에 기초하여 RPC 통신 이벤트 추적 기능을 구현하였다. RPC 프로토콜을 분석한 결과를 이용함으로써 메시지의 송·수신 이벤트를 라이브러리 함수의 호출과 자료의 값으로 기술할 수 있었고, 라이브러리 함수의 호출이 발생한 위치를 인지함으로써, 모든 통신 이벤트의 발생을 탐지할 수 있었다. 제안된 RPC 이벤트 추적 기능은 온라인 분산 디버거인 유니뷰 시스템에 구현되었다.

Keywords