Lamport的(物理)时钟同步算法

时间:2015-06-25 19:31:59

标签: messaging distributed clock timing distributed-system

由于它是如此着名的计算机科学论文,我决定阅读Lamport的Time, Clocks, and the Ordering of Events in a Distributed System。除了他经常引用的关于逻辑时钟的评论之外,他还提出了一种用于同步物理时钟的算法(从第562页开始)。我想我已经了解了该算法,但是,在第563页,他列出了每个流程必须遵循的两个实现规则。我似乎无法弄清楚IR1应该是什么意思:

  

IR 1'。对于每个i,如果Pi在物理时间t没有接收到消息,则Ci在t处是可微分的并且dCi(t)/ dt> 0。 0

他的意思是“Ci是可区分的”?与众不同?为什么dCi(t)/ dt必须大于0?我们不是试着让它尽可能接近0吗?

也许这是一个非常愚蠢的问题,附带一个非常明显的答案,但截至目前我无法弄明白。所以,非常感谢帮助...

1 个答案:

答案 0 :(得分:1)

这是说tCi(t)的数学上可微分的函数;也就是说,t的衍生物存在于Ci(t)。 (AKA,t的价值在dCi(t)/dt > 0处发生了一些可衡量的变化

Ci(t)仅表示Ci(t)的导数大于零。 (AKA t的变化率为Ci(t)

这只是Pi作为函数的定义,只要N=10; k=4; increments = floor(rand(1,k)*(N-2))+2 %// increments allowed are from 2 to N-1 inclusive out = mod(cumsum(increments), N)+1 %// sum increments 没有收到消息,其值就会增加。