Рассмотрим алгоритмы распараллеливания типичных задач независимо от конкретной программной и платформенной реализации. Распараллелить задачу можно далеко не единственным способом. Алгоритмы распараллеливания удобно графически изображать в виде ветвящихся деревьев.
Первый этап: Разбиение задачи на независимые подзадачи.
Второй этап: Назначение конкретных процессоров для выполенения каждой подзадачи.
Третий этап: Сборка результатов работы отдельных процессоров воедино.
Для того, чтобы наилучшим способом произвести параллелизацию, а также оценить ее рентабельность, введем ряд определений и характеристик.