Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 2 / Lectures_9_12 / Лекция 8.doc
Скачиваний:
97
Добавлен:
03.06.2014
Размер:
232.96 Кб
Скачать
    1. 8.3. Показатели эффективности параллельного алгоритма

Ускорение,получаемое при использовании параллельного алгоритма для p процессоров, по сравнению с последовательным вариантом выполнения вычислений определяется

,

т.е. как отношение времени решения задач на скалярной ЭВМ к времени выполнения параллельного алгоритма (величина n используется для параметризации вычислительной сложности решаемой задачи и может пониматься, например, как количество входных данных задачи).

Максимальный фактор ускорения Sp(n)=n(линейное ускорение). В общем случаеSp(n)< p, так как параллельный алгоритм обычно не может обеспечить идеальной балансировки нагрузки процессоров.

Отсутствие максимального ускорения обусловлено различными факторами

отсутствие максимального параллелизма в алгоритме и/или несбалансированность нагрузки процессоров

обмены, конфликты памяти и затраты на временя синхронизации

Природа различная – результат один: задержки

Теоретически возможны алгоритмы с суперлинейным ускорением Sp (n)>p. Это возможно, например, в алгоритмах поиска.

Эффективностьиспользования параллельным алгоритмом процессоров при решении задачи определяется соотношением:

(величина эффективности определяет среднюю долю времени выполнения алгоритма, в течение которой процессоры реально используются для решения задачи).

Как следует из приведенных соотношений, в наилучшем случае Sp(n) = p и Ep(n) = 1.

Для примера пред ставленого на рис.8.2 ускорение и эффективность рас читаны в таблице.

Характеристики параллельности

для выражения E:

для выражения Ep:

T1(n)=n-1=6

T1(n)=n-1=6

Tp(n)=t=5

Tp(n)=tp=5

Sp(n)=1,2

Sp(n)=2

Qp(n)=0.6

Qp(n)=0.66

Таким образом, выражение Ep имеет лучшие характеристики параллельности, чем выражение E.

8.4 Закон Амдаля –формальная модель ускорения кластера

Выполнение любого параллельного алгоритма включает в себя как последовательную часть так и параллельную.

Рис. 8.4. Иллюстрация закона Амдаля

Обозначим через fту часть алгоритма, которая не распараллеливается, тогда та часть алгоритма, которую можно распределить по процессорам, будет равна(1-f)(затраты на коммутацию не учитываются).

Пусть T1- время выполнения алгоритма на одном процессоре однопроцессорной системы (последовательная машина),p- число процессоров. При переносе расчетов на параллельную машину время расчета распределится следующим образом:

  • время f T1займет та часть алгоритма, которую невозможно распараллелить,

  • время (1-f) T1 / pбудет затрачено на распараллеливаемую часть алгоритма.

Истинное время Tp, затраченное на работу на параллельной машине cpпроцессорами, будет рассчитываться по формуле:

Tp=f T1+(1-f) T1 / p.

Определим фактор ускорения расчета Sp(n), достигаемый на параллельной машине cpпроцессорами, какSp=T1 / Tp.

Sp=T1 / Tp=p/(fp+1-f) илиSp = p/(1+(p-1)f)=p/(fp+1-f)

где f- доля операций, выполняемых последовательно.

Эта формула называется законом Амдаля (Gene Amdahl) об ограничении скорости параллельных вычислений. Она была выведена в 1867 году и говорит о том, что даже если часть последовательных вычислений мала, максимальный фактор ускорения для бесконечного числа процессоров не превосходит 1 / f.

Для существенного увеличения фактора ускорения Spнеобходимо минимизировать долю операцийf, выполняемых последовательно:f<<1. Однако даже в этом случае величинаfp может быть достаточно заметной при большом числе используемых процессоровp. Приf<<1закон Амдаля будет преобразован в виде:Sp=p  / (1+f p)  ,Рис. 8.5. Зависимости ускорения

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

При заданном значении fвеличинаSpприближается к своему асимптотическому значению, приблизительно равному1 /f , поэтому существует некоторое критическое значение количества процессоровp, после которого наращивание числа процессоров не приводит к увеличению фактора ускорения.

Соседние файлы в папке Lectures_9_12