Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pp_kr1.doc
Скачиваний:
21
Добавлен:
13.11.2019
Размер:
915.46 Кб
Скачать
  1. Основные архитектуры вс для параллельных вычислений. Классификация Флина.

Классификация Флинна.

Флинн предложил классифицировать все существующие ВС следующим образом: соотнести потоки команд и потоки данных в ВС и выделил 4 типа ВС:

SISD

MISD

SIMD

MIMD

  1. Понятие параллельной формы. Представление параллельного алгоритма в виде граф-схемы.

Любая параллельная вычислительная система может быть представлена как совокупность функционально независимых обрабатывающих устройств, осуществляющих обработку информации одновременно. Алгоритм, для реализации на такой вычислительной системе (ВС) должен быть представлен в виде последовательности групп операций, причем все операции одной группы независимы и могут быть выполнены на любом обрабатывающем устройстве системы.

Каждая группа операций (ярус) зависит либо от исходных данных, либо от результатов выполнения предыдущих групп. Группы выполняются последовательно. Представленный, в таком виде алгоритм называется параллельным. Он находится в «параллельной форме».

Каждая группа – ярус ПФ.

Общее число ярусов называется высотой параллельной формы.

Максимальное число операций в ярусе называется шириной параллельной формы.

Теоретически такой алгоритм может быть реализован на параллельной ВС, за время, пропорциональное высоте параллельной формы.

Среди всех возможных параллельных форм одного алгоритма имеется одна или несколько форм минимальной высоты, такие формы называются максимальными и определяют минимально возможное время выполнения алгоритма на ВС.

ПРИМЕР: Пусть требуется выполнить следующее выражение: (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

Особенности параллельного алгоритма (ПА).

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

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

  3. Устойчивость ПА в общем случае хуже устойчивости соответствующих последовательных.

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

Поиск мах. ПФ является трудной задачей, поэтому для оценки качества ПА используют следующий критерий: если при вычислении некоторого выражения используются операции, использующие не более Р аргументов, то справедливо соотношение: S ≥ logpn, где S – высота ПФ, n- количество обработанных параллельно данных (размерность).

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

Методы преобразования последовательных алгоритмов в параллельную форму.

Любой последовательный алгоритм можно представить в виде совокупности участков 3 типов:

  • Линейные участки, которые содержат только последовательно выполняемые операторы, а так же операторы условного и безусловного перехода;

  • Выражения (в т.ч. рекуррентные соотношения);

  • Циклические участки (циклы).

Наибольших выигрыш получается при распараллеливании циклических участков.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]