Abstract
Compared with the previous recovery algorithms for causal message logging, Elnozahy's recovery algerian considerably reduces the number of stable storage accesses and enables live processes to execute their computations continuously while performing its recovery procedure. However, if causal message logging is used with asynchronous checkpointing, the state of the system may be inconsistent after having executed this algorithm in case of concurrent failures. In this paper, we show these inconsistent cases and propose a low-cost recovery algorithm for causal message logging to solve the problem. To ensure the system consistency, this algorithm allows the recovery leader to obtain recovery information from not only the live processes, but also the other recovering processes. Also, the proposed algorithm requires no extra message compared with Elnozahy's one and its additional overhead incurred by message piggybacking is significantly low. To demonstrate this, simulation results show that the first only increases about 1.0%$\sim$2.1% of the recovery information collection time compared with the latter.
인과적 메시지 로깅을 위한 기존 회복 알고리즘들에 비해, Elnozahy가 제안한 회복 알고리즘은 안전한 저장소 접근횟수를 매우 줄이고, 회복과정을 수행하는 동안 살아있는 프로세스들이 자신의 계산을 계속해서 수행할 수 있도록 한다. 그러나, 인과적 메시지 로깅 기법이 비동기적 검사점 기록 기법과 함께 사용된다면, 동시적 고장들이 발생하는 경우 이 알고리즘 수행 후 전체 시스템 상태가 일관적이지 못하게 될 수 있다. 본 논문에서는 이러한 일관적이지 못한 경우들을 보여주고, 이러한 문제점을 해결하는 인과적 메시지 로깅을 위한 저 비용의 회복 알고리즘을 제안한다. 시스템 일관성을 보장하기 위해, 이 알고리즘은 회복 리더가 모든 살아있는 프로세스들뿐만 아니라 다른 회복 프로세스들로부터 회복정보를 얻을 수 있도록 한다. 또한, 제안된 알고리즘은 Elnozahy 회복 알고리즘에 비해 어떠한 부가적인 메시지도 요구하지 않으며, 메시지 피기백에 의해 발생되는 제안된 알고리즘의 부가적인 비용이 매우 낮다 이를 입증하기 위해, 시뮬레이션 결과는 제안된 알고리즘이 Elnozahy 알고리즘에 비해 회복정보 수집시간을 단지 1.0%$\sim$2.1% 정도로 증가시킴을 보여준다.