Abstract
The causal message logging is a low-cost technique of building a distributed system that can tolerate process crash failures. Previous research in causal message logging protocol assumes that the number of processes in a fault-tolerant system is fixed. This assumption makes all processes modify their data structures when a new process is added or an existing process terminates. However, the proposed approach in this paper allows to each process retain identifiers of only the communicating processes instead of all processes. This mechanism enables the fault-tolerant system to operate at many different scales. Using this mechanism, we develop a new algorithm that can be adapted for recovery in existing causal message logging protocols. Our recovery algorithm is 1) a distributed technique which does not require recovery leader, 2) a nonblocking protocol which does not force live processes to block while recovery is in progress, and 3) a novel mechanism which can tolerate failures of an arbitrary number of processes. Earlier causal message logging protocols lack one or more of the above properties.
인과적 메시지 로깅기법은 프로세스의 파손 결함을 포용하는 분산 시스템을 작은 비용으로 구축할 수 있는 기법이다. 기존의 인과적 메시지 로깅기법은 결함 포용 시스템 내에 고정된 수의 프로세스가 존재한다는 기본가정을 갖고 있다. 이러한 가정은 새로운 프로세스의 추가 혹은 현존하는 프로세스의 소멸 시 모든 프로세스들이 자신의 자료구조를 변경해야 한다. 그러나, 우리는 각각의 프로세스가 모든 프로세스에 대한 목록을 유지하는 것이 아니라 통신을 수행하는 프로세스에 대한 목록을 유지하도록 한다. 이러한 방법은 결함 포용시스템을 여러 다른 스케일에서도 동작하도록 하여 준다. 이러한 기법을 이용하여, 우리는 현존하는 인과적 메시지 로깅 기법에 적용할 수 있는 새로운 회복 알고리즘을 개발하였다. 제안하는 알고리즘은 1) 회복리더를 필요로 하지 않는 분산화된 기법이고, 2) 회복이 진행되는 동안 정상프로세스의 실행을 막지 않는 비방해기법이고, 3) 여러 프로세스의 동시 결함도 포용할 수 있는 기법이다. 기존의 인과적 메시지 로깅기법에서는 위의 성질 중 하나 이상을 만족시키지 못했다.