Computer science 理解伯克利算法有困难

Computer science 理解伯克利算法有困难,computer-science,distributed-computing,Computer Science,Distributed Computing,我一直在读书,试图把我的头绕在书桌上 Berkeley算法告诉我们,领导者会不时询问所有其他进程的当前时间,计算所有这些时间的平均值,向每个进程返回一个增量值,即该进程的时间与平均值之间的差值 例如,考虑一个流程为“代码< >代码< > b>代码>和 c>代码>的3-进程系统,该代码为代码 现在,如果我是正确的,我们应该预期如果B的漂移值为0.001(即,每1000实秒只会滴答999次),并且我想确保进程的失谐不会超过0.1秒,我想说必须每100秒强制时钟同步一次。这意味着我使用的表达式是

我一直在读书,试图把我的头绕在书桌上

Berkeley算法告诉我们,领导者会不时询问所有其他进程的当前时间,计算所有这些时间的平均值,向每个进程返回一个增量值,即该进程的时间与平均值之间的差值

例如,考虑一个流程为“代码< >代码< <代码> > <代码> b>代码>和<代码> c>代码>的3-进程系统,该代码为<>代码 现在,如果我是正确的,我们应该预期如果

B
的漂移值为0.001(即,每1000实秒只会滴答999次),并且我想确保进程的失谐不会超过0.1秒,我想说必须每100秒强制时钟同步一次。这意味着我使用的表达式是

是:

  • delta_t同步前允许我等待的最长时间 再次计时
  • delta最大时钟误差;rho漂移率
  • rho=漂移
我的问题是,在我教授的笔记中,可以找到以下表达式:

这也可以在其他文献来源中找到。谁能解释一下为什么第二个表达式中有2?我不确定这些变量是否真的是我假设的那样

谢谢

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

我认为,两分法是为了解释若干进程的积极和消极漂移

如果您的最坏情况漂移是<代码> 0.001 < /代码>,请考虑<代码> b>代码>具有漂移<代码> + 0.001 < /代码>和<代码> C<代码> > <代码> -0.001 < /代码>。如果根据初始公式选择delta-t,则

B
C
之间的时间差可能是同步前所需delta的两倍