분산 시스템에서 인과적 메시지 로깅에 기반한 효율적 회복 알고리즘

An Efficient Recovery Algorithm based on Causal Message Logging in Distributed Systems

  • 발행 : 1999.10.01

초록

인과적 메시지 로깅은 정상수행시 낙관적 메시지 로깅의 장점을 가지고, 회복시 비관적 메시지 로깅의 장점을 가지고 있다. 본 논문에서는 회복 프로세스들간의 비동기성을 향상시키기 위한 인과적 메시지 로깅에 기반한 새로운 회복 알고리즘을 제안하고자 한다. 기존의 인과적 메시지 로깅 기반 회복 알고리즘들은 살아있는 프로세스들의 수행을 대기시키거나, 회복 프로세스들간의 높은 동기성을 요구한다. 본 논문에서 제안하는 회복 알고리즘은 각 회복 프로세스가 자신의 회복만을 책임지게 함으로써, 여러 개의 프로세스들이 동시적으로 고장이 발생하더라도 회복시 살아있는 프로세스들의 수행을 대기시키지 않고, 회복 프로세스들 중 하나의 회복 프로세스에게만 과부하가 발생하지 않도록 한다. 또한, 제안하는 알고리즘은 각 회복 프로세스의 회복 과정이 다른 회복 프로세스의 연속적인 고장들에 의해 지연되지 않도록 한다. 본 논문에서는 제안하는 회복 알고리즘의 정당성을 증명하고, 시뮬레이션을 통해서 제안하는 회복 알고리즘이 기존 회복 알고리즘에 비해 고장난 프로세스의 평균회복시간을 단축시킨다는 것을 보여준다.Abstract Causal message logging has the advantages of optimistic message logging during failure-free execution and pessimistic message logging during recovery. In this paper, we present a new recovery algorithm based on causal message logging for improving asynchrony among recovering processes. Existing recovery algorithms based on causal message logging block the execution of live processes or require high synchronization among recovering processes. As each recovering process is responsible for only its recovery in our algorithm, the algorithm avoids blocking the execution of live processes during recovery even in concurrently multiple failures and overloading only one among recovering processes. Moreover, it allows the recovery of each recovering process not to be delayed by the continuous failures of other recovering processes. We prove the correctness of our recovery algorithm, and our simulation results show that our algorithm reduces the average recovery time of a failed process compared with the existing recovery algorithms.

키워드