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

UptoLike

ления и в этом случае никакого выигрыша за счет распараллеливания
задачи не будет.
Другая и не менее важная проблема обеспечение необходимой
скорости обмена информацией между процессорами. Если вычисле-
ния выполняются на высокопроизводительных процессорах, загрузка
которых достаточно равномерная, но скорость обмена данными низ-
кая, основная часть времени будет тратиться впустую на ожидание
информации, необходимой для дальнейшей работы данного процес-
сора.
Рассматриваемые парадигмы программирования различаются ме-
тодами решения этих двух основных проблем. Разберем более по-
дробно параллелизм данных и параллелизм задач.
9.4.1 Параллелизм данных
Основная идея подхода, основанного на параллелизме данных,
заключается в том, что одна операция выполняется сразу над всеми
элементами массива данных. Различные фрагменты такого массива
обрабатываются на векторном процессоре или на разных процессорах
параллельной машины. Распределением данных между процессорами
занимается программа.
Векторизация или распараллеливание в этом случае чаще всего
выполняется уже на этапе компиляции - перевода исходного текста
программы в машинные команды. Роль программиста обычно сво-
дится к следующему:
заданию опций векторной или параллельной оптимизации
компилятору,
применению директив параллельной компиляции,
использованию специализированных языков для параллельных
вычислений.
Основные особенности данного метода:
обработкой данных управляет одна программа;
166