4、回滚恢复协议:原理、比较与实现

回滚恢复协议:原理、比较与实现

1. 日志记录协议与恢复方式

日志记录协议需要有效的垃圾回收算法。悲观协议只需保留每个进程的最新检查点,而乐观协议可能需要保留多个检查点。例如,P2 失败会迫使 P1 从检查点 B 而非最新的检查点 D 重启。此外,由于决定因素是异步记录的,乐观日志记录协议中的输出提交通常需要多主机协调,以确保任何故障情况都不会撤销输出。

乐观日志记录协议的恢复可以是同步或异步的:
- 同步恢复 :所有进程运行恢复协议,根据依赖和记录信息计算最大可恢复系统状态,然后执行实际回滚。在无故障执行期间,每个进程在每个状态间隔开始时增加状态间隔索引。依赖跟踪可以是直接或传递的。
- 直接依赖跟踪 :发送者的状态间隔索引会附加在每个传出消息上,使接收者能直接记录消息引起的依赖。恢复时可以将这些直接依赖组合起来,以获得完整的依赖信息。
- 传递依赖跟踪 :每个进程 Pi 维护一个大小为 N 的向量 TDi,其中 TDi[i] 是 Pi 的当前状态间隔索引,TDi[j](j ≠ i)记录 Pi 依赖的 Pj 的任何状态间隔的最高索引。传递依赖跟踪通常会在无故障时带来更高的开销,但允许更快的输出提交和恢复。
- 异步恢复 :失败的进程通过发送回滚公告广播或恢复消息广播来启动新的实例。收到回滚公告后,如果进程检测到自己相对于该公告成为孤立进程,则会进行回滚,并广播自己的回滚公告。由于同一进程的多个实例的回滚公告可能在系统中共存,每个进程通常需要跟踪其状态对所有进程的每个实例的依赖,以正确检测孤立状态。可以通过延迟

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值