Последовательная согласованность в распределенных системах

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


person user23    schedule 09.06.2015    source источник


Ответы (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 невозможно.

person hengxin    schedule 28.08.2015
comment
Второй момент немного вводит в заблуждение. Операция чтения в процессе, записавшем значение, должна возвращать записанное значение или что-то более новое (как только оно возвращает новое значение, оно больше не может возвращать более старые значения). В любых других процессах чтение может возвращать более старые значения, если оно соответствует порядку записи (не перемещает время назад). Так, например, в случае (C), R (x) на P1 может возвращать a, но если он возвращает b, то с этого момента он больше не может возвращать a. - person Majid Azimi; 12.06.2018
comment
Дополнительную информацию можно найти здесь. На слайде № 8 говорится: Определение последовательной согласованности ничего не говорит о времени - нет ссылки на самую последнюю операцию записи - person Majid Azimi; 12.06.2018
comment
Эта ссылка также подтверждает мой комментарий. Специально первая цифра. - person Majid Azimi; 12.06.2018
comment
@MajidAzimi Да, это не относится ко времени. Тем не менее, это относится к общему порядку / перестановке / последовательности операций, на основе которых четко определено понятие самых последних. - person hengxin; 12.06.2018
comment
Почему операции R (x) b, R (x) a из P3 требуют, чтобы W (x) b предшествовала W (x) a? - person noobcoder; 09.12.2019