Изменения

Перейти к: навигация, поиск

Алгоритм для причинно-согласованного порядка

1433 байта добавлено, 10:29, 3 июня 2019
Пример
== Пример ==
Пусть есть три процесса: $P$, $Q$, $R$ (пронумерованных так же) и они отправили друг другу сообщения. Процесс $R$ только что получил сообщение:
 
[[Файл:distributed-order-cc-algo-1.png|400px]]
 
Так как у процесса $R$ матрица $M$ нулевая, а $W_{23}=1$, то FIFO-порядок не нарушен. Однако в столбце 3 (сообщения, посланные процессу $R$) в строчке 1 (от процесса $P$) есть единица, что больше, чем ноль. То есть $P$ послал сообщение $R$, $Q$ про это знает, но $R$ ещё это сообщение не получил. Тогда надо ждать сообщения, матрицу пока не обновляем.
 
[[Файл:distributed-order-cc-algo-2.png|400px]]
 
Тут как раз получили это сообщение. Столбец 3 совпадает, а в строчке 1 у нас на единицу больше, т.е. FIFO между $P$ и $Q$ не нарушен. Можно обработать сообщение и обновить матрицу $M$. Теперь можно обработать то сообщение, которое было получено первым:
 
[[Файл:distributed-order-cc-algo-3.png|400px]]
292
правки

Навигация