Изменения

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

Алгоритм Скина

167 байт добавлено, 19:37, 4 сентября 2022
м
rollbackEdits.php mass rollback
# Инициатор отправляет сообщение и своё время (''предварительное время сообщения'') всем получателям
# При приеме сообщения процесс запоминает сообщение со временем в очередь (как нефинализированное) и отправляет свое время инициатору
# Когда инициатору вернулись все подтверждения, он выбирает максимальное время из них и снова отправляет сообщение со с финализированным временем
# Получатель может обработать сообщение, если оно помечено как финальное и имеет минимальное время среди всех известных получателю сообщений (и финальных, и нефинальных; иначе может получиться, что финализация сообщений произойдёт в разном порядке у разных получателей и нарушится общий порядок)
Полный порядок задается финальными временными метками. Финальные метки нужны, чтобы как-то зависеть от времени получателей.
Доказательство на лекции и в Gaarg не приводилось.
 
Итого $3(k-1)$ сообщений на каждый multicast на $k$ процессов (не обсуждалось на лекции, но вроде так).
1632
правки

Навигация