无法理解伯克利算法

时间:2012-01-22 15:10:02

标签: computer-science distributed-computing

我一直在阅读并尝试围绕Berkeley Algorithm

伯克利算法告诉我们,领导者会不时地询问所有其他进程的当前时间,计算所有这些时间的平均值,向每个进程发送一个delta值,即差值在该过程'时间与平均值之间。

例如,考虑一个包含流程ABC的3流程系统,其中A为领导者。

现在,如果我是正确的,那么如果B的漂移值为0.001(也就是说,每1000真实时间仅为999次),我们应该期待确保任何进程都不会超过0.1秒,我会说必须每100秒强制进行一次时钟同步。这意味着我正在使用的表达式是

enter image description here

感:

  • delta_t我在同步之前允许等待的最长时间 时钟再次;
  • 增量最大时钟误差; rho漂移率;
  • rho =漂移

我的问题是,在我教授的笔记中,人们可以找到以下表达式:

enter image description here

也可以在其他文献资料中找到。任何人都可以解释我为什么我们在第二个表达式中有2个?我不确定这些变量是否是我所假设的。

由于

1 个答案:

答案 0 :(得分:4)

(小免责声明:我没有做太多分布式计算。我可能误解了这个问题。为什么不问教授?)

我认为两分之一是考虑到几个过程的正负漂移。

如果您的最坏情况漂移为0.001,请考虑B有漂移+0.001C-0.001。如果您根据初始公式选择 delta-t ,则BC之间的时差可能会变为 delta 的两倍在你同步之前想要。