[논문 리뷰] User-Level Socket-Based Checkpointing for Distributed and Parallel Computation
DMTCP는 커널이나 애플리케이션 코드 수정 없이 분산 및 병렬 애플리케이션—동적으로 생성된 스레드, 포크된 프로세스, 원격으로 생성된 프로세스를 포함—을 사용자 수준에서 소켓 기반으로 체크포인팅할 수 있는 리눅스용 사용자 수준 체크포인팅 시스템이다. 동일한 호스트 간에 체크포인트 파일을 복사하여 프로세스 이식을 지원함으로써 고성능 계산 환경에서 장애 복구를 위한 경량이고 이식 가능한 솔루션을 제공한다.
We present a preliminary description of a user-level checkpointing package, DMTCP, for Linux. The socket-based approach presents a novel method for checkpointing distributed processes. This includes checkpointing of any dynamically created POSIX threads and forked child processes. It also includes checkpointing of remotely spawned processes via ssh and other mechanisms. As with all user-level checkpointing, no modification of the kernel is needed, and the application code is not modified. The package also checkpoints signal handlers, ordinary file descriptors, socket descriptors, and certain other types of file descriptors. Each checkpointed process has an associated checkpoint file. Hence, process migration, and even migration of an entire computation to a new cluster, are achieved through the simple expedient of copying checkpoint files to a new host. However, process migration adds the additional restriction that the source and destination host must be homogeneous. 1
연구 동기 및 목표
- 리눅스에서 분산 및 병렬 애플리케이션을 위한 투명한 사용자 수준 체크포인팅 솔루션을 제공하는 것.
- 애플리케이션 코드 수정 없이 동적으로 생성된 POSIX 스레드와 포크된 자식 프로세스의 체크포인팅을 가능하게 하는 것.
- SSH 및 유사한 메커니즘을 통한 원격 프로세스 체크포인팅을 지원하는 것.
- 체크포인트 파일 전송을 통해 동일한 호스트 간 프로세스 이식을 가능하게 하는 것.
- 체크포인팅 중에 소켓, 파일 디스크립터, 시그널 핸들러와 같은 핵심 디스크립터의 일관성을 확보하는 것.
제안 방법
- 시스템은 분산 프로세스 간 체크포인팅을 조율하기 위해 소켓 기반 통신 메커니즘을 사용한다.
- 커널 수정이나 애플리케이션 소스 코드 변경 없이 전적으로 사용자 영역에서 작동한다.
- 각 프로세스별로 체크포인트 파일이 생성되며, 스레드 컨텍스트, 파일 디스크립터, 소켓 상태 등 모든 관련 상태가 저장된다.
- 원격 프로세스는 보안 셸(ssh) 또는 유사한 원격 실행 메커니즘을 통해 체크포인팅된다.
- 체크포인팅 과정 중에 시그널 핸들러와 다양한 유형의 파일 디스크립터가 유지된다.
- 체크포인트 파일을 새로운 호스트로 복사하고 거기서 프로세스를 다시 시작함으로써 프로세스 이식이 구현된다.
실험 결과
연구 질문
- RQ1동적 프로세스 생성이 수반되는 분산 및 병렬 애플리케이션에 대해 사용자 수준 체크포인팅을 효과적으로 확장하는 방법은 무엇인가?
- RQ2SSH 또는 유사 도구를 통해 생성된 원격 프로세스의 신뢰성 있는 체크포인팅을 가능하게 하는 메커니즘은 무엇인가?
- RQ3소켓과 파일 디스크립터와 같은 핵심 런타임 상태를 일관되게 캡처하고 복원하는 방법은 무엇인가?
- RQ4이질적 또는 이질적인 컴퓨팅 환경 간의 프로세스 이식을 제한하는 요건은 무엇인가?
- RQ5실제 HPC 워크로드에서 사용자 수준 체크포인팅의 성능 및 신뢰성 오버헤드는 어느 정도인가?
주요 결과
- DMTCP는 커널이나 애플리케이션 코드 수정 없이도 분산 애플리케이션의 체크포인팅을 성공적으로 구현한다.
- 시스템은 동일한 애플리케이션 컨텍스트 내에서 동적으로 생성된 POSIX 스레드와 포크된 자식 프로세스의 체크포인팅을 지원한다.
- SSH와 같은 표준 원격 실행 도구를 사용하여 원격 프로세스의 체크포인팅이 가능하여 클러스터 전체 계산에 체크포인팅 기능을 확장할 수 있다.
- 체크포인트 파일 전송을 통해 동일한 호스트 간 프로세스 이식이 가능하여 장애 복구 및 로드 밸런싱이 가능하다.
- 소켓 디스크립터, 파일 디스크립터, 시그널 핸들러와 같은 핵심 런타임 상태가 유지되어 정확한 상태 복원이 보장된다.
- 투명한 사용자 수준 동작을 통해 고성능 계산 환경에서 장애 복구의 실용적 가능성을 입증한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.