Скачать презентацию Введение  Зачем? o o Ограничения последовательного подхода Скачать презентацию Введение Зачем? o o Ограничения последовательного подхода

Технологии параллельных вычислений.ppt

  • Количество слайдов: 45

Введение Введение

Зачем? o o Ограничения последовательного подхода Необходимость решения сверхсложных задач 2 Зачем? o o Ограничения последовательного подхода Необходимость решения сверхсложных задач 2

o Параллелизм = избыточность n n o Вычислительные узлы (кластер) Логические элементы (многопроцессорность) Параллелизм o Параллелизм = избыточность n n o Вычислительные узлы (кластер) Логические элементы (многопроцессорность) Параллелизм = многопоточность 3

Ограничения o o o Высокая стоимость оборудования Необходимость адаптации ПО Затраты на реализацию параллелизма Ограничения o o o Высокая стоимость оборудования Необходимость адаптации ПО Затраты на реализацию параллелизма Ограничения преобразования алгоритмов (закон Амдаля): Связь ПО с архитектурой вычислительных систем Марвин Ли Минский 4

Технологии параллельных вычислений o o Архитектура параллельных вычислительных систем Параллелизма: свойства и анализ эффективности Технологии параллельных вычислений o o Архитектура параллельных вычислительных систем Параллелизма: свойства и анализ эффективности Параллельные алгоритмы Технологии создания ПО для параллельных систем 5

Архитектура параллельных вычислительных систем Архитектура параллельных вычислительных систем

Основные принципы o o Независимость отдельных функциональных элементов Избыточность: выполнение группы операций на отдельных Основные принципы o o Независимость отдельных функциональных элементов Избыточность: выполнение группы операций на отдельных элементах, дублирование, конвейерная обработка 7

Режимы параллельного выполнения o o o Многозадачный режим Параллельное выполнение Распределённые вычисления 8 Режимы параллельного выполнения o o o Многозадачный режим Параллельное выполнение Распределённые вычисления 8

Типы параллельных систем o o o Суперкомпьютер Кластер Облако 9 Типы параллельных систем o o o Суперкомпьютер Кластер Облако 9

Суперкомьютеры o o o ASCI 12 TFlops IBM Blue Gene до 1 PFlops МВС-15000 Суперкомьютеры o o o ASCI 12 TFlops IBM Blue Gene до 1 PFlops МВС-15000 5 TFlops 10

Кластеры o o o Beowulf Avalon (149 GFlops) AC 3 Velocity Cluster (122 GFlops) Кластеры o o o Beowulf Avalon (149 GFlops) AC 3 Velocity Cluster (122 GFlops) NCSA NT Supercluster (140 GFlops) Thunder (22 TFlops) СПб. ГПУ (3. 3 TFlops) 11

Управление и обработка данных o o Single instruction, single data Single instruction, multiple data Управление и обработка данных o o Single instruction, single data Single instruction, multiple data Multiple instruction, single data Multiple instruction, multiple data Michael J. Flynn 12

Топология сети передачи данных 13 Топология сети передачи данных 13

MIMD-системы 14 MIMD-системы 14

MIMD: Мультипроцессоры UMA NUMA 15 MIMD: Мультипроцессоры UMA NUMA 15

MIMD: Мультикомпьютеры 16 MIMD: Мультикомпьютеры 16

Метрики топологии сети o o Диаметр Связность Ширина бинарного деления Стоимость 17 Метрики топологии сети o o Диаметр Связность Ширина бинарного деления Стоимость 17

Используемые сокращения o o o UMA – uniform memory access NUMA – non-uniform memory Используемые сокращения o o o UMA – uniform memory access NUMA – non-uniform memory access SMP - symmetric multiprocessor PVP – parallel vector processor SISD – single instruction, single data SIMD – single instruction, multiple data MISD – multiple instruction, single data MIMD – multiple instruction, single data DSM – distributed shared memory NORMA – no-remote memory access MPO – message passing operations MPP – massively parallel processor 18

Задания o o o Обзор MIMD-систем Обзор альтернативных классификаций параллельных вычислительных систем: n http: Задания o o o Обзор MIMD-систем Обзор альтернативных классификаций параллельных вычислительных систем: n http: //www. parallel. ru/computers/taxonomy/ Вычислить метрики для различных типов сетей передачи данных в зависимости от количества процессоров (р): n Полный граф n Звезда n Полное двоичное дерево n Линейка n Кольцо n Решётка (двух- и трёхмерная) 19

Моделирование и анализ параллельных вычислений 1. Модель параллельных вычислений 2. Показатели качества параллельных методов Моделирование и анализ параллельных вычислений 1. Модель параллельных вычислений 2. Показатели качества параллельных методов

Модель «Граф-операнды» (1. 1) G = (V, R) где V – вершины графа, R Модель «Граф-операнды» (1. 1) G = (V, R) где V – вершины графа, R – дуги графа V – V без вершин ввода d(g) – диаметр графа 21

Свойства модели 1. 2. 3. Время выполнения любых операций одинаково (1) Затраты на передачу Свойства модели 1. 2. 3. Время выполнения любых операций одинаково (1) Затраты на передачу данных игнорируются Вершины графа, между которыми нет пути, указывают на параллельные операции 22

Выполнение алгоритма по модели o Расписание (1. 2) р – количество процессоров, i – Выполнение алгоритма по модели o Расписание (1. 2) р – количество процессоров, i – операция, t – время начала операции o Условия выполнения: n (1. 3) n (1. 4) 23

Время выполнения алгоритма o Время выполнения || алгоритма*: (1. 5) o. Минимальное время выполнения Время выполнения алгоритма o Время выполнения || алгоритма*: (1. 5) o. Минимальное время выполнения алгоритма (1. 6) o. Наиболее (1. 7) быстрое выполнение алгоритма (1. 8) *Для р=1 имеем: T=|V|, (1. 9), (1. 10) 24

Свойства оценок времени выполнения o Теорема 1 Минимально возможное время выполнения параллельного алгоритма определяется Свойства оценок времени выполнения o Теорема 1 Минимально возможное время выполнения параллельного алгоритма определяется длиной максимального пути вычислительной схемы алгоритма (1. 11) 25

Свойства оценок времени выполнения o Теорема 2 Пусть для некоторой вершины вывода в вычислительной Свойства оценок времени выполнения o Теорема 2 Пусть для некоторой вершины вывода в вычислительной схеме алгоритма существует путь из каждой вершины ввода (n). Кроме того, пусть входная степень вершин схемы (количество входящих дуг) не превышает 2. Тогда минимально возможное время выполнения параллельного алгоритма ограничено снизу значением (1. 12) 26

Свойства оценок времени выполнения o Теорема 3 При уменьшении числа используемых процессоров время выполнения Свойства оценок времени выполнения o Теорема 3 При уменьшении числа используемых процессоров время выполнения алгоритма увеличивается пропорционально величине уменьшения количества процессоров, т. е. (1. 13) 27

Свойства оценок времени выполнения o Теорема 4 Для любого количества используемых процессоров справедлива следующая Свойства оценок времени выполнения o Теорема 4 Для любого количества используемых процессоров справедлива следующая верхняя оценка для времени выполнения параллельного алгоритма (1. 14) 28

Доказательство теоремы 4 Пусть есть расписание H для достижения минимально возможного времени выполнения Tmin. Доказательство теоремы 4 Пусть есть расписание H для достижения минимально возможного времени выполнения Tmin. Для каждой итерации i, выполнения расписания H обозначим через n количество операций, выполняемых в ходе итерации i, N – общее число операций. Расписание выполнения алгоритма с использованием p процессоров может быть построено следующим образом. Выполнение алгоритма разделим на T шагов; на каждом шаге следует выполнить все n операций, которые выполнялись на i итерации расписания H. Эти операции могут быть выполнены не более чем за n/p итераций при использовании p процессоров. Как результат, время выполнения алгоритма T может быть оценено следующим образом: (1. 14. 1) 29

Свойства оценок времени выполнения o Теорема 5 Времени выполнения алгоритма, которое сопоставимо с минимально Свойства оценок времени выполнения o Теорема 5 Времени выполнения алгоритма, которое сопоставимо с минимально возможным временем, можно достичь при , т. е. : (1. 15) При меньшем количестве процессоров время выполнения алгоритма не может превышать более чем в 2 раза наилучшее время вычислений при имеющемся числе процессоров, т. е. (1. 16) 30

Правила формирования алгоритмов o o o при выборе вычислительной схемы алгоритма должен использоваться граф Правила формирования алгоритмов o o o при выборе вычислительной схемы алгоритма должен использоваться граф с минимально возможным диаметром для параллельного выполнения целесообразное количество процессоров определяется величиной время выполнения параллельного алгоритма ограничивается сверху величинами, приведенными в теоремах 4 и 5 31

Показатели эффективности || алгоритма o Ускорение (speedup)* (1. 17) Sp(n)=T 1(n)/Tp(n) o. Эффективность (1. Показатели эффективности || алгоритма o Ускорение (speedup)* (1. 17) Sp(n)=T 1(n)/Tp(n) o. Эффективность (1. 18) (efficiency)** Ep(n)=T 1(n)/(p*Tp(n))=Sp(n)/p o. Стоимость (1. 19) * (cost) Cp=p*Tp Smax=n ** Emax=1 32

Пример построения модели параллельного алгоритма Нахождение частных сумм последовательности значений (2. 0) Пример построения модели параллельного алгоритма Нахождение частных сумм последовательности значений (2. 0)

Сумма чисел: последовательный алгоритм Исходная формула: (2. 1) G 1=(V 1, R 1) V Сумма чисел: последовательный алгоритм Исходная формула: (2. 1) G 1=(V 1, R 1) V 1={V 01, . . . , V 0 n, V 11, . . . , V 1 n} R 1={(v 0 i, v 1 i), (v 1 i, v 1 i+1), 1<=i<=n– 1} Kпосл=n– 1 34

Сумма чисел: каскадный алгоритм p=1 G 2=(V 2, R 2) V 2={(vi 1, . Сумма чисел: каскадный алгоритм p=1 G 2=(V 2, R 2) V 2={(vi 1, . . . , vli), 0<=i<=k, 1<=li<=2 -1 n} R 2={(vi-1, 2 j-1 vij), (vi-1, 2 jvij), 1<=i<=k, 1<=j<=2 -in} Операций суммирования: Kпосл=n/2+n/4+. . . +1=n– 1 35

Сумма чисел: каскадный алгоритм p=n/2 Параллельных операций суммирования: Kпар=log 2 n T 1=Kпосл Tp=Kпар Сумма чисел: каскадный алгоритм p=n/2 Параллельных операций суммирования: Kпар=log 2 n T 1=Kпосл Tp=Kпар Итераций всего: k=log 2 n Ep=T 1/p. Tp=(n– 1)/(plog 2 n)=(n– 1)/((n/2)log 2 n) Sp=T 1/Tp=(n– 1)/log 2 n (2. 2) 36

Сумма чисел: модифицированный каскадный алгоритм p 1=n/log 2 n k 1=log 2 n p Сумма чисел: модифицированный каскадный алгоритм p 1=n/log 2 n k 1=log 2 n p 2=(n/log 2 n)/2 k 2=log 2(n/log 2 n) Tp=2 log 2 n Sp=T 1/Tp=(n– 1)/2 log 2 n Ep=T 1/p. Tp=(n– 1)/(2(n/log 2 n)=(n– 1)/2 n (2. 3) 37

Вычисление всех частных сумм Kпар=nlog 2 n p=n Sp=T 1/Tp=n/log 2 n Ep=T 1/p. Вычисление всех частных сумм Kпар=nlog 2 n p=n Sp=T 1/Tp=n/log 2 n Ep=T 1/p. Tp=n/(plog 2 n)=n/(nlog 2 n)=1/log 2 n 38

Оценка максимально достижимого параллелизма Закон Амдаля Пусть f - доля последовательных вычислений в применяемом Оценка максимально достижимого параллелизма Закон Амдаля Пусть f - доля последовательных вычислений в применяемом алгоритме обработки данных. Тогда ускорение процесса вычислений при использовании p процессоров ограничивается следующей величиной: (3. 1) 39

Оценка максимально достижимого параллелизма Закон Густавсона-Барсиса Пусть g – доля последовательных вычислений: (3. 2) Оценка максимально достижимого параллелизма Закон Густавсона-Барсиса Пусть g – доля последовательных вычислений: (3. 2) Тогда максимально достижимое ускорение можно определить по формуле: (3. 3) Sp = p+(1–p)g 40

Анализ масштабируемости параллельных вычислений o o Масштабируемый алгоритм обеспечивает прирост ускорения при сохранении эффективности Анализ масштабируемости параллельных вычислений o o Масштабируемый алгоритм обеспечивает прирост ускорения при сохранении эффективности при увеличении числа процессоров Накладные расходы – затраты на обеспечение выполнения алгоритма: (3. 4) T 0=p. Tp–T 1 41

Анализ масштабируемости параллельных вычислений o Ускорение с учётом расходов: (3. 5) o Эффективность с Анализ масштабируемости параллельных вычислений o Ускорение с учётом расходов: (3. 5) o Эффективность с учётом расходов: (3. 6) 42

Функция изоэффективности o Для желаемого значения Еp=const E: (3. 7) o Расходы для алгоритма Функция изоэффективности o Для желаемого значения Еp=const E: (3. 7) o Расходы для алгоритма суммирования: (3. 8) o Функция изоэффективности для алгоритма суммирования: (3. 9) 43

Задачи Разработайте модель и выполните оценку показателей ускорения и эффективности параллельных вычислений: o o Задачи Разработайте модель и выполните оценку показателей ускорения и эффективности параллельных вычислений: o o o для задачи скалярного произведения двух векторов для задачи поиска максимального и минимального значений для заданного набора числовых данных для задачи нахождения среднего значения для заданного набора числовых данных 44

Задачи o o 2. Выполните в соответствии с законом Амдаля оценку максимально достижимого ускорения Задачи o o 2. Выполните в соответствии с законом Амдаля оценку максимально достижимого ускорения для задач п. 1. 3. Выполните оценку ускорения масштабирования для задач п. 1. 4. Выполните построение функций изоэффективности для задач п. 1. 5. Разработайте модель и выполните полный анализ эффективности параллельных вычислений ( ускорение, эффективность, максимально достижимое ускорение, ускорение масштабирования, функция изоэффективности ) для задачи умножения матрицы на вектор. 45