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