矩阵时钟能解决什么问题,但矢量时钟不能解决?



我了解对向量时钟的需求,从标量逻辑时钟无法提供足够的信息来判断键值存储中是否存在更新冲突,例如。

但我不确定矢量时钟仍然无法解决什么问题,然后通过更笨重的矩阵时钟解决?

在最终的一致性环境中,系统创建的所有消息都需要保留,直到每个对等都收到消息(==最终的一致性)。但是您不想保留永远的消息,因此您需要有一种方法来分辨所有节点收到了哪些消息并且可以删除,这就是为什么您使用矩阵时钟。

矩阵时钟是向量时钟的列表,因此您知道系统中每个节点的当前状态。基于此,您可以知道哪个同行已经收到了哪些消息。当您与系统中的另一个节点交换消息时,您会比较矩阵时钟,并记住每个节点的最高值。之后,您可以删除以前发送的消息,因为节点已经必须已接收。

这是对TSAE(时间戳抗透镜)方案的非常简短的描述。您可以在1992年的理查德·安德鲁·戈尔丁(Richard Andrew Golding)(http://citeseerx.ist.ist.ppsu.edu/viewdoc/downoc/download?doi = 10.doi = 10.1.1.1.1.1.1.1.1.1.1.1.7385 http://citeseerx.ist.7385 http://citeseerx.ist.7385 http://citeseerx.ist.psu.rep; rep; rep; rep; rep;rep1& type = pdf)从第5章开始。

Lamport时钟之间的区别(标量逻辑时钟,在您的任期内),向量时钟和矩阵时钟在于它们代表不同级别的知识。<<<<<<

对于矢量时钟$ vt_i [1 ldots n] $ in site $ i $,输入$ vt_i [k] $代表site $ s_i $具有站点$ s_k $的知识。知识的形式为" $ i $知道$ k $ that $ ldots $。

对于矩阵时钟$ mt_i [1 ldots n,1 ldots n] $ in网站$ s_i $,条目$ mt_i [k,l] $表示网站$ s_i $关于知识的知识s_k $关于网站$ s_l $。知识在这里的形式" $ i $知道$ k $知道$ l $ th $ ldots $。

直觉,我们可以用更多的知识来做更多的事情。

以下描述主要来自[1]:

向量时钟和矩阵时钟被广泛用于异步分布式消息通话系统中。

使用矢量时钟的某些示例区域是检查点,因果记忆,维持重复文件的一致性,全局快照,全局时间近似,终止检测,有限的多沃特构建共享变量,相互排斥和调试(谓词检测)。

使用矩阵时钟的一些示例区域是设计容忍故障的协议和分布式数据库协议,包括在分布式数据库中丢弃过时信息的协议,以及解决复制的日志和复制的词典问题的协议。

对于矩阵时钟,我们注意到$ min_k(mt_i [k,i]) ge t $表示网站$ s_i $知道其他每个站点$ k $都知道其进度,直到其当地时间$ t $。

正是此属性允许网站不再以当地时间$ le t $或丢弃过时的信息发送信息。

[1]并发知识和逻辑时钟抽象 ajay D. Kshemkalyani 2000

相关内容

  • 没有找到相关文章

最新更新