Анализ параллельных вычислений. Лекция 3 презентация

Содержание

Слайд 2

Модели параллельных вычислений Принципиальный момент при разработке параллельных алгоритмов-анализ эффективности

Модели параллельных вычислений

Принципиальный момент при разработке параллельных алгоритмов-анализ эффективности использования параллелизма:
Оценка

эффективности распараллеливания конкретных выбранных методов выполнения вычислений;
Оценка максимально возможного ускорения процесса решения рассматриваемой задачи (анализ всех возможных способов выполнения вычислений)

Сравнительный анализ

-

+

Различие мнений
Наличие субъективных факторов:
Разные постановки задач
Разные критерии сравнения
Разные цели оценивания

Движение вперед!

Слайд 3

Основные оценки эффективности параллельных вычислений Показатели эффективности вычислительной системы Производительность

Основные оценки эффективности параллельных вычислений

Показатели эффективности вычислительной системы
Производительность
Загруженность
Показатели эффективности параллельного алгоритма


Ускорение
Эффективность
Стоимость
Оценка максимально достижимого параллелизма
Законы Амдала
Закон Густафсона
Анализ масштабируемости параллельного алгоритма
Слайд 4

Показатели эффективности вычислительной системы Производительность Загруженность

Показатели эффективности вычислительной системы

Производительность
Загруженность

Слайд 5

Система функциональных устройств (ФУ) Ограничения: 1) За операциями стоят разные

Система функциональных устройств (ФУ)

Ограничения:
1) За операциями стоят разные функции;
2) Все срабатывания

одного ФУ одинаковы по времени;
3) Время срабатывания ФУ – не нулевое;
4) Каждое ФУ – простое;
5) ФУ не имеет памяти;
6) Время передачи данных – нулевое.

Пусть:
n – число операций;
Т – общее время работы ФУ;
τ - время выполнения одной операции.

 

 

Тогда:

Слайд 6

Система функциональных устройств (ФУ)

 

Система функциональных устройств (ФУ)

Слайд 7

Система функциональных устройств (ФУ) Пиковая производительность: π - max. количество

Система функциональных устройств (ФУ)

Пиковая производительность: π - max. количество операций за

1 ед. времени
Реальная производительность: r - количество операций за 1 ед. времени

 

 

r1

 

Загруженность ФУ:

(1)

(2)

Слайд 8

Система функциональных устройств (ФУ) Пусть: s – количество устройств системы;

Система функциональных устройств (ФУ)

Пусть:
s – количество устройств системы;
πi – пиковая производительность

i-го ФУ, i=1..s;
pi – загруженность i-го ФУ, i=1..s;
r – реальная производительность.
Тогда:

Утверждение 1.

Приоритет:
Производительность;
Загруженность.

 

(1)

(2)

 


 

Доказательство.

Слайд 9

Система функциональных устройств (ФУ) Пусть: s – количество устройств системы;

Система функциональных устройств (ФУ)

Пусть:
s – количество устройств системы;
πi – пиковая производительность

i-го ФУ, i=1..s;
pi – загруженность i-го ФУ, i=1..s;
ri – реальная производительность i-го ФУ , i=1..s.
r – реальная производительность системы ФУ.
Тогда:
Загруженность всей системы p:

Определение.

 

 

Загруженность системы - взвешенная сумма
загруженностей отдельных устройств, т.к.:

Последовательная СФУ:

r1

r2

r3

r1

r3

π1

π2

π3

r2

Параллельная СФУ:

r

r

r

r

r

r

Последовательное ФУ:

π1

p

π2

π3

1

Слайд 10

Система функциональных устройств (ФУ) s = 1 s = n

Система функциональных устройств (ФУ)

s = 1

s = n

 

 

Загруженность системы:

Пусть:
s –

количество устройств системы.

Тогда при:

 

 

Реальная
производительность
системы:

 

 

Пиковая
производительность
системы:

 

 

 

 

Слайд 11

Показатели эффективности параллельного алгоритма Ускорение = Ускорение относительно последовательного выполнения

Показатели эффективности параллельного алгоритма

Ускорение = Ускорение относительно последовательного выполнения вычислений
Эффективность

= Эффективность использования процессоров
Стоимость = Стоимость вычислений
Слайд 12

Ускорение (speedup) Ускорение (speedup) вычислений – это ускорение, получаемое при

Ускорение (speedup)

Ускорение (speedup) вычислений – это ускорение, получаемое при использовании

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

 
где:
n – параметр вычислительной сложности решаемой задачи (например, количество входных данных задачи)
p – число процессоров

 

или

Слайд 13

Виды ускорений Величину ускорения называют абсолютной, если в качестве T1

Виды ускорений

Величину ускорения называют абсолютной, если в качестве T1 берется время

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

В зависимости от эталона

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

Последовательные алгоритмы

Параллельный алгоритм 2

А чаще всего:
Параллельный алгоритм 4

Параллельный алгоритм 3

алгоритм1

алгоритм2

алгоритм3

ВС1

ВС2 ≠ p(ВС1)

ВС2 = p(ВС1)

алгоритм4

ВС2 ≠ p(ВС1)

Слайд 14

Виды ускорений В зависимости от величины R Причины недостижимости этих

Виды ускорений

В зависимости от величины R

Причины недостижимости этих ускорений
Неравноправность выполнения последовательной

и параллельной программ (например, недостаток оперативной памяти).
Нелинейный характер зависимости сложности решения задачи от объема обрабатываемых данных.
Различие вычислительных схем последовательного и параллельного методов.

Линейное (linear) или идеальное (ideal) ускорение имеет место при
Sp=p

Сверхлинейное (superlinear) ускорение имеет место при
Sp>p.

Слайд 15

Эффективность (efficiency) Эффективность (efficiency) – средняя доля времени выполнения параллельного

Эффективность (efficiency)

Эффективность (efficiency) – средняя доля времени выполнения параллельного алгоритма, в

течение которого процессоры реально
используются для решения задачи.

 
где:
n – параметр вычислительной сложности решаемой задачи (например, количество входных данных задачи)
p – число процессоров

 

или

Слайд 16

Ускорение vs эффективность Ускорение и эффективность – 2 стороны одной

Ускорение vs эффективность

Ускорение и эффективность – 2 стороны одной медали: попытки

повышения качества параллельных вычислений по одному из показателей может
привести к ухудшению качества по другому показателю.

Тише едешь – дальше будешь?

Слайд 17

Стоимость вычислений Стоимость (cost) параллельных вычислений Стоимостно-оптимальный ( cost-optimal) параллельный

Стоимость вычислений

Стоимость (cost) параллельных вычислений

Стоимостно-оптимальный ( cost-optimal) параллельный алгоритм – алгоритм,

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

 

Слайд 18

Можно ли достичь max параллелизма? Получение идеальных величин Rp=p для

Можно ли достичь max параллелизма?

Получение идеальных величин Rp=p для ускорения и

Ep=1 для эффективности может быть обеспечено не для всех вычислительно трудоемких задач.
Достижению максимального ускорения может препятствовать существование в выполняемых вычислениях последовательных расчетов, которые не могут быть распараллелены.
Слайд 19

Оценки максимально достижимого параллелизма

Оценки максимально достижимого параллелизма

Слайд 20

Ускорение и эффективность на СФУ Пусть: Тогда: ⇒

Ускорение и эффективность на СФУ

Пусть:

 

 

Тогда:

 

 

 


Слайд 21

Система функциональных устройств (ФУ) Утверждение 2.

Система функциональных устройств (ФУ)

Утверждение 2.

 

 

 

 

 

 

Слайд 22

Граф системы Как повысить производительность системы? Повысить загруженность системы! Всегда

Граф системы

Как повысить производительность системы?

Повысить загруженность системы!

Всегда ли можно повысить загруженность

ФУ?

Как повысить загруженность системы?

Повысить загруженность ФУ!

Вершины – ФУ;
Ребра – связь по данным.

 

Тогда:

Слайд 23

Система функциональных устройств (ФУ) Следствие из утверждения 3. Тогда: 3)

Система функциональных устройств (ФУ)

Следствие из утверждения 3.

 

Тогда:

 

 

3) Загруженность системы p

не превосходит:

Загруженность любого устройства не превосходит
загруженности самого НЕ производительного устройства.

4) Ускорение системы R не превосходит:

Слайд 24

1-й закон Амдала Производительность системы определяется самым непроизводительным ее устройством. Следствие.

1-й закон Амдала

Производительность системы определяется самым непроизводительным ее устройством.

Следствие.

 

Слайд 25

Информационный граф T Ускорение системы то: Следовательно:

Информационный граф

T

 

Ускорение системы

 

 

 

то:

Следовательно:

 

Слайд 26

2-й закон Амдала Тогда: Пусть все последовательные операции выполняются на 1-м ФУ, тогда: Доказательство:

2-й закон Амдала

 

Тогда:

 

Пусть все последовательные операции выполняются на 1-м ФУ, тогда:


Доказательство:

 

Слайд 27

2-й закон Амдала Для остальных ФУ: Из формулы: получаем: ч.т.д. Более привычный вид закона:

2-й закон Амдала

Для остальных ФУ:

 

Из формулы:

получаем:

ч.т.д.

Более привычный вид

закона:
Слайд 28

2-й закон Амдала Пример: Ускорение последовательной программы Пусть имеется последовательная

2-й закон Амдала

Пример: Ускорение последовательной программы

Пусть имеется последовательная программа, состоящая из

двух независимых частей: A (75%) и B (25%).
Увеличение быстродействия части B в 5 раз даст ускорение
Увеличение быстродействия части A в 2 раза даст ускорение

Исходная программа
Часть B быстрее в 5 раз
Часть A быстрее в 2 раза

 

 

Программа АB

время

Слайд 29

3-й закон Амдала Тогда:

3-й закон Амдала

 

Тогда:

 

 

Слайд 30

2-й закон Амдала

2-й закон Амдала

Слайд 31

3-й закон Амдала

3-й закон Амдала

 

Слайд 32

3-й закон Амдала Ускорение параллельной программы зависит не от количества

3-й закон Амдала

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

от величины последовательной
части программы.
Слайд 33

3-й закон Амдала

3-й закон Амдала

Слайд 34

Закон Густафсона-Барсиса закон Амдала Вопроса об ускорении на n процессорах

Закон Густафсона-Барсиса

закон Амдала

Вопроса об ускорении на n процессорах

Вопрос о замедлении вычислений

при переходе на один процессор

закон Густафсона

Слайд 35

Закон Густафсона-Барсиса Аналогично за f примем долю последовательной части программы. Тогда получим закон масштабируемого ускорения:

Закон Густафсона-Барсиса

Аналогично за f примем долю последовательной части программы. Тогда получим
закон

масштабируемого ускорения:
Слайд 36

Закон Густафсона-Барсиса против закона Амдала закон Амдала закон Густафсона Т.е.

Закон Густафсона-Барсиса против закона Амдала

закон Амдала

закон Густафсона

Т.е. законы Амдала и Густафсона

в идентичных условиях дают различные значения ускорения!
Где же ошибка?
Каковы области применения этих законов?
Слайд 37

Ответ! Увеличение объема решаемой задачи приводит к увеличению доли параллельной

Ответ!

Увеличение объема решаемой задачи приводит к увеличению доли параллельной части, так

как последовательная часть (ввод/вывод, менеджмент потоков, точки синхронизации и т.п.) не изменяется.
Таким образом, уменьшение доли f приводит к перспективным значениям ускорения.
Слайд 38

Закон Густафсона-Барсиса против закона Амдала

Закон Густафсона-Барсиса против закона Амдала

Слайд 39

Анализ масштабируемости параллельного алгоритма

Анализ масштабируемости параллельного алгоритма

Слайд 40

Масштабируемость алгоритмов Параллельный алгоритм называют масштабируемым (scalable), если при росте

Масштабируемость алгоритмов

Параллельный алгоритм называют масштабируемым (scalable), если при росте числа процессоров

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

Анализ масштабируемости Накладные расходы: Время решения задачи: Ускорение: Эффективность:

Анализ масштабируемости

Накладные расходы:

Время решения задачи:

Ускорение:

Эффективность:

Слайд 42

Анализ масштабируемости Если сложность решаемой задачи является фиксированной (T1=const), то

Анализ масштабируемости

Если сложность решаемой задачи является фиксированной (T1=const), то при росте

числа процессоров эффективность, как правило, будет убывать за счет роста накладных расходов T0.
При фиксации числа процессоров эффективность использования процессоров можно улучшить путем повышения сложности решаемой задачи T1.
При увеличении числа процессоров в большинстве случаев можно обеспечить определенный уровень эффективности при помощи соответствующего повышения сложности решаемых задач.
Имя файла: Анализ-параллельных-вычислений.-Лекция-3.pptx
Количество просмотров: 92
Количество скачиваний: 0