
- •Лекция 1 Параллельная обработка данных
- •1. Ярусно-параллельная форма алгоритма
- •2. Автоматическое обнаружение параллелизма
- •3. Степень и уровни параллелизма
- •4. Виды параллелизма
- •4.1. Естественный параллелизм и параллелизм множества объектов
- •4.2. Параллелизм независимых ветвей
- •4.3. Параллелизм смежных операций или локальный параллелизм
- •5. Модель задачи
4.2. Параллелизм независимых ветвей
Суть параллелизма независимых ветвей состоит в том, что в программе решения задачи могут быть выделены независимые части, называемые ветвями. При наличии в ВС соответствующих аппаратных средств ветви могут выполняться параллельно (рис.1.12).
В
етвь
программы Y не зависит от ветви X, если:
- между ними нет функциональных связей, т.е. ни одна из входных переменных ветви Y не является выходной переменной ветви X либо какой-нибудь ветви, зависящей от X;
- между ними нет связи по рабочим полям памяти;
- они должны выполняться по разным программам;
- независимы по управлению, т.е. условие выполнения ветви Y не должно зависеть от признаков, вырабатываемых при выполнении ветви X или ветви, от нее зависящей.
4.3. Параллелизм смежных операций или локальный параллелизм
Параллелизм смежных операций имеет место тогда, когда входные данные для текущих операций получены на более ранних этапах вычисления и построение вычислительных средств позволяет совместить выполнение нескольких операций, не связанных между собой выходными данными и результатами.
Локальная оптимизация программ состоит в том, что просматриваются несколько команд, которые должны выполняться подряд, и изменяется порядок следования некоторых из них, возможно, изменяются номера регистров и ячеек памяти, чтобы обеспечить максимально возможный параллелизм смежных операций.
В большинстве случаев показатель связности смежных операций зависит не столько от задачи, сколько от качества выполнения локальной оптимизации.
5. Модель задачи
Модель задачи строится для сравнительного анализа структур параллельных ЭВМ. Поэтому она должна иметь достаточно общий характер и описывать только состав форм параллелизма и типов связей.
Как правило, любая модель задачи строится на основе анализа моделируемого класса задач. По результатам анализа проводится преобразование алгоритмов к параллельному виду. Исследуемый алгоритм можно представить в виде программы, состоящей из последовательности участков трех типов (рис.1.13):
скалярных участков (СК);
участков с параллелизмом независимых ветвей (ВТ);
векторных участков (ВК).
Модель задачи – это совокупность параметров, характеризующих параллельную программу
,
При построении модели задачи главная цель – определение относительного времени ее выполнения при реализации исследуемым алгоритмом.
________________________________________________________________________________________________
-
(конспекты лекций)