Неблокирующая синхронизация
- 1 year ago
- 0
- 0
Барьерная синхронизация — метод синхронизации в распределённых вычислениях , при котором выполнение параллельного алгоритма или его части можно разделить на несколько этапов, разделённых барьерами. В частности, с помощью барьера можно организовать точку сбора частичных результатов вычислений, в которой подводится итог этапа вычислений . Использование барьеров как примитивов синхронизации особенно полезно при циклической организации этапов .
Барьер для группы потоков (или процессов) в исходном коде означает, что каждый поток (процесс) должен остановиться в этой точке и подождать достижения барьера всеми потоками (процессами) группы. Когда все потоки (процессы) достигли барьера, их выполнение продолжается .
Некоторые среды параллельных вычислений , например, OpenMP и Cilk , имеют неявные барьеры в семантике своих параллельных циклов и блоков кода .