检查点与恢复
检查点定期保存系统状态,以便在发生故障后,系统可以回滚到一致点并恢复,而不是从头开始重启。
用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
Learn & explore
视频即将推出
Definition
检查点将一个或多个进程的状态记录到稳定存储中;回滚恢复利用这些检查点,可能结合记录的消息,在故障后将系统恢复到一致的全局状态——一个恢复线——并从那里向前重放。
Scope
本主题涵盖基于检查点和基于日志的回滚恢复:非协调、协调和通信诱导的检查点;非协调检查点可能导致的骨牌效应;以及允许在上次检查点之后恢复的悲观、乐观和因果消息日志。它与全局快照的一致性切片理论相关联。
Core questions
- 如何将跨进程的检查点组合成一致的恢复线?
- 什么是骨牌效应,协调如何防止它?
- 消息日志何时允许在最近的检查点之后进行恢复?
Key theories
- 协调检查点
- 进程进行协调,使其检查点共同形成一个一致的全局状态,从而保证可用的恢复线并避免级联回滚,但代价是同步开销。
- 非协调检查点与骨牌效应
- 如果进程独立地进行检查点,恢复可能需要将每个进程回滚以找到一致的集合,这可能一直级联到开始(骨牌效应),而协调或日志记录旨在避免这种情况。
- 消息日志
- 记录进程接收到的消息(悲观地、乐观地或因果地)允许恢复进程确定性地重放它们,并超越其上次检查点,恢复最近的工作而无需全局回滚。
Clinical relevance
检查点/重启使长时间运行的高性能和科学计算能够抵御节点故障,异步检查点则为现代流处理系统提供了“恰好一次”的故障恢复保证。
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
- 回滚恢复中的骨牌效应是什么?
- 当进程在没有协调的情况下进行检查点时,回滚一个进程可能会迫使依赖进程也回滚,这可能会向后级联到整个计算过程——甚至可能回溯到最开始。协调检查点或消息日志用于防止这种情况。