Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pp_kr1.doc
Скачиваний:
19
Добавлен:
13.11.2019
Размер:
915.46 Кб
Скачать
  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.

Традиционной считается последовательная модель программирования. В этом случае в любой момент времени выполняется только одна операция и только над одним элементом данных. Последовательная модель универсальна. Ее основными чертами являются применение стандартных языков программирования (для решения вычислительных задач это, обычно, Fortran и С/С++), хорошая переносимость программ и невысокая производительность.

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

Последовательную модель программирования характеризуют:

  • невысокая производительность;

  • применение стандартных языков программирования;

  • хорошая переносимость.

Параллельную модель программирования характеризуют:

  • возможность добиться более высокой производительности;

  • применение специальных приемов и инструментов программирования;

  • повышенная трудоемкость программирования;

  • проблемы с переносимостью программ.

Требования к параллельным программам:

  • достаточная степень параллелизма;

  • хорошая масштабируемость;

  • детерминизм;

  • эффективность.

Повышенная трудоёмкость параллельного программирования связана с тем, что программист

должен заботиться:

  • об управлении работой множества процессов;

  • об организации межпроцессных пересылок данных;

  • о вероятности тупиковых ситуаций (взаимных блокировках);

  • о нелокальном и динамическом характере ошибок;

  • о возможной утрате детерминизма («гонки за данными»);

  • о масштабируемости;

  • о сбалансированной загрузке вычислительных узлов.

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