Checkpointing und Wiederherstellung
Checkpointing speichert periodisch den Zustand eines Systems, sodass es nach einem Fehler zu einem konsistenten Punkt zurückkehren und den Betrieb wieder aufnehmen kann, anstatt von Grund auf neu zu starten.
Definition
Checkpointing zeichnet den Zustand eines oder mehrerer Prozesse auf stabilem Speicher auf; die Rollback-Wiederherstellung verwendet diese Checkpoints, möglicherweise mit protokollierten Nachrichten, um das System nach einem Fehler in einen konsistenten globalen Zustand – eine Wiederherstellungslinie – zurückzuversetzen und von dort aus fortzusetzen.
Scope
Dieses Thema behandelt Checkpoint-basierte und Log-basierte Rollback-Wiederherstellung: unkoordiniertes, koordiniertes und kommunikationsinduziertes Checkpointing; den Domino-Effekt, den unkoordinierte Checkpoints verursachen können; und pessimistisches, optimistisches und kausales Nachrichten-Logging, das eine Wiederherstellung über den letzten Checkpoint hinaus ermöglicht. Es knüpft an die Theorie der konsistenten Schnitte globaler Snapshots an.
Core questions
- Wie können Checkpoints über Prozesse hinweg zu einer konsistenten Wiederherstellungslinie kombiniert werden?
- Was ist der Domino-Effekt und wie verhindert Koordination diesen?
- Wann ermöglicht Nachrichten-Logging eine Wiederherstellung über den jüngsten Checkpoint hinaus?
Key theories
- Koordiniertes Checkpointing
- Prozesse koordinieren sich, sodass ihre Checkpoints zusammen einen konsistenten globalen Zustand bilden, was eine nutzbare Wiederherstellungslinie garantiert und kaskadierende Rollbacks auf Kosten des Synchronisationsaufwands vermeidet.
- Unkoordiniertes Checkpointing und der Domino-Effekt
- Wenn Prozesse unabhängig voneinander Checkpoints setzen, kann die Wiederherstellung erfordern, jeden zurückzusetzen, um einen konsistenten Satz zu finden, was potenziell bis zum Start kaskadieren kann (der Domino-Effekt), was durch Koordination oder Logging vermieden werden soll.
- Nachrichten-Logging
- Das Protokollieren der Nachrichten, die ein Prozess empfängt (pessimistisch, optimistisch oder kausal), ermöglicht es einem wiederherstellenden Prozess, diese deterministisch wiederzugeben und über seinen letzten Checkpoint hinaus fortzuschreiten, wodurch aktuelle Arbeit ohne globalen Rollback wiederhergestellt wird.
Clinical relevance
Checkpoint/Neustart macht langlaufende Hochleistungs- und wissenschaftliche Berechnungen widerstandsfähig gegen Knotenausfälle, und asynchrones Checkpointing verleiht modernen Stream-Processing-Systemen ihre „Exactly-Once“-Fehlerwiederherstellungsgarantien.
History
Aufbauend auf der Theorie der konsistenten Snapshots von Chandy und Lamport formalisierten Koo und Toueg 1987 das koordinierte Checkpointing, und jahrzehntelange Arbeit an Logging- und unkoordinierten Schemata wurde in der Übersicht von Elnozahy und Kollegen aus dem Jahr 2002 konsolidiert, der Standardreferenz zur Rollback-Wiederherstellung.
Debates
- Koordiniertes versus unkoordiniertes Checkpointing
- Koordiniertes Checkpointing garantiert eine saubere Wiederherstellungslinie, führt aber zu Synchronisationskosten und globaler Koordination; unkoordiniertes Checkpointing ist zum Zeitpunkt des Checkpoints kostengünstiger, birgt aber das Risiko des Domino-Effekts und einer komplexen Wiederherstellung, sodass die richtige Wahl von der Fehlerrate und dem Umfang abhängt.
Key figures
- K. Mani Chandy
- Leslie Lamport
- Sam Toueg
- Lorenzo Alvisi
Related topics
Seminal works
- elnozahy2002
- koo1987
- chandy1985
Frequently asked questions
- Was ist der Domino-Effekt bei der Rollback-Wiederherstellung?
- Wenn Prozesse ohne Koordination Checkpoints setzen, kann das Zurücksetzen eines Prozesses einen abhängigen Prozess ebenfalls zum Zurücksetzen zwingen, was sich rückwärts durch die gesamte Berechnung – potenziell bis zum Anfang – kaskadieren kann. Koordiniertes Checkpointing oder Nachrichten-Logging wird eingesetzt, um dies zu verhindern.