Организация компьютерных систем. Орлов С.П - 166 стр.

UptoLike

боты. Практически такой обмен осуществляется вызовом процедур
специализированной библиотеки.
Программист может контролировать распределение данных меж-
ду процессорами и подзадачами и обмен данными. Очевидно, что в
этом случае требуется определенная работа для того, чтобы обеспе-
чить эффективное совместное выполнение различных программ.
По сравнению с подходом, основанным на параллелизме данных,
рассматриваемый подход имеет следующие проблемы:
повышенная трудоемкость разработки программы и ее отладки;
на программиста ложится вся ответственность за равномерную
загрузку процессоров параллельного компьютера;
программисту приходится минимизировать обмен данными
между задачами, так как пересылка данных – процесс, занимаю-
щий много времени по сравнению с вычислениями;
повышенная опасность возникновения тупиковых ситуаций,
когда отправленная одной программой посылка с данными не
приходит к месту назначения.
Привлекательными особенностями данного подхода являются
большая гибкость и свобода, предоставляемая программисту в разра-
ботке программы, эффективно использующей ресурсы параллельного
компьютера и, как следствие, возможность достижения максимально-
го быстродействия.
9.4.3 Программное средство OpenMP
OpenMP (Open Multi-Processing) - это набор директив компилято-
ра, библиотечных процедур и переменных окружения, которые пред-
назначены для программирования многопоточных приложений на
многопроцессорных системах с общей памятью (SMP-системах) [40].
Сначала он был реализован на языке Fortran, но позднее включил
в себя и языки С и С++.
Интерфейс OpenMP стал одной из наиболее популярных техноло-
гий параллельного программирования. Он успешно используется как
168