论文部分内容阅读
在一个大规模分布式系统中,为了能够减少失效节点所造成的计算损失,基于卷回恢复的容错技术得到了广泛使用,其中具有代表性的如检查点技术。在设计检查点协议过程中一个关键问题即如何在提高检查点设置自主性的同时使计算损失能得到有效控制。为此,论文中给出了基于时间的多周期检查点设置协议。在这些协议中,计算单元允许采用期望的检查点周期进行检查点设置。同时,为了使各计算单元临近设置的检查点能在恢复过程中尽量得到利用,文中给出了一些检查点周期调整方法。这些调整方法的基本特征是使进程的检查点设置服从一个P模式。通过仿真实验可以发现,基于时间的多周期检查点设置协议能在较低的检查点开销下实现对卷回偏移的良好控制。 在分布式容错系统中,日志技术提供了另一种卷回恢复手段。采用日志技术后失效节点可通过消息回放避免应用重头执行。在日志协议中,因果日志协议由于允许定期向稳定存储器中更新日志信息以及失效节点在恢复过程中可独立完成恢复而得到了人们的关注。因果日志协议中节点之所以可以独立恢复主要由于各节点维护了不确定事件间的依赖关系信息。人们发现随着节点规模的增大,将产生大量依赖信息携带在消息当中并扩散到其它节点,也就是说以如此方法获知外部节点的日志进度将耗费较大的网络带宽。为了降低传统因果日志协议的携带开销,本文给出了一个分组因果日志协议。该协议的关键在于可控制依赖信息的扩散:系统中的节点将被划分为逻辑组,通过一个消息分割机制使得任何一个节点的依赖信息仅对本组节点可见。实验结果显示出与通常的因果日志协议相比这种具有逻辑分组的因果日志协议的携带开销可以有效降低。考虑到如果依赖信息不能充分利用将会导致消息携带冗余的依赖信息,本文还给出了一个基于依赖信息挖掘的因果日志方法。其主要目的仍然是控制因果日志的携带开销。该方法中,一个节点可以仅通过不确定事件间的依赖关系确定出相关节点的因果历史,避免了在消息中携带额外的依赖向量以及依赖矩阵。该方法同时也不需对系统中的失效节点数进行限定。 在分布式系统中计算单元可能穿梭于各个节点,从而导致了在需要进行恢复处理时耗费较大的系统开销用于定位和取回其恢复相关信息。为了加快恢复速度,一般可采取根据计算单元的位置对恢复信息不断迁移的方式。在论文中给出了一个更为有效的恢复信息放置策略,即当节点移动到某一限定范围外时采取一种部分恢复信息迁移的方式。我们发现采取该策略时,一些无用的恢复信息迁移将可避免。同时,为了进一步降低迁移开销,论文中还给出了一个采用弹性区域控制恢复信息迁移的策略。如果一个计算单元能够返回先前的限定区域,采取一种相对轻量的恢复信息迁移即可。在论文中对上述恢复信息放置策略的性能进行了分析并且与传统基于移动的策略进行了比较。