为什么矢量时钟的VC(a)<vc(b)> a-> b属性始终成立?

时间:2019-03-27 14:08:42

标签: computer-science distributed-computing distributed-system vector-clock

根据矢量时钟的维基百科页面:

If VC(a) < VC(b) then a -> b

    VC - Vecor Clock
    -> - casually related

但是,如果我们具有以下架构: Click Here For the Image

现在我们可以看到带有VC(1,0,1)和VC(0,2,2)的事件,它们满足了以下条件:

sqrt(1+0+1) < sqrt(0+4+4) =>  sqrt(2) < sqrt(8)    //TRUE

但是这两个事件(VC(1,0,1)和VC(0,2,2))不属于​​随意顺序关系!

有人可以告诉我这是怎么回事,我想念什么吗?

1 个答案:

答案 0 :(得分:0)

不确定此处的活动是什么意思!

如果角色x具有向量时钟VC(x)= VC(1、0、1),而角色y具有向量时钟VC(y)= VC(0,2,2),则。 -有一个事件,参与者x知道y不知道(或因果关系取决于)。当时钟的第一个值从0更改为1时,发生此事件。
-另外,y知道和x不知道(或因果关系取决于)这三个事件。当第二个和第三个值在向量时钟上递增时,就会发生这些事件。所以:

VC(x)不是<= VC(y) VC(y)不是<= VC(x)

这些时钟不具有因果关系,因此无法直接进行比较。