gpt4 book ai didi

data-structures - 矢量时钟与版本矢量的用例是什么?

转载 作者:行者123 更新时间:2023-12-03 14:55:12 25 4
gpt4 key购买 nike

我一直无法找到适合哪些用例的示例 Vector ClocksVersion Vectors ,以及它们的不同之处。我知道它们在很大程度上以相同的方式工作,矢量时钟使用 receivesend函数和版本向量使用 sync函数,但我不明白这两个选项之间的区别。它只是表达同一事物的两种不同方式,还是它们之间的用例存在真正的差异?

我只能找到一个有点相关的问题:"When do I use a consensus algorithm like Paxos vs using a something like a Vector Clock?"

尽管链接的答案陈述了以下内容并引用了一篇短文,但我仍然不清楚这些差异。

You might want to use a version vector for a leaderless distributed storage. You might use vector clocks for the same (although it's a worse fit; the article also suggests you use it for consistent snapshots, for implementing causal ordering in general distributed systems etc).

最佳答案

同样的问题在这里,我仍然不是很清楚,但我发现的是 版本向量更适合确定分布式系统中特定复制节点网络中事件的因果关系,其中您唯一感兴趣的是首先发生的事情和之后发生的事情。

相比之下,矢量时钟确定分布式系统中未确定的事件序列中的事件顺序。

从这个意义上说,对版本向量使用整数是过于复杂的,因为如果我们只想确定哪个节点 A 或 B 更新得更多,考虑到最初 A[2,2] 和 B[2,2] (因此同步)。

从版本向量的角度来看,A[3,2] > B[2,2] 的含义与 A[10,2] > B[2,2] 相同。这将解释为什么我们可以为版本向量使用一组固定的值,而唯一重要的操作只是 同步版本 .

从矢量时钟的角度来看,有 A[10,2] 和 A[3,2] 之间的差异。这意味着在此期间发生了 +7 事件。这将解释为什么我们需要跟踪所有事件,并且有 发送 接收 同步网络中所有矢量时钟的操作。

无论如何,我和你一样缺少一些清晰的文件,它清楚地解释了一个与另一个的区别和用法。

关于data-structures - 矢量时钟与版本矢量的用例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58544442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com