gpt4 book ai didi

distributed-computing - 顺序一致性和最终一致性有什么区别?

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

我在网上找到了两个定义:

顺序一致性——任何执行的结果都是一样的,就好像所有处理器的操作都是按某种顺序执行的,每个单独的处理器的操作都按照其程序指定的顺序出现在这个序列中。

最终一致性——如果没有对给定数据项进行新的更新,最终对该项目的所有访问都将返回最后更新的值。

这些定义对我来说很清楚。但是,当最终一致性不是连续的时,我不明白。
一个例子:
mem 中的初始 val 为 0。横轴是时间。

P1:      write 1             (x)
P2: read 0 read 0 read 0 read 1 read 1 read 1

所以,有一些顺序,如果我们把“写 1”放在 (x) 槽中,这就是定义的顺序一致性。我哪里错了?

最佳答案

顺序一致性和最终一致性之间的区别在于它们提供的保证。

最终一致性没有指定:

  • 如果同时更新寄存器会发生什么
  • 不一致的期限持续多久

  • 结果,即使是单个客户端也可能会遇到修改寄存器但后续读取返回陈旧数据的情况。

    根据定义,顺序一致性不可能出现相同的情况(整体顺序尊重子处理器顺序)。

    此外,如果程序不做出时间敏感的假设并且所有客户端(处理器)不与系统外部通信,那么顺序一致性与线性化无法区分。相反,最终一致性更接近于缺乏一致性而不是线性化。

    关于distributed-computing - 顺序一致性和最终一致性有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46399444/

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