체크포인트 및 복구
체크포인트는 시스템의 상태를 주기적으로 저장하여, 장애 발생 시 처음부터 다시 시작하는 대신 일관된 지점으로 되돌아가 작업을 재개할 수 있도록 합니다.
PaperMind(으)로 주제 찾기곧 제공Find papers & topics
Tools & resources
Learn & explore
동영상곧 제공
Definition
체크포인트는 하나 이상의 프로세스 상태를 안정적인 저장소에 기록하는 것을 의미합니다. 롤백 복구는 이러한 체크포인트와 기록된 메시지를 사용하여 장애 발생 후 시스템을 일관된 전역 상태(복구 라인)로 복원하고 거기서부터 작업을 재개합니다.
Scope
이 주제는 체크포인트 기반 및 로그 기반 롤백 복구에 대해 다룹니다: 비동기식, 동기식, 통신 유도 체크포인트; 비동기식 체크포인트가 유발할 수 있는 도미노 효과; 그리고 마지막 체크포인트 이후의 복구를 가능하게 하는 비관적, 낙관적, 인과적 메시지 로깅. 이는 전역 스냅샷의 일관된 컷 이론과 연결됩니다.
Core questions
- 프로세스 전반의 체크포인트를 어떻게 일관된 복구 라인으로 결합할 수 있는가?
- 도미노 효과란 무엇이며, 조정(coordination)이 이를 어떻게 방지하는가?
- 메시지 로깅은 언제 가장 최근 체크포인트 이후의 복구를 허용하는가?
Key theories
- 동기식 체크포인팅
- 프로세스들이 협력하여 체크포인트들이 함께 일관된 전역 상태를 형성하도록 함으로써, 사용 가능한 복구 라인을 보장하고 동기화 오버헤드 비용으로 연쇄적인 롤백을 방지합니다.
- 비동기식 체크포인팅과 도미노 효과
- 프로세스들이 독립적으로 체크포인트를 생성하면, 복구를 위해 각 프로세스를 롤백하여 일관된 집합을 찾아야 할 수 있으며, 이는 잠재적으로 시작점까지 연쇄적으로 롤백될 수 있습니다(도미노 효과). 이는 조정 또는 로깅을 통해 방지하도록 설계되었습니다.
- 메시지 로깅
- 프로세스가 수신하는 메시지를 기록함으로써(비관적, 낙관적 또는 인과적), 복구 중인 프로세스는 이를 결정론적으로 재실행하고 마지막 체크포인트 이후로 진행하여, 전역 롤백 없이 최근 작업을 복구할 수 있습니다.
Clinical relevance
체크포인트/재시작은 장시간 실행되는 고성능 및 과학 계산이 노드 장애에 강건하도록 유지하며, 비동기식 체크포인트는 현대 스트림 처리 시스템에 정확히 한 번(exactly-once)의 장애 복구 보장을 제공합니다.
History
Chandy와 Lamport의 일관된 스냅샷 이론을 바탕으로, Koo와 Toueg는 1987년에 동기식 체크포인팅을 공식화했으며, 로깅 및 비동기식 방식에 대한 수십 년간의 연구는 롤백 복구에 대한 표준 참고 자료인 Elnozahy와 동료들의 2002년 조사에서 통합되었습니다.
Debates
- 동기식 대 비동기식 체크포인팅
- 동기식 체크포인팅은 깔끔한 복구 라인을 보장하지만 동기화 비용과 전역 조정이 추가됩니다. 비동기식 체크포인팅은 체크포인트 시점에는 비용이 저렴하지만 도미노 효과와 복잡한 복구의 위험이 있으므로, 올바른 선택은 장애율과 규모에 따라 달라집니다.
Key figures
- K. Mani Chandy
- Leslie Lamport
- Sam Toueg
- Lorenzo Alvisi
Related topics
Seminal works
- elnozahy2002
- koo1987
- chandy1985
Frequently asked questions
- 롤백 복구에서 도미노 효과란 무엇인가요?
- 프로세스들이 조정 없이 체크포인트를 생성할 때, 하나의 프로세스를 롤백하면 종속된 프로세스도 롤백해야 할 수 있으며, 이는 전체 계산을 통해 역방향으로 연쇄적으로 발생하여 잠재적으로 맨 처음까지 이어질 수 있습니다. 동기식 체크포인팅 또는 메시지 로깅을 사용하여 이를 방지합니다.