Средства программирования для многопроцессорных вычислительных систем. Немнюгин C.А. - 14 стр.

UptoLike

Составители: 

14
количество
коммуникаций
у
подзадач
должно
быть
примерно
одинаковым
,
иначе
приложение
становится
плохо
масштабируемым
;
там
,
где
это
возможно
,
следует
использовать
локальные
коммуникации
;
коммуникации
должны
быть
,
по
возможности
,
параллельными
.
Укрупнение
На
этапе
укрупнения
(
агломерации
)
учитывается
архитектура
вычислительной
системы
и
задачи
,
полученные
на
первых
двух
этапах
,
объединяются
для
того
,
чтобы
их
число
соответствовало
числу
процессоров
.
При
выполнении
агломерации
должны
быть
соблюдены
следующие
требования
:
должны
быть
снижены
накладные
расходы
на
коммуникации
;
если
при
укрупнении
приходится
дублировать
вычисления
или
данные
,
это
не
должно
приводить
к
потере
производительности
и
масштабируемости
программы
;
результирующие
задачи
должны
иметь
примерно
одинаковую
трудоемкость
;
должна
быть
сохранена
масштабируемость
;
должна
быть
сохранена
возможность
параллельного
выполнения
;
должна
быть
снижена
стоимость
трудоемкости
разработки
.
Планирование вычислений
На
этапе
планирования
определяют
,
на
каких
процессорах
будут
выполняться
подзадачи
.
Основной
критерий
эффективности
здесь
минимизация
времени
выполнения
программы
.
Стратегия
размещения
задач
на
процессорах
строится
на
основе
компромисса
между
требованием
максимальной
независимости
выполняющихся
задач
(
минимизация
коммуникаций
)
и
глобальным
учетом
состояния
вычислений
.
Чаще
всего
применяются
стратегии
хозяин
/
работник
,
иерархические
и
децентрализованные
стратегии
.
Хозяин/работник (Master/slave)
Главная
задача
отвечает
за
размещение
подчиненных
задач
(
рис
. 10).
Подчиненная
задача
получает
исходные
данные
для
обработки
от
главной
задачи
и
возвращает
ей
результат
работы
.
Рис. 10.
Простая
схема
хозяин
/
работник