- •Модели параллелизма
- •Основные архитектуры вс для параллельных вычислений. Классификация Флина.
- •Понятие параллельной формы. Представление параллельного алгоритма в виде граф-схемы.
- •Концепция неограниченного параллелизма.
- •Область применения, достоинства, недостатки метода гиперплоскостей.
- •99 Continue
- •Параметры граф-схемы параллельного алгоритма: высота и ширина параллельной формы. Метод гиперплоскостей.
- •99 Continue
- •Сравнительные характеристики последовательного и параллельного алгоритмов.
- •Понятие минимальной параллельной формы.
- •Метод координат.
- •10, 15. Проблемы параллельной обработки данных.
- •12 .Метод пирамид.
- •10 Continue
- •10 Continue
- •13. Распараллеливание линейных участков программ.
- •14,16,17. Задача распараллеливания выражений. Общая характеристика.
- •18,20. Распараллеливание рекуррентных соотношений. Распараллеливание рекурсий первого порядка. Метод каскадных сумм.
- •Параллельное программирование
- •99 Continue
- •10 Continue
- •10 Continue
- •2 Continue
- •Os linda.
- •Os trollius.
Основные архитектуры вс для параллельных вычислений. Классификация Флина.
Классификация Флинна.
Флинн предложил классифицировать все существующие ВС следующим образом: соотнести потоки команд и потоки данных в ВС и выделил 4 типа ВС:
SISD
MISD
SIMD
MIMD
Понятие параллельной формы. Представление параллельного алгоритма в виде граф-схемы.
Любая параллельная вычислительная система может быть представлена как совокупность функционально независимых обрабатывающих устройств, осуществляющих обработку информации одновременно. Алгоритм, для реализации на такой вычислительной системе (ВС) должен быть представлен в виде последовательности групп операций, причем все операции одной группы независимы и могут быть выполнены на любом обрабатывающем устройстве системы.
Каждая группа операций (ярус) зависит либо от исходных данных, либо от результатов выполнения предыдущих групп. Группы выполняются последовательно. Представленный, в таком виде алгоритм называется параллельным. Он находится в «параллельной форме».
Каждая группа – ярус ПФ.
Общее число ярусов называется высотой параллельной формы.
Максимальное число операций в ярусе называется шириной параллельной формы.
Теоретически такой алгоритм может быть реализован на параллельной ВС, за время, пропорциональное высоте параллельной формы.
Среди всех возможных параллельных форм одного алгоритма имеется одна или несколько форм минимальной высоты, такие формы называются максимальными и определяют минимально возможное время выполнения алгоритма на ВС.
ПРИМЕР: Пусть требуется выполнить следующее выражение: (AB+CD)(EF+GH)
Данные: A B C D E F G H
Ярус1: AB CD EF GH 4оп
Ярус2: AB+CD EF+GH 2оп
Ярус3: (AB+CD)(EF+GH) 1оп
Основная характеристика ПФ: коэффициент ускорения – это общее число операций в последовательном алгоритме / число ярусов.
В нашем примере Ky=7/3=2,33.
Для этого же примера можно предложить и другую параллельную форму.
Данные: A B C D E F G H
Ярус1: AB CD 2оп
Ярус2: EF GH 2оп
Ярус3: AB+CD EF+GH 2оп
Ярус4: (AB+CD)(EF+GH) 1оп
Здесь Kу=7/4=1,75
Данные: A B C D E F G H
Ярус1: AB CD 2оп
Ярус2: AB+CD EF 2оп
Ярус3: GH 1оп
Ярус4: EF+GH 1оп
Ярус5: (AB+CD)(EF+GH) 1оп
Здесь Kу=7/5=1,4
Особенности параллельного алгоритма (ПА).
По сравнению с соответствующими последовательными алгоритмам, часто в ПА требуется выполнение лишних операций, число которых может быть большим.
Фактически разные параллельные формы одного и того же исходного алгоритма реализуют разные алгоритмы вычислений в классическом их понимании, поэтому они могут давать различные результаты в условиях влияния особенностей округления.
Устойчивость ПА в общем случае хуже устойчивости соответствующих последовательных.
Устойчивость: при вычислениях процесс может быть сходящийся и расходящийся. При влиянии ошибочного округления сходящийся процесс становится расходящимся, значит этот процесс не устойчивый.
Поиск мах. ПФ является трудной задачей, поэтому для оценки качества ПА используют следующий критерий: если при вычислении некоторого выражения используются операции, использующие не более Р аргументов, то справедливо соотношение: S ≥ logpn, где S – высота ПФ, n- количество обработанных параллельно данных (размерность).
Реальное преимущество ПА для типовых задач достигается только при достаточно большом количестве процессоров. Дальнейшее ускорение может быть получено только при распараллеливании типовых математических задач. В настоящее время основное внимание в области параллельных вычислений уделяется созданию методов выявления параллельных структур в традиционных последовательных алгоритмах.
Методы преобразования последовательных алгоритмов в параллельную форму.
Любой последовательный алгоритм можно представить в виде совокупности участков 3 типов:
Линейные участки, которые содержат только последовательно выполняемые операторы, а так же операторы условного и безусловного перехода;
Выражения (в т.ч. рекуррентные соотношения);
Циклические участки (циклы).
Наибольших выигрыш получается при распараллеливании циклических участков.
