An Implementation of Fault-Tolerant Message Passing Interface on Parallel Computers

병렬 컴퓨터에서의 결함 허용 메시지 전달 인터페이스 구현

  • 송대기 (충남대학교 컴퓨터공학과) ;
  • 이철훈 (충남대학교 컴퓨터공학과)
  • Published : 2000.06.30

Abstract

The Message-Passing Interface(MPI) is a standard interface for parallel programming environment, based on that application programs run on the processors of a parallel computer. Processor nodes execute processes consisting the program by passing messages to one another. During executing, however, if a fault occurs on a processor node or a process, this will result an inconsistent state, and consequently, the whole program will have to be stopped. To solve this problem, in this paper, we propose a fault-tolerant message passing interface(FT-MPI) by adding a fault manager module to MPI. The proposed FT-MPI does not need any hardware support, and each application program based on MPI can run on the FT-MPI without any modification. The proposed fault tolerance scheme uses the so-called hot-spare process duplication method, and verified by simulations that application programs run despite of any fault with less than 5% overhead on execution time.

메시지 전달 인터페이스(MPI)는 기존의 다양한 병렬 프로그램 개발 환경을 표준화한 것으로써, 메시지 전달 인터페이스를 기반으로 하는 병렬 컴퓨터 시스템은 응용 프로그램을 수많은 프로세서들에 분산 배치시켜 수행한다. 구성되는 각각의 프로세서 노드들은 연산을 하고 서로 결과를 메시지로 교환하여 수행을 하게 된다. 그러나 병렬 컴퓨터를 구성하는 노드들 중에서 어느 한 노드 또는 작업 중인 프로세스가 고장을 일으킨다면 수행되는 응용 프로그램은 그 동안의 수행 결과를 잃게 되며, 또한 응용 프로그램을 구성하는 모든 프로세스들은 중단될 것이다. 본 논문에서는 이와 같은 문제를 해결하기 위해 기존의 MPI에 고장 관리자(Fault Manager) 모듈을 추가함으로써 고장 허용 메시지 전달 인터페이스인 FT-MPI 를 제안한다. 제안한 FT-MPI는 고장 처리를 위한 추가적인 하드웨어 지원이 필요하지 않으며 기존의 MPI 응용 프로그램들이 수정 없이 수행될 수 있다는 장점을 지닌다. 제안한 고장 허용 방법은 프로세스 이중화 기법인 hot-spare 방법을 사용하였으며, 시뮬레이션을 통해 제안한 FT-MPI가 고장이 발생하더라도 응용 프로그램이 올바르게 수행되며, 고장 허용 기능으로 인한 수행 시간상의 오버헤드는 5%를 넘지 않음을 보인다.

Keywords

References

  1. Lou Baker, Bradley J. Smith, Parallel Programming,N.Y.:McGraw-Hill, 1997
  2. Daniell P. Siewiorek, 'Architecture of Fault-Tolerant Computers: An Historical Perspective,' Proc. IEEE, Vol. 79, No. 12, pp. 1710-1734, Dec. 1991 https://doi.org/10.1109/5.119549
  3. Dhiraj K. Pradhan, Fault-Tolerant Computer System Design, Prentice Hall, 1996
  4. MPI Home Page, http://www.mcs.anl.gov/mpi
  5. MPI Forum Home Page, http://www.mpi-forum.org
  6. PVM Home Page, http://www.epm.ornl.gov/pvm
  7. Flavin Cristian, 'Understanding Fault-Tolerant Distributed Systems,' CACM, Vol. 34, No. 2, pp. 56-78. Feb. 1991 https://doi.org/10.1145/102792.102801
  8. D. B. Johnson and W. Zwaenepoel, 'Recovery in Distributed Systems Using Optimistic Message Logging and Checkpointing,' J. of Algorithms, Vol. 11, pp. 462-491, 1990 https://doi.org/10.1016/0196-6774(90)90022-7
  9. Pankaj Jalote, Fault Tolerance in Distributed Systems, Englewood Cliffs, NJ:Prentice-Hall, 1994
  10. Richard Koo and Sam Toueg, 'Checkpointing and Rollback -Recovery for Distributed Systems,' IEEE Trans. Software Engineering, Vol. SE-13, No.1, pp. 23-31, Jan. 1987 https://doi.org/10.1109/TSE.1987.232562
  11. William Group and Ewing Lusk, 'User's Guide for mpich, a Portable Implementation of MPI,' MCSD. ANL., 1996
  12. Ralph Butler and Ewing Lusk, 'User's Guide to the P4 Parallel Programming System,' MCDS, ANL, April 1994
  13. S. Venkatesan, T.-Y Juang, and A. Alagar, 'Optimistic Crash Recovery without Changing Application Messages,' IEEE Trans. Parallel and Distributed Systems, Vol. 8, No.3, March 1997 https://doi.org/10.1109/71.584092
  14. Dhiraj K. Pradhan, 'Roll-Forward Checkpointing Scheme: A Novel Fault-Tolerant Architecture,' IEEE Trans. Computers, Vol. 43, No. 43, Oct. 1994 https://doi.org/10.1109/12.324542
  15. David E. Bakken, 'Supporting Fault-Tolerant Parallel Programming in Linda,' IEEE Trans. Parallel and Distributed Systems, Vol. 6, No.3, March 1995 https://doi.org/10.1109/71.372777
  16. Walter H. Kohler, 'A Survey of Techniques for Synchronization and Recovery in Decentralized Computer Systems,' ACM Computing Surveys, Vol 13, No.2, June 1981 https://doi.org/10.1145/356842.356845