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