Lamport 的(物理)时钟同步算法
Lamport’s (Physical) Clock Synchronization Algorithm
由于这是一篇著名的计算机科学论文,我决定阅读 Lamport 的 Time, Clocks, and the Ordering of Events in a Distributed System。除了他经常引用的关于逻辑时钟的评论外,他还提出了一种用于同步物理时钟的算法(从第 562 页开始)。我想我明白了那个算法的想法,但是,在第 563 页,他列出了每个进程必须遵循的两个实现规则。我似乎无法弄清楚 IR1 应该是什么意思:
IR 1'. For each i, if Pi does not receive a message at physical time t, then Ci is differentiable at t and dCi(t)/dt > 0.
他说 "Ci is differentiable" 是什么意思?区别于什么?为什么 dCi(t)/dt 必须大于 0?难道我们不尝试让它尽可能接近 0 吗?
也许这是一个非常愚蠢的问题,但答案却非常明显,但到目前为止我还想不通。因此,非常感谢您的帮助...
这就是说,Ci(t)
是 t
的数学可微函数;也就是说,Ci(t)
的导数存在于 t
。 (也就是 Ci(t)
的值在 t
发生了一些可测量的变化)
dCi(t)/dt > 0
只是表示 Ci(t)
的导数大于零。 (也就是 Ci(t)
的变化率在 t
时为正)
这只是将 Ci(t)
定义为一个函数,只要 Pi
没有收到消息,它的值就会增加。
由于这是一篇著名的计算机科学论文,我决定阅读 Lamport 的 Time, Clocks, and the Ordering of Events in a Distributed System。除了他经常引用的关于逻辑时钟的评论外,他还提出了一种用于同步物理时钟的算法(从第 562 页开始)。我想我明白了那个算法的想法,但是,在第 563 页,他列出了每个进程必须遵循的两个实现规则。我似乎无法弄清楚 IR1 应该是什么意思:
IR 1'. For each i, if Pi does not receive a message at physical time t, then Ci is differentiable at t and dCi(t)/dt > 0.
他说 "Ci is differentiable" 是什么意思?区别于什么?为什么 dCi(t)/dt 必须大于 0?难道我们不尝试让它尽可能接近 0 吗?
也许这是一个非常愚蠢的问题,但答案却非常明显,但到目前为止我还想不通。因此,非常感谢您的帮助...
这就是说,Ci(t)
是 t
的数学可微函数;也就是说,Ci(t)
的导数存在于 t
。 (也就是 Ci(t)
的值在 t
发生了一些可测量的变化)
dCi(t)/dt > 0
只是表示 Ci(t)
的导数大于零。 (也就是 Ci(t)
的变化率在 t
时为正)
这只是将 Ci(t)
定义为一个函数,只要 Pi
没有收到消息,它的值就会增加。