Шаг 9.
Параллельные алгоритмы. Моделирование и анализ параллельных вычислений. Модель вычислений в виде графа "операции - операнды"

    На этом шаге мы приведем пример модели вычислений в виде графа "операции - операнды".

    Для описания существующих информационных зависимостей в выбираемых алгоритмах решения задач может быть использована модель в виде графа "операции - операнды". Для уменьшения сложности излагаемого материала при построении модели будет предполагаться, что время выполнения любых вычислительных операций является одинаковым и равняется 1 (в тех или иных единицах измерения). Кроме того, принимается, что передача данных между вычислительными устройствами выполняется мгновенно без каких-либо затрат времени (что может быть справедливо, например, при наличии общей разделяемой памяти в параллельной вычислительной системе).

    Представим множество операций, выполняемых в исследуемом алгоритме решения вычислительной задачи, и существующие между операциями информационные зависимости в виде ациклического ориентированного графа G = (V, R), где V = {1,...,|V|} есть множество вершин графа, представляющих выполняемые операции алгоритма, а R есть множество дуг графа (при этом дуга r = (i, j) принадлежит графу только в том случае, если операция j использует результат выполнения операции i). Для примера на рисунке 1 показан граф алгоритма вычисления площади прямоугольника, заданного координатами двух противолежащих углов.


Рис.1. Пример вычислительной модели алгоритма в виде графа "операции - операнды"

    Как можно заметить по приведенному примеру, для выполнения выбранного алгоритма решения задачи могут быть использованы разные схемы вычислений и построены соответственно разные вычислительные модели. Как будет показано далее, разные схемы вычислений обладают различными возможностями для распараллеливания и, тем самым, при построении модели вычислений может быть поставлена задача выбора наиболее подходящей для параллельного исполнения вычислительной схемы алгоритма.

    В рассматриваемой вычислительной модели алгоритма вершины без входных дуг могут использоваться для задания операций ввода, а вершины без выходных дуг - для операций вывода. Обозначим через V множество вершин графа без вершин ввода, а через d(G) - диаметр (длину максимального пути) графа.

    На следующем шаге мы дадим описание схемы параллельного выполнения алгоритма.




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