Бар’ерная сінхранізацыя

З пляцоўкі Вікіпедыя
Jump to navigation Jump to search

Бар'ерная сінхранізацыя — метад сінхранізацыі ў размеркаваных вылічэннях, пры якім выкананне паралельнага алгарытму або яго часткі можна падзяліць на некалькі этапаў, падзеленых бар'ерамі. У прыватнасці, з дапамогай бар'ера можна арганізаваць пункт збору частковых вынікаў вылічэнняў, у якім падводзіцца вынік этапу вылічэнняў. Выкарыстанне бар'ераў як прымітываў сінхранізацыі асабліва карысна пры цыклічнай арганізацыі этапаў[1][2][3].

Бар'ер для групы патокаў (або працэсаў) у зыходным кодзе азначае, што кожны паток (працэс) павінен спыніцца ў гэтай кропцы і пачакаць дасягнення бар'ера усімі патокамі (працэсамі) групы. Калі ўсе патокі (працэсы) дасягнулі бар'ера, іх выкананне працягваецца[4].

Некаторыя асяроддзя паралельных вылічэнняў, напрыклад, OpenMP і Cilk, маюць няяўныя бар'еры ў семантыцы сваіх паралельных цыклаў і блокаў кода[3].

Зноскі

  1. Владимир Галатенко, Барьеры, Лекция 2: Средства синхронизации потоков управления, Интуит
  2. Barrier (.
  3. 3,0 3,1 R. K. Karmani et al., Barrier Synchronization Pattern, 2009
  4. Using Barrier Synchronization, Oracle
Wiki letter w.svg На гэты артыкул не спасылаюцца іншыя артыкулы Вікіпедыі,
калі ласка, карыстайцеся падказкай і пастаўце спасылкі ў адпаведнасці з прынятымі рэкамендацыямі.