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

UptoLike

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

13
подзадачи
должны
быть
примерно
одинакового
размера
;
в
идеале
сегментация
должна
быть
такой
,
чтобы
с
увеличением
объема
задачи
количество
подзадач
также
возрастало
(
при
сохранении
постоянным
размера
одной
подзадачи
).
Размер
подзадачи
определяется
зернистостью
алгоритма
.
Мерой
зернистости
является
количество
операций
в
блоке
.
Выделяют
три
степени
зернистости
:
1.
Мелкозернистый
параллелизм
на
уровне
команд
(
менее
20
команд
на
блок
,
количество
параллельно
выполняемых
подзадач
от
единиц
до
нескольких
тысяч
,
средний
масштаб
параллелизма
около
5
команд
на
блок
).
2.
Среднеблочный
параллелизм
на
уровне
процедур
.
Размер
блока
до
2000
команд
.
Выявление
такого
параллелизма
сложнее
реализовать
,
поскольку
следует
учитывать
межпроцедурные
зависимости
.
Требования
к
коммуникациям
меньше
,
чем
в
случае
параллелизма
на
уровне
команд
.
3.
Крупноблочный
параллелизм
на
уровне
программ
(
задач
).
Соответствует
выполнению
независимых
программ
на
параллельном
компьютере
.
Крупноблочный
параллелизм
требует
поддержки
операционной
системой
.
Важнейшим
условием
декомпозиции
является
независимость
подзадач
.
Существуют
следующие
виды
независимости
:
Независимость
по
данным
данные
,
обрабатываемые
одной
частью
программы
,
не
модифицируются
другой
ее
частью
.
Независимость
по
управлению
порядок
выполнения
частей
программы
может
быть
определен
только
во
время
выполнения
программы
(
наличие
зависимости
по
управлению
предопределяет
последовательность
выполнения
).
Независимость
по
ресурсам
обеспечивается
достаточным
количеством
компьютерных
ресурсов
.
Независимость
по
выводу
возникает
,
если
две
подзадачи
не
производят
запись
в
одну
и
ту
же
переменную
,
а
независимость
по
вводу
-
выводу
,
если
операторы
ввода
/
вывода
двух
или
нескольких
подзадач
не
обращаются
к
одному
файлу
(
или
переменной
).
Полной
независимости
добиться
обычно
не
удается
.
Проектирование коммуникаций
Можно
выделить
следующие
основные
типы
коммуникаций
:
локальные
каждая
подзадача
связана
с
небольшим
набором
других
подзадач
;
глобальные
каждая
подзадача
связана
с
большим
числом
других
подзадач
;
структурированные
каждая
подзадача
и
подзадачи
,
связанные
с
ней
,
образуют
регулярную
структуру
(
например
,
с
топологией
решетки
);
неструктурированные
подзадачи
связаны
произвольным
графом
;
статические
схема
коммуникаций
не
изменяется
с
течением
времени
;
динамические
схема
коммуникаций
изменяется
в
процессе
выполнения
программы
;
синхронные
отправитель
и
получатель
данных
координируют
обмен
;
асинхронные
обмен
данными
не
координируется
.
Рекомендации
по
проектированию
коммуникаций
: