Я был довольно озадачен примерами баланса Ченди-Лампорта, использующими связь FIFO.Двухпроцессорные системы распределенных вычислений, я думаю, я понимаю:
Два процесса
- P2 инициализирует снимок, записывает локальное состояние, отправляет маркер в P1, поворачиваетпри записи для канала C12
- P1 получает [первый] маркер, записывает локальное состояние, устанавливает состояние канала C21, отправляет маркер на P2
- P2 получает маркер, устанавливает состояние C12
=> LS2 = {200}, LS1 = {450}, C21 = {}, C12 = {50}
Должны ли все локальные состояния составлять баланс всех процессов?(700 здесь ...) Я понял, что это было целью того, чтобы глобальное государство было последовательным.«Баланс P1 составляет 200 долларов, а баланс P2 - 450 долларов, но 50 долларов находятся в пути».Я начинаю сильно ломать голову над тремя вовлеченными процессами:
Три процесса
=> LS1 = {500}, LS2 = {200}, LS3 = {100},
C12 = {}, C21 = {}, C23 = {}, C31 = {}, C13 = {200}
Я думал, что общее количество для всех локальных состояний и каналов должно быть 800здесь, но это 1000. Мое обоснование здесь неверно?Процесс должен записывать свое состояние на каналах для всех входящих сообщений между предыдущим маркером и новым маркером, верно?
Спасибо!