인과적 메시지 로깅에서 확장성 지원 방법

How To Support Scalability in Causal Message Logging

  • 김기범 (고려대학교 컴퓨터학과) ;
  • 황종선 (고려대학교 컴퓨터학과) ;
  • 유헌창 (고려대학교 컴퓨터교육과) ;
  • 손진곤 (한국방송통신대학교 컴퓨터과학과) ;
  • 정순영 ((주)에코 연구개발실)
  • 발행 : 2000.04.15

초록

인과적 메시지 로깅기법은 프로세스의 파손 결함을 포용하는 분산 시스템을 작은 비용으로 구축할 수 있는 기법이다. 기존의 인과적 메시지 로깅기법은 결함 포용 시스템 내에 고정된 수의 프로세스가 존재한다는 기본가정을 갖고 있다. 이러한 가정은 새로운 프로세스의 추가 혹은 현존하는 프로세스의 소멸 시 모든 프로세스들이 자신의 자료구조를 변경해야 한다. 그러나, 우리는 각각의 프로세스가 모든 프로세스에 대한 목록을 유지하는 것이 아니라 통신을 수행하는 프로세스에 대한 목록을 유지하도록 한다. 이러한 방법은 결함 포용시스템을 여러 다른 스케일에서도 동작하도록 하여 준다. 이러한 기법을 이용하여, 우리는 현존하는 인과적 메시지 로깅 기법에 적용할 수 있는 새로운 회복 알고리즘을 개발하였다. 제안하는 알고리즘은 1) 회복리더를 필요로 하지 않는 분산화된 기법이고, 2) 회복이 진행되는 동안 정상프로세스의 실행을 막지 않는 비방해기법이고, 3) 여러 프로세스의 동시 결함도 포용할 수 있는 기법이다. 기존의 인과적 메시지 로깅기법에서는 위의 성질 중 하나 이상을 만족시키지 못했다.

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. K. M. Chandy and L. Lamport, 'Distributed snapshots:Determining global states of distributed systems,' ACM Trans. on Computer Systems, pp.63-75, Vol. 3, No. 1, Feb. 1985 https://doi.org/10.1145/214451.214456
  2. J. L. Kim and T. Park, 'An Efficient Protocol for Checkpointing Recovery in Distributed Systems,' IEEE Trans. on Parallel and Distributed Systems, pp.955-960, 1993 https://doi.org/10.1109/71.238629
  3. R. Koo and S.Toueg, 'Checkpointing and rollback recovery for distributed systems,' IEEE Trans. on Software Engineering, pp.21-31, 19987 https://doi.org/10.1109/TSE.1987.232562
  4. E.N. Elnozahy and W. Zwaenepoel, 'Manetho: Transparent rollback-recovery with low overhead, limited rollback, and fast output commit,' IEEE Trans. on Computers, pp.526-531, 1992 https://doi.org/10.1109/12.142678
  5. R. B. Strom and S. Yemeni, 'Optimistic Recovery in Distributed Systems,' ACM Trans. on Computer Systems, pp.204-226, 1985 https://doi.org/10.1145/3959.3962
  6. L. Alvisi and K. Marzullo, 'Message Logging: Pessimistic, Optimistic, Causal and Optimal,' IEEE Trans. on Software Engineering, pp.149-159, 1998 https://doi.org/10.1109/32.666828
  7. D. B. Johnson and W. Zwaenepoel, 'Sender-Based Message Logging,' In Proc. Conf. on Fault-Tolerant Computing Systems, pp. 14-19, 1987
  8. S. Venkatesan, T. T. Y. Juang, and S. Alagar. 'Optimistic Crash Recovery without Changing Application Messages,' IEEE Trans. on Parallel and Distributed Systems, pp. 263-271, 1997 https://doi.org/10.1109/71.584092
  9. L. Alvisi, B. Hoppe, and K. Marzullo, 'Nonblocking and Orphan-Free Message Logging Protocols,' Proceedings of the 23rd Fault-Tolerant Computing Symposium, pp.145-154, June 1993 https://doi.org/10.1109/FTCS.1993.627318
  10. K. Kim, 'Message Interval Based Crash Recovery Reducing Recovery Overhead,' MD thesis, Korea University Department of Computer Science and Engineering, 1996
  11. O.P. Damani and V.K. Grag, 'How to Recover Efficiently and Asynchronously when Optimism Fails,' Proceedings of the 16th Internationl Conference on Distributed Computing Systems, pp.108-115, 1996 https://doi.org/10.1109/ICDCS.1996.507907
  12. D.B. Johnson and W. Zwaenepol, 'Recoevery in distributed systems using optimistic message logging and checkpointing,' Journal of Algorithms, pp.462-491, 1990 https://doi.org/10.1016/0196-6774(90)90022-7
  13. D.B. Johnson, 'Efficient transparent optimistic rollback recovery for distributed applicationprograms,' Proceedings of 12th Symposium on Reliable Distributed Systems, Oct. 1993 https://doi.org/10.1109/RELDIS.1993.393470
  14. E.N. Elnozahy, 'On the relevance of communication costs of rollback-recovery protocols,' Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing, pp.74-79, August 1995 https://doi.org/10.1145/224964.224973
  15. G. Coulouris, J. Dollimore, and T. Kindberg, Distributed Systems Concepts and Design, 2nd Ed., Addison-Wesley, 1996
  16. A. S. Tanenbaum, Distributed Operating Systems, Prentice-Hall, 1995
  17. G.R. Andrews, 'Paradigms for process interaction in distributed programs,' ACM Computing Surveys, pp.49-90, 1991 https://doi.org/10.1145/103162.103164
  18. S. Rao, L. Alvsi, and H. M. Vin, 'The Cost of Recovery in Message Logging Protocols,' Proceedings of 17th International Symposium on Reliable Distributed Systems, 1998