- •Самарский государственный технический университет филиал в г. Сызрани
- •Содержание
- •Введение
- •Граф "операции-операнды"…
- •Граф "операции-операнды"…
- •Граф "операции-операнды"…
- •Граф "операции-операнды"
- •Схема параллельного выполнения алгоритма
- •Определение времени выполнения параллельного алгоритма…
- •Определение времени выполнения параллельного алгоритма…
- •Определение времени выполнения параллельного алгоритма…
- •Определение времени выполнения параллельного алгоритма…
- •Определение времени выполнения параллельного алгоритма…
- •Определение времени выполнения параллельного алгоритма…
- •Определение времени выполнения параллельного алгоритма…
- •Определение времени выполнения параллельного алгоритма…
- •Определение времени выполнения параллельного алгоритма…
- •Показатели эффективности параллельного алгоритма…
- •Показатели эффективности параллельного алгоритма…
- •Показатели эффективности параллельного алгоритма…
- •Показатели эффективности параллельного алгоритма…
- •Пример: Вычисление частных сумм…
- •Пример: Вычисление частных сумм…
- •Пример: Вычисление частных сумм…
- •Пример: Вычисление частных сумм…
- •Пример: Вычисление частных сумм…
- •Пример: Вычисление частных сумм…
- •Пример: Вычисление частных сумм…
- •Пример: Вычисление частных сумм…
- •Пример: Вычисление частных сумм…
- •Пример: Вычисление частных сумм…
- •Пример: Вычисление частных сумм…
- •Пример: Вычисление частных сумм
- •Оценка максимально достижимого параллелизма…
- •Оценка максимально достижимого параллелизма…
- •Оценка максимально достижимого параллелизма…
- •Оценка максимально достижимого параллелизма…
- •Оценка максимально достижимого параллелизма
- •Анализ масштабируемости параллельных
- •Анализ масштабируемости параллельных вычислений…
- •Анализ масштабируемости параллельных вычислений…
- •Анализ масштабируемости параллельных вычислений
- •Пример: Вычисление числа …
- •Пример: Вычисление числа …
- •Пример: Вычисление числа …
- •Пример: Вычисление числа
- •Пример: Метод конечных разностей…
- •Пример: Метод конечных разностей…
- •Пример: Метод конечных разностей
- •Заключение…
- •Заключение
- •Вопросы для обсуждения…
- •Вопросы для обсуждения
- •Темы заданий для самостоятельной работы…
- •Темы заданий для самостоятельной работы
- •Литература…
- •Литература
- •Следующая тема
Пример: Вычисление частных сумм…
Вычисление всех частных сумм…
–Алгоритм, обеспечивающий получение результатов за log2n параллельных операций:
•Перед началом вычислений создается копия S вектора суммируемых значений (S=x),
•Далее на каждой итерации суммирования i, 1≤i≤log2n, формируется вспомогательный вектор Q путем сдвига вправо вектора S на 2i-1 позиций (освобождающиеся при сдвиге позиции слева устанавливаются в нулевые значения);
итерация алгоритма завершается параллельной операцией суммирования векторов S и Q.
31 из 58
Пример: Вычисление частных сумм…
Вычисление всех частных сумм…
32 из 58
Пример: Вычисление частных сумм
Вычисление всех частных сумм
–Общее количество выполняемых алгоритмом скалярных операций определяется величиной:
Kпосл n log2 n
–Необходимое количество процессоров определяется количеством суммируемых значений:
pn
–Показатели ускорения и эффективности:
S p T1Tp nlog2 n
Ep T1 pTp n p log2 n nn log2 n 1log2 n
33 из 58
Оценка максимально достижимого параллелизма…
Оценка качества параллельных вычислений предполагает знание наилучших (максимально достижимых) значений показателей ускорения и эффективности
Получение идеальных величин Sp=p для ускорения и Ep=1 для эффективности может быть обеспечено не для всех вычислительно трудоемких задач
34 из 58
Оценка максимально достижимого параллелизма…
Закон Амдаля (Amdahl)
Достижению максимального ускорения может препятствовать существование в выполняемых вычислениях последовательных расчетов, которые не могут быть распараллелены.
Пусть f есть доля последовательных вычислений в
применяемом алгоритме обработки данных.
Ускорение процесса вычислений при использовании p процессоров ограничивается величиной:
S p |
1 |
S * |
1 |
|
f (1 f ) / p |
f |
|||
|
|
35 из 58
Оценка максимально достижимого параллелизма…
Закон Амдаля. Замечания
–Доля последовательных вычислений может быть существенно снижена при выборе более подходящих для распараллеливания методов,
–Эффект Амдаля
Для большого ряда задач доля последовательных вычислений f=f(n) является убывающей функцией от n, и в этом случае ускорение для фиксированного числа процессоров может быть увеличено за счет увеличения вычислительной сложности решаемой задачи.
В этом случае, ускорение Sp= Sp(n) является
возрастающей функцией от параметра n.
36 из 58
Оценка максимально достижимого параллелизма…
Закон Густавсона – Барсиса…
Оценим максимально достижимое ускорение исходя из имеющейся доли последовательных расчетов в
выполняемых параллельных(n) вычислениях: g (n) (n) / p
где (n) и (n) есть времена последовательной и параллельной частей выполняемых вычислений соответственно, т.е.
T (n) (n), |
Tp (n) (n) / p |
1 |
|
Сучетом введенной величины g можно получить
(n) g ( (n) (n) / p), (n) (1 g) p ( (n) (n) / p),
что позволяет построить оценку для ускорения
S p |
T1 |
|
(n) (n) |
|
( (n) (n) / p)(g (1 g) p) |
|
(n) (n) / p |
(n) (n) / p |
|||
|
Tp |
|
37 из 58
Оценка максимально достижимого параллелизма
Закон Густавсона - Барсиса
Упрощение последней оценки для ускорения
S p g (1 g) p p (1 p)g
Оценку ускорения, получаемую в соответствии с законом Густавсона-Барсиса, еще называют
ускорением масштабирования (scaled speedup),
поскольку данная характеристика может показать, насколько эффективно могут быть организованы параллельные вычисления при увеличении сложности решаемых задач
38 из 58
Анализ масштабируемости параллельных
вычислений...
Параллельный алгоритм называют
масштабируемым (scalable), если при росте числа процессоров он обеспечивает
увеличение ускорения при сохранении
постоянного уровня эффективности использования процессоров
39 из 58
Анализ масштабируемости параллельных вычислений…
Накладные расходы (total overhead) появляются за счет необходимости организации взаимодействия процессоров, выполнения некоторых дополнительных действий, синхронизации параллельных вычислений и т.п.
T0 pTp T1
Новые выражения для времени параллельного решения задачи и получаемого при этом ускорения:
Tp T1 T0 |
, |
S p |
T1 |
|
pT1 |
|
Tp |
T1 T0 |
|||||
p |
|
|
|
Тогда эффективность использования процессоров можно
выразить как |
S p |
|
|
T |
|
1 |
|
|
|
|
|
|
|
||||
E p |
|
|
|
1 |
|
|
|
|
p |
T1 |
T0 |
1 T0 |
/ T1 |
||||
|
|
|
40 из 58