Design and Implementation of a User-based MPI Checkpointer for Portability

이식성을 고려한 사용자기반 MPI 체크포인터의 설계 및 구현

  • Published : 2006.02.01

Abstract

An MPI Checkpointer is a tool which provides fault-tolerance through checkpointing The previous researches related to the MPI checkpointer have focused on automatic checkpointing and recovery capabilities, but they haven't considered portability issues. In this paper, we discuss design and implementation issues considered for portability when we developed an MPI checkpointer called STFT. In order to increase portability, firstly STFT supports the abstraction interface for a single process checkpointer. Secondly, STFT uses a user-based checkpointing method, and limits possible checkpointing places a user can make. Thirdly, STFT lets the MPI_Init create network connections to the other MPI processes in a fixed order. With these features, we expect STFT can be easily adaptable to various platforms and MPI implementations, and confirmed STFT is easily adaptable to LAM and MPICH/P4 with the prototype Implementation.

MPI 체크포인터는 MPI 응용 프로그램에 체크포인팅을 통해 결함내성을 제공하는 툴이다. 네트워크의 개방성이 확대되고 GRID에 대한 활용이 증가함에 따라 MPI 체크포인터가 다양한 플랫폼과 MPI 구현들로 쉽게 이식되어야 한다는 요구가 커지고 있다. 기존의 MPI 체크포인터들은 자동 체크포인팅과 복구 기능에 초점을 맞추었고 이식성에 대한 고려가 없었기 때문에, 다른 플랫폼과 MPI 구현들로 이식되기 어려웠다. 본 논문에서는 사용자기반 MPI 체크포인터인 STFT를 개발하면서 이식성을 위해 고려하였던 설계 및 구현 이슈들에 대해 설명한다. STFT는 MPI 체크포인터의 이식성을 위해 첫째로 단일 프로세스 체크포인터들에 대한 추상화 인터페이스를 제시한다. 둘째로 사용자기반 체크포인팅 방법에서 사용자가 체크포인팅할 수 있는 지점을 제한하여 메시지 체크포인팅을 회피한다. 셋째로 네트워크 연결을 재생성하기 위해 MPI_Init가 다른 랭크를 가진 프로세스들과 항상 고정된 순서대로 연결을 생성하도록 강제한다. 이를 통해 STFT는 다양한 플랫폼과 MPI 구현들로 쉽게 이식 가능할 것으로 기대되며, 우리는 프로토타입의 구현을 통해서 STFT가 LAM과 MPICH/P4의 두 MPI 구현들로 쉽게 이식 가능함으로 확인하였다.

Keywords

References

  1. MPI Forum, 'MPI: A message-passing interface standard,' International Journal of Supercomputer Applications, 8(3/4):pp,165-414, 1994
  2. G. Bums, R. Daoud, and J. Vaigl, 'LAM: An open cluster environment for MPI,' In Proc. Of Supercomp. Symp., 1994
  3. W. Gropp, E. Lusk, N. Doss, and A. Skjellurn, 'MPICH: A High-Performance, Portable Implementation of the MPI Message Passing Interface Standard,' Parallel computing, Vol. 22, No.6, pp.789-828, Sep 1996 https://doi.org/10.1016/0167-8191(96)00024-5
  4. MPI Software Technology, Inc., 'MPI/Pro,' http://mpi-softtech.com/, 1999
  5. G. Stellner, 'CoCheck: Checkpointing and Process Migration for MPI,' Proc. Of the International Parallel Processing Symposium, IEEE Computer Soc. Press, pp.526-531, 1996 https://doi.org/10.1109/IPPS.1996.508106
  6. A. Agbaria, and R. Friedman, 'Starfish: Faulttolerant Dynamic MPI programs on cluster of workstations,' Eighth IEEE International Symposium on High Performance Distributed Computing, 1999
  7. Y. Chen, J. S. Plank, and Kai Li, 'CLIP: A Checkpointing Tool for Message-Passing Parallel Programs,' Proceedings of the ACM/IEEE conference on Supercomputing, 1997 https://doi.org/10.1145/509593.509626
  8. George Bosilca, et al., 'MPICH-V: Toward a Scalable Fault Tolerant MPI for Volatile Nodes,' In Proceedings of SC2002. IEEE, 2002 https://doi.org/10.1109/SC.2002.10048
  9. Sriram Lorenzo Alvisi, and Harrick M., 'Egida: An Extensible Toolkit For Low-overhead Fault-Tolerance,' Symposium on Fault-Tolerant Computing, 1999 https://doi.org/10.1109/FTCS.1999.781033
  10. Rajanikanth Batchu, et al., 'MPl/FT: Architecture and Taxonomies for Fault-Tolerant, MessagePassing Middle ware for Performance-Portable Parallel Computing,' 1st International Symposium on Cluster Computing and the Grid, 2001
  11. Ian Foster, and Carl Kesselman, The Grid: Blueprint for a New Computing Infrastructure, MK Publications, 1999
  12. T. Tannenbaum, and M. Litzkow, 'Checkpointing and migration of Unix processes in the Condor distributed system,' D. Dobbs Journal, pp.40-48, Feb. 1995
  13. K. M. Chandy, and L. Lamport, 'Distributed snapshots: Determining global states of distributed system,' ACM Trans. On Computer Systems, 3(1):pp.63-75, Feb. 1985 https://doi.org/10.1145/214451.214456
  14. J.S. Plank, 'Efficient Checkpointing on MIMD Architectures,' PhD. thesis, Princeton University, June 1993
  15. M. Hayden, 'The Ensmble System,' Doctoral dissertation, Cornell University, Dept. Computer Sciences, 1997
  16. G.F. Fagg, and J.J. Dongara, 'FT-MPI: Fault Tolerant MPI, supporting dynamic applications in a dynamic world,' EuroPVM/MPI User's Group Meeting 2000, Springer-Verilag, pp.346-353, 2000
  17. W. Gropp, S. Husss-Lederman, et aI., 'MPI-The Complete Reference, Vol-2, The MPI Extensions,' ISBN, MIT Press, 1998
  18. Victor C. Zandy, Barton P. Miller, and Miron Livny, 'Process Hijacking,' The Eighth IEEE International Symposium on High Performance Distributed Computing (HPDC'99), pp.177-184, August 1999
  19. J. S. Plank, M. Beck, G. Kingsley, and K. Li., 'Libckpt: Transparent Checkpointing under Unix,' In Usenix Winter 1995 Technical Conference, pp.213-223, January, 1995
  20. David Baile, et al., 'The nas parallel benchmarks 2.0,' Technical Report, NSA-95-020 Ames Research Center, December 1995