Шаг 29.
Параллельные алгоритмы.
Методы построения параллельных программ. Метод коллективного решения

    На этом шаге мы рассмотрим идею метода коллективного решения.

    Метод предполагает, что неизвестно, с какой скоростью какие процессоры работают. Существует один выделенный процессор, который выполняет управляющие функции, он раздает задачи и принимает результаты, а остальные процессоры выполняют обрабатывающие функции независимо друг от друга (рисунок 1).


Рис.1. Метод коллективного решения

    Если один из процессоров уже справился со своей задачей, то ему дается новое задание. Использовать этот метод выгодно, если требуется решить много заданий с небольшим объемом данных, но с большим объемом вычислительной работы. Кроме того, задачи должны быть не связаны между собой по данным. Время здесь затрачивается на принятие решений (какому процессору какое задание дать) и на прием и передачу данных.

    Если r - число кирпичей в порции (число задач, выданных процессору), то получаем ограничение на максимальное число используемых процессоров pmax и оценки времени, ускорения и эффективности метода:

    При получаем следующие соотношения:

    На следующем шаге мы рассмотрим метод конвейерного параллелизма.




Предыдущий шаг Содержание Следующий шаг