2015-06-09 32 views
1

我正在學習分佈式系統中的順序一致性,但無法理解所解釋的術語。如果有人能夠在非專業人士的術語中闡明爲什麼(a)和(c)順序一致,(b)不符合,我將不勝感激。 謝謝。 enter image description here分佈式系統中的順序一致性

回答

4

操作的執行順序e是一致的,當且如果可以置換成序列這些操作s使得:

  • s尊重每個過程的程序順序的順序。也就是說,對於同一過程的任何兩個操作o1o2,如果o1o2之前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)aP3要求W(x)bP4W(x)a

  • 操作R(x)a, R(x)b來要求W(x)a來之前W(x)b

這是不可能構建這樣一個序列s