分布式快照算法(如Chandy Lamport)如何在现实世界的分布式系统中实现?

时间:2014-09-24 13:30:36

标签: distributed distributed-computing snapshot

任何人都可以解释一下,分布式快照算法(示例:Chandy-Lamport如何在现代分布式系统的上下文中实现?

你能说出一个使用这个/这类算法的开源系统实现吗?

这个理论如何真正转化为现实世界?

4 个答案:

答案 0 :(得分:1)

它可用于片上网络(NOC)系统上的回滚恢复系统。它还用于在计算期间确定系统的全局状态。

作为示例,HP将这种算法用于崩溃/恢复的回滚恢复协议 主机和公平损失链接。你可以在这里找到一篇有趣的文章:

http://www.hpl.hp.com/techreports/2010/HPL-2010-155.pdf

答案 1 :(得分:1)

信不信由你,在我正在努力解决这个问题时,我发了一封电子邮件给Dr. Jeff Dean并提出了这个问题,他确实给我回复了! : - )

以下是他对这个问题的回答,我引述:

"我们的Spanner系统是一个提供快照读取隔离的分布式系统,这可能是快照算法的一个实际示例: http://static.googleusercontent.com/media/research.google.com/en/us/archive/spanner-osdi2012.pdf"

答案 2 :(得分:0)

其中一个应用是了解" Stable Property"这被定义为一种属性,如果存在于全球状态,将一直存在,直到有外部干预(在我们的分布式系统之外)。一个主要的例子可以是:"终止状态"。让我们假设您正在运行繁重的计算,这些计算在您的分布式系统中进行分配。如果您拍摄两次快照并比较并找到通道的本地状态以及系统/进程,则可以知道终止状态。

答案 3 :(得分:0)

Apache Flink使用与Chandy Lamport非常相似的分布式快照算法(用于检查点)。跨网络发送一个标记,该标记向节点发送信号以告知他们需要记录其状态,但略有不同,即未记录通道的状态。

以下两篇论文包含有关此内容的更多信息:

  • 用于分布式数据流(link)的轻量级异步快照
  • Apache Flink(link)中的状态管理