Параллельные вычисления, используемые в системах, таких как ПВМ, могут
сводиться к вычислениям согласно трем фундаментальным точкам зрения
в зависимости от способа организации вычислительных задач. С каждой
точки зрения, допускаются различные стратегии распределения рабочей
нагрузки и они будут рассмотрены позже в этом разделе. Первая и наиболее
общая модель для приложений ПВМ может быть определена как "беспорядочные"
вычисления: группа тесно связанных процессов, в типичных случаях реализующих
один код и производящих вычисления над различными порциями всех данных,
что обычно приводит к периодическим обменам промежуточными результатами.
Эта парадигма может, при желании, быть разделена на категории:
1. Модель "Ведущий-ведомый" (или "хост-станция") - в которой
выделяется "контролирующая" программа, называемая ведущей, и
ответственная за порождение процессов, инициализацию, сбор и отображение
результатов, и возможно распределение времени для функций. Ведомые
программы при необходимости выполняют непосредственные вычисления;
и распределение их рабочей нагрузки выполняется либо ведущей программой
(статически или динамически), либо ними самими.
2. Модель "только станции" - в которой возможно множество путей
выполнения одной программы, причем один процесс (обычно он инициируется
вручную) берет на себя невычислительную ответственность в дополнение
к собственно вычислениям. Вторая модель поддерживается в ПВМ под названием
"дерево" вычислений. Согласно такому сценарию, процессы порождаются
(обычно динамически по ходу вычислительного процесса) древовидным
способом - таким образом, устанавливая отношения "предки-потомки"
в форме, похожей на дерево (в противовес беспорядочным вычислениям,
при которых возникают звездообразные отношения). Эта парадигма, несмотря
на то, что менее часто используема, является более естественно подходящей
для приложений, когда общая вычислительная нагрузка "априори"
неизвестна, например, при реализации алгоритмов "ветвей и границ",
"альфа-бета поиска" и рекурсивных алгоритмов "разделять
и властвовать".
Третью модель, которая определяется как "гибридная", можно представить
как комбинацию древовидной модели и модели беспорядочных вычислений.
По существу, эта парадигма предполагает наличие структур, арбитрирующих
процессы порождения: это значит, что в любой точке при выполнении
приложения структура, контролирующая отношения процессов, может изменить
стратегию арбиртража и тем самым граф.
Мы подчеркиваем, что эта классификация на три категории сделана на
базисе отношений между процессами, хотя она также часто применима
к коммуникационным топологиям. Однако, во всех трех случаях существует
возможность обеспечить взаимодействие и синхронизацию любого процесса
с любым другим. Следовательно, как и можно ожидать, выбор модели зависит
от приложения и должен производиться для обеспечения наилучшего соответствия
структуре распараллеливаемой программы.
Знаете ли Вы, что имитационная модель, simulation model - это специальный программный комплекс, позволяющий имитировать деятельность какого-либо сложного объекта. Он запускает в компьютере параллельные взаимодействующие вычислительные процессы, которые являются по своим временным параметрам (с точностью до масштабов времени и пространства) аналогами исследуемых процессов.