Контрольные точки и восстановление
Создание контрольных точек периодически сохраняет состояние системы, чтобы после сбоя она могла вернуться к согласованной точке и возобновить работу, а не перезапускаться с нуля.
Definition
Создание контрольных точек записывает состояние одного или нескольких процессов в стабильное хранилище; восстановление с откатом использует эти контрольные точки, возможно, с зарегистрированными сообщениями, для восстановления системы до согласованного глобального состояния — линии восстановления — после сбоя и дальнейшего воспроизведения с этого момента.
Scope
Эта тема охватывает восстановление с откатом на основе контрольных точек и на основе журналов: нескоординированное, скоординированное и вызванное коммуникациями создание контрольных точек; эффект домино, который может быть вызван нескоординированными контрольными точками; а также пессимистическую, оптимистическую и причинно-следственную регистрацию сообщений, которые позволяют восстанавливаться за пределами последней контрольной точки. Это связано с теорией согласованных срезов глобальных снимков.
Core questions
- Как контрольные точки между процессами могут быть объединены в согласованную линию восстановления?
- Что такое эффект домино и как координация предотвращает его?
- Когда регистрация сообщений позволяет восстанавливаться после самой последней контрольной точки?
Key theories
- Скоординированное создание контрольных точек
- Процессы координируются таким образом, чтобы их контрольные точки вместе образовывали согласованное глобальное состояние, гарантируя пригодную для использования линию восстановления и избегая каскадных откатов за счет накладных расходов на синхронизацию.
- Нескоординированное создание контрольных точек и эффект домино
- Если процессы создают контрольные точки независимо, восстановление может потребовать отката каждого из них для поиска согласованного набора, потенциально каскадируя вплоть до начала (эффект домино), чего призвана избежать координация или протоколирование.
- Регистрация сообщений
- Регистрация сообщений, которые получает процесс (пессимистически, оптимистически или причинно), позволяет восстанавливающемуся процессу детерминированно воспроизводить их и продвигаться за пределы своей последней контрольной точки, восстанавливая недавнюю работу без глобального отката.
Clinical relevance
Контрольные точки/перезапуск обеспечивают устойчивость длительных высокопроизводительных и научных вычислений к отказам узлов, а асинхронное создание контрольных точек обеспечивает современным системам потоковой обработки гарантии восстановления после сбоев с точностью до одного раза.
History
Основываясь на теории согласованных снимков Чанди и Лэмпорта, Ку и Туэг формализовали скоординированное создание контрольных точек в 1987 году, а десятилетия работы над протоколированием и нескоординированными схемами были объединены в обзоре Элнозахи и коллег 2002 года, который является стандартным справочником по восстановлению с откатом.
Debates
- Скоординированное против нескоординированного создания контрольных точек
- Скоординированное создание контрольных точек гарантирует чистую линию восстановления, но добавляет затраты на синхронизацию и глобальную координацию; нескоординированное создание контрольных точек дешевле во время создания контрольных точек, но рискует эффектом домино и сложным восстановлением, поэтому правильный выбор зависит от частоты сбоев и масштаба.
Key figures
- K. Mani Chandy
- Leslie Lamport
- Sam Toueg
- Lorenzo Alvisi
Related topics
Seminal works
- elnozahy2002
- koo1987
- chandy1985
Frequently asked questions
- Что такое эффект домино при восстановлении с откатом?
- Когда процессы создают контрольные точки без координации, откат одного из них может вынудить зависимый процесс также откатиться, что может каскадно распространиться назад по всему вычислению — потенциально до самого начала. Для предотвращения этого используется скоординированное создание контрольных точек или регистрация сообщений.