Оценка эффективности параллельных вычислений Комышев Е. Г. гр. 12226.

Презентация:



Advertisements
Похожие презентации
Эффективность распараллеливания Оценки качества вычислительного алгоритма, системного ПО и аппаратуры Цель – оптимизация счета Критерии качества: Производительность.
Advertisements

Интернет Университет Суперкомпьютерных технологий Учебный курс Основы параллельных вычислений Гергель В.П., профессор, д.т.н. Нижегородский университет.
Анализ трудоёмкости алгоритмов Анализ трудоёмкости алгоритмов позволяет найти оптимальный алгоритм для решения данной задачи. трудоемкость алгоритма количество.
Исполнение программы Энциклопедия учителя информатики Газета «Первое сентября»
Архитектура ЭВМ (лекция 7) проф. Петрова И.Ю. Курс Информатики.
Основы параллельного программирования Посыпкин Михаил Анатольевич.
Алгоритм. Алгоритм это точно определённая инструкция, последовательно применяя которую к исходным данным, можно получить решение задачи. Для каждого алгоритма.
Машинная команда Энциклопедия учителя информатики Газета «Первое сентября»
Понятие сложности алгоритма Для практики недостаточно знать, что задача алгоритмически разрешима. Т. к. ресурсы ЭВМ (ОП и время процессора) ограничены,
Г ЛАВА 8: О ПТИМАЛЬНЫЙ РАЗМЕР ЗАКАЗА.. М ОДЕЛЬ ОПТИМАЛЬНОГО ИЛИ ЭКОНОМИЧЕСКОГО ЗАКАЗА Расчет производится на основе суммарных общих затрат, которые можно.
Введение Список литературы Бахвалов Н.С., Лапин А.В., Чижонков Е.В. Численные методы в задачах и упражнениях. – М.: Высшая школа, Копченова Н.В.,
Учебный курс Принципы построения и функционирования ЭВМ Лекция 11 Микрокоманды и микрооперации профессор ГУ-ВШЭ, доктор технических наук Геннадий Михайлович.
Характеристика процессора и внутренней памяти компьютера.
Система автоматизации распараллеливания: отображение на мультипроцессор Выполнил: студент 528 группы Лойко Михаил Юрьевич Научный руководитель: профессор,
Интернет Университет Суперкомпьютерных технологий Лекция 1 Основные понятия Учебный курс Введение в параллельные алгоритмы Якобовский М.В., д.ф.-м.н. Институт.
Использование понятия производной в экономике. Рассмотрим функциональную зависимость издержек производства о количества выпускаемой продукции. Обозначим:
Управление размером заказа при снабжении. Начало Наиболее распространенной моделью прикладной теории лоrистики является модель оптимальноrо или экономичноrо.
1.Модель Грэхэма-Ри 2.Двухэтапные модели дисконтирования дивидендов 1.Понятие модели дисконтирования дивидендов 2.Модель нулевого роста 3.Модель постоянного.
Выполнил: Горелов С.С. Под руководством: с.н.с. Афонин С.А., проф. Васенин В.А. Усечение пространства поиска в полуструктурированных данных при помощи.
Принципы разработки параллельных алгоритмов. Введение Для определения эффективных способов организации параллельных вычислений необходимо: Выполнить анализ.
Транксрипт:

Оценка эффективности параллельных вычислений Комышев Е. Г. гр

Ускорение Ускорение – это отношение времени последовательного к времени параллельного выполнения программы.

Метрика Метрика эффективности (efficiency) - показывает, насколько хорошо программа использует вычислительные ресурсы системы.

Пример 53-кратное ускорение на 64 ядрах даёт эффективность в 82.8% (53/64 = 0.828) => каждое ядро простаивает около 17% времени => каждое ядро простаивает около 17% времени

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

Оценка максимального достижимого параллелизма Закон Амдала Закон Густафсона

Закон Амдала W = Wск + Wпр, где W общее число операций в задаче, Wпр число операций, которые можно выполнять параллельно, а Wcк число скалярных (нераспараллеливаемых) операций. a = Wск /W удельный вес скалярных операций. Ускорение зависит от потенциального параллелизма задачи и числа ядер n. Предельное ускорение определяется свойствами задачи.

Пример 1) если 95% времени последовательного выполнения может выполняться параллельно на 8 ядрах, то оценочное ускорение, согласно закону Амдала, составит около 6x (1 / ( /8) = 5.925) 2) возьмем a = 0,2 (что является реальным значением), тогда ускорение не может превосходить 5 при любом числе процессоров, то есть максимальное ускорение определяется потенциальным параллелизмом задачи.

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

Закон Густафсона масштабируемое ускорение s – процент времени последовательного выполнения в параллельном приложении для указанного размера набора данных. + берёт в расчёт рост объёма данных в пропорции к росту количества ядер и рассчитывает (верхнюю границу) ускорения работы приложения, как если бы больший объём данных мог быть обработан последовательно

Пример Eсли 1% времени работы на 32 ядрах выполняется последовательно, то ускорение выполнения такого приложения на том же наборе данных по сравнению с выполнением на одном ядре с одним потоком равно:

Сравнение Закон Амдала: процент последовательного выполнения равен 1%, => 1/( (0.99/32)) = 24.43x – плохой результат. процент последовательного выполнения равен 1%, => 1/( (0.99/32)) = 24.43x – плохой результат. - оценён для выполнения на 32 ядрах Если код идеально масштабируемый и объём данных увеличивается соответственно количеству ядер, то процент может остаться прежним.

Сравнение Пусть общее время выполнения параллельного приложения составляет 1040 секунд на 32 ядрах. => 1% последовательного времени = 10.4 сек (параллельное время)*32(ядра)+10.4 = секунд. Непараллельное время (10.4 секунды) составляет 0.032% общего времени работы. Учитывая результат, закон Амдала даёт ускорение в 1/( ( /32)) = x.

Выводы Для использования закон Густафсона необходимо знать процент последовательного времени при параллельном выполнении => эта формула обычно используется для расчёта ускорения масштабируемого параллельного выполнения, по отношению к последовательному выполнению задачи того же размера. Cтрогое использование данных о выполнении программы в формуле закона Амдала даёт гораздо более пессимистическую оценку, чем формула масштабируемого ускорения.

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

Спасибо за внимание