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

З пляцоўкі Вікіпедыя
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