ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
41
ЭТАПЫ ПОСТРОЕНИЯ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ
И ПРОГРАММ
Общая схема разработки параллельного метода:
•
разделение процесса вычислений на части (процессы), которые могут быть
выполнены одновременно;
•
определение информационных потоков. (Определение необходимых ин-
формационных взаимодействий для выделенных параллельных процессов
обработки данных);
•
распределение вычислительной нагрузки. (Распределение сформированно-
го набора процессов обработки данных по процессорам (отображение па-
раллельной схемы решения задачи на архитектуру компьютерной вычисли-
тельной системы)).
Разделение процесса вычислений на части
Различают два основных подхода к разделению процесса вычислений
на части:
•
декомпозиционный ("сверху-вниз");
•
агрегационный ("снизу-вверх");
Предпочтение в большинстве случаев отдают декомпозиционному
подходу (рис. 5.1). Этапы декомпозиции:
•
выделение независимых вычислительных действий;
•
определение информационных зависимостей;
•
оценка возможности эффективного применения получаемой вычислитель-
ной схемы для целевых компьютерных систем.
При декомпозиции особое внимание обращают на следующее:
•
взаимозависимость и итеративность этапов;
•
детальность декомпозиции определяется необходимым уровнем масштаби-
руемости вычислений.
Этапы агрегации:
•
возможное максимальное разбиение;
•
выделение информационных потоков;
•
агрегация;
•
распределение заданий по процессорам.
Два основных способа разбиения процесса на вычислительные части:
•
Разбиение данных: