Разделы презентаций


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

Содержание

Оценка трудоемкости операции передачи данных между 2 узлами кластера Подход 1:tн не зависит от объема данных,tс не зависит от числа пакетов tпд = tн + mtк + tс Ограничения не соответствуют

Слайды и текст этой презентации

Слайд 12. Моделирование и анализ параллельных вычислений.
Коммуникационная трудоемкость параллельных алгоритмов для

кластеров (l = 1).
Основной способ выполнения коммуникационных операций – пакетный

метод

2. Моделирование и анализ параллельных вычислений.Коммуникационная трудоемкость параллельных алгоритмов  для кластеров (l = 1).Основной способ выполнения

Слайд 2Оценка трудоемкости операции передачи данных между 2 узлами кластера
Подход

1:
tн не зависит от объема данных,
tс не зависит от числа

пакетов

tпд = tн + mtк + tс

Ограничения не соответствуют действительности ?
Оценка времени (трудоемкости) неточна
Оценка трудоемкости операции передачи данных между 2 узлами кластера Подход 1:tн не зависит от объема данных,tс не

Слайд 3Оценка трудоемкости операции передачи данных между 2 узлами кластера
Подход

2:
Учитывается
n - число пакетов, n = m/(Vmax – Vc)


Vc - объем служебных данных в каждом пакете,
Vmax - максимально возможный для сети размер пакета,
tнач0 – аппаратная (сетевая) задержка (латентность),
tнач1 – время подготовки к передаче в сети 1 байта.


Оценка трудоемкости операции передачи данных между 2 узлами кластера Подход 2:Учитывается n - число пакетов, n =

Слайд 4Оценка трудоемкости операции передачи данных между 2 узлами кластера
Предполагается
Подготовка

данных для 2,3, … пакетов совмещена с пересылкой предшествующих пакетов.
Учитывается

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



Оценка трудоемкости операции передачи данных между 2 узлами кластера ПредполагаетсяПодготовка данных для 2,3, … пакетов совмещена с

Слайд 5Оценка трудоемкости операции передачи данных между 2 узлами кластера
Подход

2 – итоговое соотношение



Оценка трудоемкости операции передачи данных между 2 узлами кластера Подход 2 – итоговое соотношение

Слайд 6Оценка трудоемкости операции передачи данных между 2 узлами кластера
Подход

3 (упрощение подхода 1) – модель Хокни (R.W. Hocney, 1994)

– используется для грубых оценок трудоемкости
tпд = tн + mtк = tн + m/R

Оценки через вычислительные эксперименты на кластере:
tн - время передачи сообщения длины 0 для подходов 1 и 3,
tнач0 , tнач1 для подхода 2 - можно оценить через аппроксимацию tпд - времени передачи сообщений размером от 0 до Vmax
R = max (tпд / m) при варьировании m


Оценка трудоемкости операции передачи данных между 2 узлами кластера Подход 3 (упрощение подхода 1) – модель Хокни

Слайд 7Этапы разработки параллельных алгоритмов (распараллеливания)
1. Анализ общей схемы вычислений -

для разделения на независимые (относительно) подзадачи.
2. Определение информационных взаимодействий между

подзадачами.
3. Масштабирование алгоритма с учетом числа CPU (укрупнение или детализация подзадач).
4. Распределение подзадач между CPU системы

Примечание. Это общий подход, независимо от типа вычислительной системы, исходной задачи и метода решения.

Этапы разработки параллельных алгоритмов (распараллеливания)1. Анализ общей схемы вычислений -  для разделения на независимые (относительно) подзадачи.2.

Слайд 8Дополнительные предположения
Равномерность загрузки всех CPU (балансировка).
Минимизация коммуникационных взаимодействий между подзадачами.
Возможность

пересмотра шагов после анализа показателей производительности.
Информационные взаимодействия:
Передача сообщений для МВС

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

Слайд 9Этап 1 разработки параллельных алгоритмов
1. Разделение вычислений на

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

объем сообщений





Этап 1 разработки параллельных алгоритмов 1. Разделение вычислений   на независимые подзадачиТребования к подзадачам:Равные объемы вычисленийМинимум

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

схема Блочная схема

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

Слайд 11Сфера применимости – однотипная обработка большого набора данных:
Матричные вычисления
Численные методы

решения уравнений в частных производных.
Имеет место параллелизм по данным ?
Разделение

на подзадачи = разделение данных.
Возможны 1,2,3D наборы подзадач с информационными связями между ближайшими соседями – сетки, или решетки.

Сфера применимости – однотипная обработка большого набора данных:Матричные вычисленияЧисленные методы решения уравнений в частных производных.Имеет место параллелизм

Слайд 12Сетки, или решетки

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

Слайд 13Выполнение разных операций над одним набором данных – функциональный параллелизм
Обработка

разных запросов к БД
Одновременное выполнение разных алгоритмов для одних и

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

Выполнение разных операций над одним набором данных –  функциональный параллелизмОбработка разных запросов к БДОдновременное выполнение разных

Слайд 14Этап 2 разработки параллельных алгоритмов
2. Выделение информационных зависимостей
Взаимосвязан с этапом

1:
Выделение подзадач должно учитывать возможные информационные связи
Анализ объема информационных обменов

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

Слайд 15Формы информационного взаимодействия
Схемы передачи данных:
Локальные – обмен для части подзадач

(как правило, на соседних CPU).
Глобальные - обмен между всеми подзадачами.
Структурированные

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





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

Слайд 16Формы информационного взаимодействия
Схемы передачи данных:
Синхронные – операции передачи данных
начинают

выполняться только при готовности всех участников,
завершаются только по окончанию всех

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

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

Слайд 17Этап 3 разработки параллельных алгоритмов
3. Масштабирование
Необходимо, если число подзадач ≠

количеству CPU

Типы масштабирования:
Агрегация
Декомпозиция

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

Слайд 18Агрегация
Укрупнение вычислений для уменьшения числа подзадач.
В результате должно соблюдаться (см.

этап 1) :
Одинаковая вычислительная сложность подзадач.
Минимально возможный уровень объема и

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

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

выполняется до базовых задач – с известными параллельными алгоритмами решения

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

Слайд 20Этап 4 разработки параллельных алгоритмов
4. Распределение подзадач между CPU.
Необходимо

для МВС с распределенной памятью.
Не требуется, если
1) число подзадач =

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

Слайд 21Практические рекомендации
Анализируем задачу для выделения подзадач, которые могут выполняться одновременно
Изменяем

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

код для эффективного управления.
Реализуем параллельный алгоритм в исходном коде с помощью технологий параллельного программирования

Практические рекомендацииАнализируем задачу для выделения подзадач, которые могут выполняться одновременноИзменяем структуру задачи для эффективного выполнения подзадач:найти зависимости

Слайд 22Технологии параллельного программирования
В основе может быть:
Язык параллельного программирования.
Прикладной программный интерфейс

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

Технологии параллельного программированияВ основе может быть:Язык параллельного программирования.Прикладной программный интерфейс (API), реализованный с помощью библиотечного интерфейса.Расширение языка

Слайд 23Примеры технологий ПП
OpenMP: директивы компилятора для простого параллельного программирования.
MPI: библиотечные

подпрограммы для реализации высокоэффективной переносимости.
Java: параллельность заложена в языке программирования

на основе встроенных типов данных.
Примеры технологий ППOpenMP: директивы компилятора для простого параллельного программирования.MPI: библиотечные подпрограммы для реализации высокоэффективной переносимости.Java: параллельность заложена

Слайд 243. Основы технологии OpenMP.
Модель «fork-join».
Классификация переменных.
Основные директивы

и их опции.
Распараллеливание по данным и по операциям.
Решение

проблемы синхронизации.
3. Основы технологии OpenMP. Модель «fork-join». Классификация переменных. Основные директивы и их опции. Распараллеливание по данным и

Слайд 25 Технология разработки параллельных программ для МВС с общей памятью (OpenMP)
OpenMP (Open

Multi-Processing) —
открытый развивающийся стандарт для распараллеливания программ на языках С, С++, Fortran, 
включает

описание
директив компилятора,
библиотечных процедур,
переменных ОС,
для программирования многопоточных приложений для МВС с общей памятью (имеется версия и для кластеров).
Наиболее популярная задача OpenMP — написание программ, ориентированных на циклы
 Технология разработки параллельных программ для МВС с общей памятью (OpenMP)OpenMP (Open Multi-Processing) — открытый развивающийся стандарт для распараллеливания программ на языках

Слайд 26Модель программирования OpenMP
Разветвление-объединение (fork-join)
Работа программы начинается с одного (корневого) потока,

или нити (thread – нить, тред).
Для добавления в программу

параллелизма выполняется разветвление на несколько потоков, чтобы создать группу потоков.
Потоки группы выполняются параллельно в рамках фрагмента кода, т.наз. параллельного участка.
В конце параллельного участка все потоки заканчивают свою работу и снова объединяются вместе.
После этого корневой поток продолжает выполняться до тех пор, пока не начнется следующий параллельный участок (или не наступит конец программы).
Модель программирования OpenMPРазветвление-объединение (fork-join)Работа программы начинается с одного (корневого) потока, или нити (thread – нить, тред). Для

Слайд 27Модель программирования OpenMP

Модель программирования OpenMP

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика