Я изучаю последовательную согласованность в распределенных системах, но просто не мог понять объясняемые термины. Я был бы признателен, если бы кто-то мог пролить свет на непрофессиональный термин, почему (а) и (с) ниже последовательно согласованы, а (б) - нет. Спасибо. Последовательная непротиворечивость в распределенных системах
ответ
Казнь 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
.