Скачать презентацию Вопросы Как определить минимально возможное время параллельного решения Скачать презентацию Вопросы Как определить минимально возможное время параллельного решения

lec04_v02.pptx

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

Вопросы Как определить минимально возможное время параллельного решения задачи по графу “операнды–операции” При каком Вопросы Как определить минимально возможное время параллельного решения задачи по графу “операнды–операции” При каком числе процессоров могут быть получены времена выполнения параллельного алгоритма, сопоставимые по порядку с оценками минимально возможного времени решения задачи? 1

Передача данных. Коммуникационная трудоемкость алгоритмов Основа для характеристики передачи данных – алгоритмы маршрутизизации (АМ). Передача данных. Коммуникационная трудоемкость алгоритмов Основа для характеристики передачи данных – алгоритмы маршрутизизации (АМ). АМ определяет путь передачи данных от CPU 1 (источника сообщения) до CPU 2 (адресата доставки). Классификация АМ: Оптимальные (определяют кратчайшие пути передачи данных) и неоптимальные АМ. Адаптивные (учитывают загрузку каналов связи) и неадаптивные АМ. 2

Пример оптимальных АМ Методы покоординатной маршрутизации (dimension ordered routing) – поочередный поиск путей передачи Пример оптимальных АМ Методы покоординатной маршрутизации (dimension ordered routing) – поочередный поиск путей передачи данных для каждой размерности топологии сети. Пример: алгоритм ХY-маршрутизации для решетки: Передача данных по горизонтали до пересечения с вертикалью CPU 2 Передача данных по вертикали 3

4 4

Характеристики коммуникационной составляющей длительности выполнения параллельного алгоритма в МВС Время передачи данных определяют: Время Характеристики коммуникационной составляющей длительности выполнения параллельного алгоритма в МВС Время передачи данных определяют: Время начальной подготовки сообщения для передачи, поиска маршрута в сети – tн Время передачи служебных данных (заголовок сообщения, диагностический блок) между соседними CPU (имеющими между собой физический канал передачи данных) – tс Время передачи одного байта по одному каналу (определяется полосой пропускания каналов сети) – tк =1/R, где R - ширина полосы 5

Методы передачи данных 1. Метод передачи сообщений как неделимых блоков информации (store-and-forward routing, SFR): Методы передачи данных 1. Метод передачи сообщений как неделимых блоков информации (store-and-forward routing, SFR): CPU 1 Готовит данные (сообщение) для передачи Определяет CPU 2 для пересылки (промежут. ) Запускает операцию пересылки данных CPU 2 Принимает полностью все пересылаемые данные Выполняет пересылку далее по маршруту Время пересылки m байт по маршруту длины l: tпд = tн + (mtк + tс )l Для «длинных» сообщений, где можно пренебречь пересылкой служебных данных: tпд = tн +mtкl 6

Методы передачи данных 2. Метод передачи пакетов – сообщение состоит из блоков информации (пакетов) Методы передачи данных 2. Метод передачи пакетов – сообщение состоит из блоков информации (пакетов) (cut-through-routing, CTR) CPU 1 Готовит данные (сообщение) в виде пакетов для передачи Определяет CPU 2 для пересылки (промежут. ) Запускает операцию пересылки пакетов CPU 2 Принимает пакет Выполняет пересылку далее по маршруту как только получил и обработал заголовок (учитывает tс), не дожидаясь завершения приема данных всего сообщения Время пересылки m байт по маршруту длины l : tпд = = tн + mtк + tсl 7

Методы передачи данных 8 Методы передачи данных 8

Преимущества и недостатки CTR Ускоряет пересылку данных. Снижает потребность в памяти для хранения пересылаемых Преимущества и недостатки CTR Ускоряет пересылку данных. Снижает потребность в памяти для хранения пересылаемых данных и организации приемапередачи сообщений. Для передачи могут использоваться одновременно разные коммуникационные каналы. Требует разработки более сложного аппаратного и программного обеспечения сети. Может увеличить накладные расходы (время подготовки и время передачи служебных данных), При передаче пакетов возможно возникновение конфликтных ситуаций (deadlock - тупик, ситуация, возникающая в многопроцессорной системе, когда два независимых процесса ожидают друг от друга поступления разрешающих сигналов). 9

Классификация операций передачи данных в МВС Выделяют передачу данных (сообщений): между двумя CPU сети, Классификация операций передачи данных в МВС Выделяют передачу данных (сообщений): между двумя CPU сети, от одного CPU всем остальным CPU сети (one-to-all broadcast или single-node broadcast), от всех CPU всем CPU сети (all-to-all broadcast или multi-node broadcast), то же для различных наборов данных; прием данных (сообщений): на один CPU от всех CPU сети (single-node accumulation), на каждом CPU от всех CPU сети (multi-node accumulation), 10 то же для различных сообщений.

Оценки трудоемкости для различных топологий Топология Граф Звезда Линейка Кольцо Решетка (2 D) Диаметр Оценки трудоемкости для различных топологий Топология Граф Звезда Линейка Кольцо Решетка (2 D) Диаметр 1 2 р - 1 р/2 2(√р - 1) Диаметр – определяет время передачи данных, max расстояние между 2 CPU сети (расстояние равно величине кратчайшего пути). Для оценки нужно: Определить алгоритм пересылки. В формулы вместо l подставить значение диаметра 11

Оценки коммуникационной трудоемкости для кластеров Кластер – группа выделенных рабочих станций (объединены в ЛВС, Оценки коммуникационной трудоемкости для кластеров Кластер – группа выделенных рабочих станций (объединены в ЛВС, работают как единый вычислительный ресурс, используется серийное оборудование. Использование концентраторов (давно!) и коммуникаторов (hub, switch) Топология сети кластера – полный граф (l=1), но: Hub – : в каждый момент передача данных только между 2 узлами. Switch + : м. б. взаимодействие >1 непересекающихся пар узлов. Основной способ выполнения коммуникационных операций – пакетный метод (часто на основе TCP/IP) 12

Оценка трудоемкости операции передачи данных между 2 узлами кластера (модель А) 13 Оценка трудоемкости операции передачи данных между 2 узлами кластера (модель А) 13

Оценка трудоемкости операции передачи данных между 2 узлами кластера (модель В) 14 Оценка трудоемкости операции передачи данных между 2 узлами кластера (модель В) 14

Оценка трудоемкости операции передачи данных между 2 узлами кластера (модель С) Грубая оценка трудоемкости Оценка трудоемкости операции передачи данных между 2 узлами кластера (модель С) Грубая оценка трудоемкости (модель Хокни) tпд = tн + mtк = tн + m/R 15

Оценки через вычислительные эксперименты на кластере Сеть многопроцессорного кластера Нижегородского университета (компьютеры IBM PC Оценки через вычислительные эксперименты на кластере Сеть многопроцессорного кластера Нижегородского университета (компьютеры IBM PC Pentium 4 1300 Mгц и сеть Fast. Etherrnet) Оценка параметров: tн - время передачи сообщения длины 0 для подходов А и С, tнач0 , tнач1 для подхода В - аппроксимацию tпд - времени передачи сообщений размером от 0 до Vmax R = max (tпд / m) при варьировании m 16

Оценки через вычислительные эксперименты на кластере 17 Оценки через вычислительные эксперименты на кластере 17

Оценки через вычислительные эксперименты на кластере 18 Оценки через вычислительные эксперименты на кластере 18

Общие принципы разработки параллельных методов Независимо от типа МВС и «математики» выделяют этапы: 1. Общие принципы разработки параллельных методов Независимо от типа МВС и «математики» выделяют этапы: 1. Анализ общей схемы вычислений для разделения на независимые (относительно) подзадачи. 2. Определение информационных взаимодействий между подзадачами. 3. Масштабирование алгоритма с учетом числа CPU (укрупнение или детализация подзадач). 4. Распределение подзадач между CPU системы 19

Дополнительные предположения Равномерность загрузки всех CPU (балансировка). Минимизация коммуникационных взаимодействий между подзадачами. Возможность пересмотра Дополнительные предположения Равномерность загрузки всех CPU (балансировка). Минимизация коммуникационных взаимодействий между подзадачами. Возможность пересмотра шагов после анализа показателей производительности. Информационные взаимодействия: Передача сообщений для МВС с распределенной памятью. Операции доступа к общим переменным для МВС с общей памятью 20

Этапы разработки параллельных алгоритмов (на примере max(aij)) 1. Разделение вычислений на независимые подзадачи Требования Этапы разработки параллельных алгоритмов (на примере max(aij)) 1. Разделение вычислений на независимые подзадачи Требования к подзадачам: Равные объемы вычислений Минимум информационных зависимостей Меньше передач данных Больше объем сообщений 21

Два основных типа вычислительных схем, основанных на разделении данных: Ленточная схема Блочная схема 22 Два основных типа вычислительных схем, основанных на разделении данных: Ленточная схема Блочная схема 22

Сфера применимости – однотипная обработка большого набора данных: Матричные вычисления Численные методы решения уравнений Сфера применимости – однотипная обработка большого набора данных: Матричные вычисления Численные методы решения уравнений в частных производных. Имеет место параллелизм по данным Разделение на подзадачи = разделение данных. Возможны 1, 2, 3 D наборы подзадач с информационными связями между ближайшими соседями – сетки, или решетки. 23

Сетки, или решетки 24 Сетки, или решетки 24

Выполнение разных операций над одним набором данных – функциональный параллелизм Обработка разных запросов к Выполнение разных операций над одним набором данных – функциональный параллелизм Обработка разных запросов к БД Одновременное выполнение разных алгоритмов для одних и тех же данных Функциональная декомпозиция м. б. использована для конвейерной обработки данных: Ввод Обработка Сохранение 25

Уровень декомпозиции Противоречия: Максимум числа подзадач → предельно достижимый уровень параллелизма, но сложный анализ Уровень декомпозиции Противоречия: Максимум числа подзадач → предельно достижимый уровень параллелизма, но сложный анализ вычислений. Крупные подзадачи → ясная схема вычислений, но неэффективная загрузка CPU системы Решение – декомпозиция до уровня базовых подзадач, для которых известны методы решения (в примере – max по строкам) 26

Требования к результату этапа 1 Декомпозиция не увеличивает объем вычислений и необходимый объем памяти. Требования к результату этапа 1 Декомпозиция не увеличивает объем вычислений и необходимый объем памяти. Возможна равномерная загрузка всех CPU. Выделенных подзадач достаточно для эффективной загрузки всех CPU (даже при увеличении их числа) 27

Этапы разработки параллельных алгоритмов 2. Выделение информационных зависимостей Взаимосвязан с этапом 1: Выделение подзадач Этапы разработки параллельных алгоритмов 2. Выделение информационных зависимостей Взаимосвязан с этапом 1: Выделение подзадач должно учитывать возможные информационные связи Анализ объема информационных обменов может потребовать изменения декомпозиции 28

Формы информационного взаимодействия Схемы передачи данных: Локальные – обмен для части подзадач (как правило, Формы информационного взаимодействия Схемы передачи данных: Локальные – обмен для части подзадач (как правило, на соседних CPU) Глобальные - обмен между всеми подзадачами Структурированные – стандартные регулярные схемы (кольцо, решетка и т. д. ) Произвольные Статические – фиксируются при проектировании программы вычислений Динамические – определяются во время выполнения программы (run-time) 29

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

Требования к результату этапа 2 Соответствие между вычислительной сложностью подзадач и интенсивностью информационных взаимодействий. Требования к результату этапа 2 Соответствие между вычислительной сложностью подзадач и интенсивностью информационных взаимодействий. Равномерная интенсивность информационных взаимодействий для всех подзадач. Локальность схемы Информационная зависимость не мешает параллельному выполнению подзадач 31

Этапы разработки параллельных алгоритмов 3. Масштабирование Необходимо, если число подзадач ≠ количеству CPU Типы Этапы разработки параллельных алгоритмов 3. Масштабирование Необходимо, если число подзадач ≠ количеству CPU Типы масштабирования: Агрегация Декомпозиция 32

Агрегация Укрупнение вычислений для уменьшения числа подзадач. В результате должно соблюдаться (см. этап 1) Агрегация Укрупнение вычислений для уменьшения числа подзадач. В результате должно соблюдаться (см. этап 1) : Одинаковая вычислительная сложность подзадач. Минимально возможный уровень объема и интенсивности информационных взаимодействий между подзадачами В первую очередь объединяют коммуникационно трудоемкие подзадачи 33

Декомпозиция Детализация вычислений (увеличение числа подзадач) для загрузки всех доступных CPU. До базовых задач Декомпозиция Детализация вычислений (увеличение числа подзадач) для загрузки всех доступных CPU. До базовых задач с известными параллельными алгоритмами решения 34

Требования к результату этапа 3 Разработка правил агрегации и декомпозиции подзадач, параметрически зависящих от Требования к результату этапа 3 Разработка правил агрегации и декомпозиции подзадач, параметрически зависящих от числа CPU системы и обеспечивающих: Соответствие количества подзадач числу CPU. Одинаковую вычислительная сложность подзадач. Равномерную интенсивность информационных взаимодействий для всех подзадач. Локальность схемы не хуже, чем до масштабирования. 35

Этапы разработки параллельных алгоритмов 4. Распределение подзадач между CPU. Необходимо для МВС с распределенной Этапы разработки параллельных алгоритмов 4. Распределение подзадач между CPU. Необходимо для МВС с распределенной памятью. Не требуется, если 1) число подзадач = количеству CPU 2) все CPU связаны напрямую (полный граф) Выполняется автоматически ОС для систем с общей памятью. 36

Принципы распределения подзадач Равномерность вычислительной нагрузки на CPU. Минимизация числа передаваемых сообщений. Размещение взаимодействующих Принципы распределения подзадач Равномерность вычислительной нагрузки на CPU. Минимизация числа передаваемых сообщений. Размещение взаимодействующих подзадач на CPU, связанных напрямую. НО: равномерность и минимизация – противоречие (все на 1 CPU), схема вычислений может меняться во время выполнения программы (неоднородная сетка, специфические данные и т. д. ) Типичная схема "менеджер – исполнитель" ( the manager-worker scheme ) 37