分布式系统中的序贯一致性

时间:2015-06-09 13:51:57

标签: sequential distributed-system consistency

我正在学习分布式系统中的顺序一致性,但却无法理解所解释的术语。如果有人能够解释为什么下面的(a)和(c)是顺序一致的,而(b)不是,那么我会很感激。 感谢。enter image description here

1 个答案:

答案 0 :(得分:4)

执行e操作是顺序一致的,如果它可以被置换为这些操作的序列s,那么:

  • 序列s尊重每个流程的程序顺序。也就是说,对于同一流程中的任意两个操作o1o2,如果o1位于o2中的e之前,那么o1应为放在o2之前s;

  • 之前 序列s中的
  • ,每个读操作都返回同一个变量上最后一次写操作的值。

对于(a),s可以是:

W(x)b [P2], R(x)b [P3], R(x)b [P4], W(x)a [P1], R(x)a [P3], R(x)a [P4]

对于(c),s可以是: W(x)a [P1], R(x)a [P2], R(x)a [P3], R(x)a [P4], W(x)b [P3], R(x)b [P1], R(x)b [P2], R(x)b [P4]

然而,对于(b):

  • 来自R(x)b, R(x)a的操作P3要求W(x)b <{1}}

  • 之前
  • 来自W(x)a的操作R(x)a, R(x)b要求P4 <{1}}

  • 之前

不可能构建这样的序列W(x)a