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

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

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

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

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