异步分布式系统中的检查点与同步模拟技术
1. 无协调检查点的消息日志记录
无协调检查点机制允许每个进程独立定义其本地检查点,不存在强制检查点的概念。这种方法虽然容易引发多米诺效应,但对于某些应用(如故障后的向后恢复)很有价值,尤其是当进程定期进行少量本地检查点操作时。此时,需要一个恢复算法来计算一致的全局检查点,并且根据计算目标,该算法可能还需计算与全局检查点一致的通道状态。这就要求进程在执行期间将消息记录到稳定存储中。
1.1 悲观与乐观消息日志记录
消息日志记录技术可分为发送方日志记录和接收方日志记录。有两种日志记录技术:
- 悲观日志记录 :消息在发送(接收)时由发送方(接收方)保存到稳定存储中。在无故障执行时,这会带来较高的开销,因为每条消息都需要额外的输入/输出操作。
- 乐观日志记录 :消息首先保存到易失性日志中,当进程进行本地检查点操作时,再将该日志保存到稳定存储中。此时,进程会将本地状态和易失性日志中的消息一起保存。
这里将介绍一种乐观的发送方消息日志记录算法,该算法的主要特点是只需将易失性日志中的部分消息保存到稳定存储中。为简化说明,假设通道是先进先出(FIFO)的。
1.2 是否将消息记录到稳定存储
- 基本原理 :设 $c_{i}^{x}$ 表示进程 $p_{i}$ 进行的第 $x$ 个本地检查点。当 $p_{i}$ 发送消息 $m$ 时,将其保存到本地易失性日志中。当 $p_{i}$ 进行下一个本地检查点 $c_{i}^{x + 1}$ 时,会执行
超级会员免费看
订阅专栏 解锁全文
696

被折叠的 条评论
为什么被折叠?



