2015-06-09 4 views
1

Я изучаю последовательную согласованность в распределенных системах, но просто не мог понять объясняемые термины. Я был бы признателен, если бы кто-то мог пролить свет на непрофессиональный термин, почему (а) и (с) ниже последовательно согласованы, а (б) - нет. Спасибо. enter image description hereПоследовательная непротиворечивость в распределенных системах

ответ

4

Казнь e операций является последовательно согласованным, если и может ли он быть перестановкой в ​​последовательность s из этих операций таким образом, что:

  • последовательность s уважает порядок программы каждого процесса. То есть для любых двух операций o1 и o2 того же процесса, если o1 предшествует o2 в e, то o1 должен быть размещен до o2 в s;

  • в последовательности s, каждая операция чтения возвращает значение последней предыдущей операции записи по той же переменной.


В (а), 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]

Для (с), 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]

Однако, для (б):

  • операции R(x)b, R(x)a из P3 требуют, чтобы W(x)b прийти до W(x)a

  • операции R(x)a, R(x)b из P4 требуют, чтобы W(x)a прийти до W(x)b

невозможно построить такую ​​последовательность s.