Барьерная синхронизация (3 алгоритма) — различия между версиями
Yeputons (обсуждение | вклад) |
Yeputons (обсуждение | вклад) (→Определение и полезность) |
||
Строка 1: | Строка 1: | ||
== Определение и полезность == | == Определение и полезность == | ||
+ | |||
+ | Интервал <tex>[G, H]</tex> (<tex>G \subseteq H</tex>) называется барьерно синхронизирующим(?), если для любых событий <tex>e \in G</tex> и <tex>f \notin H</tex> верно, что $e \rightarrow f$. | ||
+ | |||
+ | Это сильнее [[Согласованный интервал|согласованных интервалов]]: те требуют лишь отсутствия стрелок справа налево (коих в барьере не может быть, потому что есть вообще все возможные стрелки слева направо, а в две стороны стрелки не бывает). | ||
+ | |||
+ | Как следствие, внутри любого барьерно-синхронизирующего интервала тоже есть согласованный срез (где-то, не знаем, где). | ||
+ | А искать такой интервал намного проще, чем [[Алгоритм Чанди-Лампорта|искать срез]] и по коду, и по количествуи сообщений (линия вместо квадрата). | ||
== Алгоритмы == | == Алгоритмы == |
Версия 19:19, 11 февраля 2019
Определение и полезность
Интервал
( ) называется барьерно синхронизирующим(?), если для любых событий и верно, что $e \rightarrow f$.Это сильнее согласованных интервалов: те требуют лишь отсутствия стрелок справа налево (коих в барьере не может быть, потому что есть вообще все возможные стрелки слева направо, а в две стороны стрелки не бывает).
Как следствие, внутри любого барьерно-синхронизирующего интервала тоже есть согласованный срез (где-то, не знаем, где). А искать такой интервал намного проще, чем искать срез и по коду, и по количествуи сообщений (линия вместо квадрата).
Алгоритмы
- Централизованный: все посылают токен координатору, затем он посылает всем. сообщений, низкая задержка;
- Каждый посылает каждому токен. сообщений, низкая задержка;
- Token по кольцу, сообщений, высокая задержка.