Total Ordering Algorithm over Reliable Multicast Protocol using Token Passing Mechanism

멀티캐스트 프로토콜상에서 토큰 전달 방법을 이용한 전체 순서화 알고리즘

  • 원유재 (한국전자통신연구원 멀티미디어연구부) ;
  • 유관종 (충남대학교 컴퓨터과학과)
  • Published : 1999.08.01

Abstract

It has been required more reliable communication on processes and improvement of system performance as distributed systems using multicast protocol became widespread. In distributed environment maintaining data consistency through asynchronous execution of processes and coordinating the activities of them would occurs. This paper proposes a total ordering algorithm, TORMP, in order to resolve these problems. TORMP takes advantage of multicast protocol and uses an effective token passing method. It reduces a process delaying time before transmitting its message by multicasting a token simultaneously to every process that initiates the request of the message. Moreover, the processes receiving the token start multicasting the message at the same time, which causes to cut down the overall transmission dely. In case that one process sends a message, TORMP hardly uses the procedure of controlling for ordering. It gives fairly the right of sending messages to all processes in a group with utilizing vector clock. In TORMP, unlike other algorithms, the number of packets generated during ordering process does not depend on the number of processes.

멀티캐스트 프로토콜을 이용한 분산 시스템들이 널리 사용됨에 따라 시스템의 성능 향상과 여러 프로세스에 대한 좀더 신뢰성 있는 통신이 요구되고 있다. 분산 환경에서는 프로세스들간의 비동기적인 수행으로 데이터의 일관성을 유지하는 문제와 여러 프로세스들의 활동을 조정하는 문제가 발생한다. 이러한 문제를 해결하기 위해 본 논문에서는 전체 순서화 알고리즘인 TORMP을 제안한다. TORMP는 멀티캐스트 프로토콜의 장점을 이용하여 효율적인 토큰 전달 방법을 사용한다. TORMP는 메시지 전송 요청을 한 모든 프로세스에게 동시에 토큰을 멀티캐스트 하여 각 프로세스의 메시지 전송 전 지연시간이 줄어든다. 또한 토큰을 받은 모든 프로세스들이 동시에 메시지를 멀티캐스트 하여 전체적으로 전송 지연도 크게 줄어든다. TORMP는 한 프로세스만 메시지를 전송하는 경우 순서화를 위한 제어과정이 거의 없다. TORMP는 벡터 클락을 이용하여 그룹내의 모든 프로세스에게 메시지 전송 권한을 공정하게 나누어준다. TORMP는 다른 알고리즘들과는 달리 순서화 과정동안 발생되는 패킷의 수가 프로세스의 수에 의존적이지 않다.

Keywords