Изменения

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

Барьерная синхронизация (3 алгоритма)

1652 байта добавлено, 00:10, 4 июня 2019
Алгоритмы
[[Категория: Параллельное программирование]]== Определение и полезность =={{Определение|definition=Интервал <tex>[G, H]</tex> (<tex>G \subseteq H</tex>) называется '''барьерно-синхронизированным''', если для любых событий <tex>e \in G</tex> и <tex>f \notin H</tex> верно, что $e \rightarrow f$.}}Другими словами, все события слева от интервала произошло до всех событий справа от интервала.Это сильнее [[Согласованный интервал|согласованных интервалов]]: те требуют лишь отсутствия стрелок справа налево (коих в барьере не может быть, потому что есть вообще все возможные стрелки слева направо, а в две стороны стрелки не бывает). Как следствие, внутри любого барьерно-сихнронизированного интервала тоже есть согласованный срез (где-то, не знаем, где).А искать такой интервал намного проще, чем [[Алгоритм Чанди-Лампорта|искать согласованный срез]] и по коду, и по количеству сообщений (линия вместо квадрата). == Алгоритмы == *[[Централизованный]]: все посылают токен координатору, затем он посылает всем. <tex>O(N)2N</tex> сообщений, низкая задержка;* Каждый посылает каждому токен. <tex>O(N^2)</tex> сообщений, низкая задержка;* Token по кольцудва раза, <tex>O(N)2N-1</tex> сообщенийсообщение, высокая задержка(вроде можно $2N-2$ сообщений).
[[Файл:Token_ring.png|200px|thumb|left]]
292
правки

Навигация