Теория распараллеливания и синхронизация. Демьянович Ю.К - 64 стр.

UptoLike

}
}
Положительное качество приведенной программы: конфликты
при обращении к памяти исключаются.
Отрицательные ее качества:
1) требуется дополнительный процесс Coordinator (и, воз-
можно, дополнительный процессор);
2) время выполнения каждой итерации процессом
Coordinator пропорционально числу процессов Worker[i], по-
скольку Coordinator пр оверяет флаги arrive[i] по-очереди;
заметим, что на самом деле в прикладных программах работы,
выполняемые Worker[i], часто эквивалентны по объему, и потому
все процессы Worker приходят к барьеру почти одновременно,
так что все флаги arrive[i] будут установлены в 1 практически
одновременно.
Однако, обе трудности легко преодолеваются построением би-
нарного дерева процессов Worker (если количество n пр оцес сов
меньше числа 1 + 2 + . . . + 2
k1
= 2
k
1, то некоторые из них
можно сделать фиктивными).
Сигнал о том, что процесс подошел к барьеру распространяет-
ся от “листьев” к “корню”, т.е. вверх (см. схему), а сигнал о разре-
шении продолжения работы в обратном направлении.
Рис. 2.
65