An Implementation of Fault Tolerant Software Distributed Shared Memory with Remote Logging

원격 로깅 기법을 이용하는 고장 허용 소프트웨어 분산공유메모리 시스템의 구현

  • 박소연 (한국과학기술원 전기전산학과) ;
  • 김영재 (한국과학기술원 전기전산학) ;
  • 맹승렬 (한국과학기술원 전기전산학과)
  • Published : 2004.06.01

Abstract

Recently, Software DSMs continue to improve its performance and scalability As Software DSMs become attractive on larger clusters, the focus of attention is likely to move toward improving the reliability of a system. A popular approach to tolerate failures is message logging with checkpointing, and so many log-based rollback recovery schemes have been proposed. In this work, we propose a remote logging scheme which uses the volatile memory of a remote node assigned to each node. As our remote logging does not incur frequent disk accesses during failure-free execution, its logging overhead is not significant especially over high-speed communication network. The remote logging tolerates multiple failures if the backup nodes of failed nodes are alive. It makes the reliability of DSMs grow much higher. We have designed and implemented the FT-KDSM(Fault Tolerant KAIST DSM) with the remote logging and showed the logging overhead and the recovery time.

최근에 소프트웨어 분산공유메모리 시스템은 그 성능이 높아짐에 따라 큰 규모의 클러스터 상에서 사용되는 경우가 많아졌다. 그러나 시스템 규모가 커지면서 고장이 발생하는 가능성도 높아졌다. 시스템의 가용성을 높이기 위하여 고장 허용 기능을 제공하는 분산공유메모리 시스템이 요구되었으며 메시지 로깅에 대한 많은 연구가 이루어져 왔다. 본 논문에서는 고속의 네트웍을 이용하여 복구에 필요한 메시지들을 원격 노드의 메모리에 로깅 하는 방법을 제안한다. 원격 로깅은 정상 수행 동안 빈번한 디스크 접근을 요구하지 않으므로 오버헤드가 적다. 또한 로그를 유지하는 백업 노드들이 고장나지 않은 경우 다중 노드의 고장을 허용하여, 분산공유메모리 시스템의 신뢰성을 높인다. 본 논문에서는 FT-KDSM (Fault Tolerant KAIST DSM) 시스템을 설계하고 구현하여 원격 로깅의 성능을 보이고 고장으로부터의 복구 시간을 보인다.

Keywords

References

  1. G.Suri, B.Janssens, and W.K.Fuchs, 'Reduced Overhead Logging for Rollback Recovery in Distributed Shared Memory', In Proceedings of the 25th Annual International Symposium on Fault-Tolerant Computing, June 1995 https://doi.org/10.1109/FTCS.1995.466971
  2. A.Kongmunvattana and M.F.Tzeng, 'Coherence Centric Logging and Recovery for Horne-based Software Distributed Shared Memory,' In Proceedings of the International Conference of Parallel Processing, September 1999 https://doi.org/10.1109/ICPP.1999.797413
  3. F.Sultan, T.D.Nguyen, and L.Iftode, 'Scalable Fault-tolerant Distributed Shared Memory,' In Proceeding of Supercomputing, 2000 https://doi.org/10.1109/SC.2000.10014
  4. S.Kanthadai and J,L.Welch. 'Implementation of Recoverable Distributed Shared Memory by Logging Writes,' In Proceedings of the 16th International Conference on Distributed Computing Systems, May 1996 https://doi.org/10.1109/ICDCS.1996.507908
  5. M.Costa, P.Guedes and M.Sequeira, N.Neves, and M.Castro, 'Lightweight Logging for Lazy Release Consistent Distributed Shared Memory,' In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation, October 1996 https://doi.org/10.1145/238721.238762
  6. 박소연, 김영재, 이상권, 맹승렬, 'VIA(Virtual Interface Architecture)를 기반으로 하는 소프트웨어 분산 공유메모리 시스템의 설계 및 구현', 제29회 한국정보과학회 춘계 학술발표논문집(A), 2002.4
  7. http://www.myri.com/scs/index.html
  8. Y.Zhou, L.Iftode, and K.Li, 'Performance Evaluation of Two Home-based Lazy Release Consistency Protocols for Shared Virtual Memory Systems,' In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation, October 1996 https://doi.org/10.1145/238721.238763
  9. S.Woo, M.Ohara, E.Torrie, J.Singh, and A.Gupta, 'The SPLASH-2 Programs: Characterization and Methodological Considerations,' In Proceedings of the 22nd International Symposium on Computer Architecture, May 1995 https://doi.org/10.1145/223982.223990