Барьерная синхронизация (3 алгоритма) — различия между версиями
Yeputons (обсуждение | вклад) (→Алгоритмы) |
м (rollbackEdits.php mass rollback) |
(не показана 1 промежуточная версия 1 участника) | |
(нет различий)
|
Текущая версия на 19:05, 4 сентября 2022
Определение и полезность
Определение: |
Интервал | ( ) называется барьерно-синхронизированным, если для любых событий и верно, что $e \rightarrow f$.
Другими словами, все события слева от интервала произошло до всех событий справа от интервала. Это сильнее согласованных интервалов: те требуют лишь отсутствия стрелок справа налево (коих в барьере не может быть, потому что есть вообще все возможные стрелки слева направо, а в две стороны стрелки не бывает).
Как следствие, внутри любого барьерно-сихнронизированного интервала тоже есть согласованный срез (где-то, не знаем, где). А искать такой интервал намного проще, чем искать согласованный срез и по коду, и по количеству сообщений (линия вместо квадрата).
Алгоритмы
- Централизованный: все посылают токен координатору, затем он посылает всем. сообщений, низкая задержка;
- Каждый посылает каждому токен. сообщений, низкая задержка;
- Token по кольцу два раза, сообщение, высокая задержка (вроде можно $2N-2$ сообщений).