Изменения

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

Общий порядок сообщений

1379 байт добавлено, 10:51, 3 июня 2019
Нет описания правки
[[Категория: Параллельное программирование]]
'''Полный В системах, которые отсылают одно сообщение нескольким процессам, могут обнаружиться неприятные спецэффекты даже если не нарушен синхронный порядок''' :[[Файл:distributed-total-order- wrong.png|400px] Проблема в том, что в исходной модели нет операции "отправить сообщение нескольким получателям" и на самом деле $P$ и $S$ отправляют два независимых сообщения двум разным процессам. Расширим модель: введём для любых сообщения вместо обычного события $rcv(m)$ события $rcv_p(m)$ — процесс $p$ получил событие $m$ (определено для всех $p$ для broadcast-сообщений и только для некоторых $p$ в случае multicast/unicast).{{Определение|definition=В системе с broadcast/multicast-сообщениями имеется ''x'полный порядок' и '', если не существует двух сообщений $x$, $y'' $ и любых двух потоков ''$P'' и ''$, $Q'' если ''$ таких, что сообщения были приняты в этих потоках в разном порядке: $rcv_P(x'' принято в ''P'' перед '') < rcv_P(y) \land rcv_Q(y'') < rcv_Q(x)$.}}Если у нас только unicast-сообщения, то ''y'' не может быть принято перед ''x'' полный порядок тривиально выполняется даже в ''Q''асинхронном порядке.
292
правки

Навигация