Бар'єр (програмування)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

У паралельних обчисленнях бар'єром (англ. Barrier) називають метод синхронізації. Бар'єр для групи потоків або процесів в вихідному коді значить, що кожний потік/процес мають зупинитися у цій точці і не можуть продовжуватися, доки всі потоки/процеси не досягнуть цієї точки. Бар'єри корисні для організації колективних розподілених обчислень в багатопроцесорній конфігурації, коли кожен учасник (потік управління) виконує частину роботи, а в точці збору часткові результати об'єднуються в загальний підсумок.

Багато колективних процедур і директивних паралельних мов застосовують неявні бар'єри. Наприклад, паралельний цикл do у Фортрані з OpenMP не буде продовжений для жодного з потоку, аж поки остання ітерація не буде виконана.

В передачі повідомлень, будь-які глобальні зв'язки (такі як reduction або scatter), можуть застосовувати бар'єр.