Смешанная модель параллельных вычислений OpenMP&MPI в программе газовой динамики Быков А.Н., Жданов А.С. (РФЯЦ-ВНИИЭФ, Россия) 17 мая 2013 г.

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



Advertisements
Похожие презентации
1 Система автоматизации распараллеливания. Отображение на SMP-кластер. Автор: Картавец Евгений Олегович Научные руководители: д.ф.-м.н. Крюков Виктор Алексеевич.
Advertisements

Расчеты развития неустойчивости на границе раздела газов по методике МЕДУЗА с выделением контактной линии в смешанных ячейках Барабанов Роман Анатольевич,
OpenMP. Различие между тредами и процессами ПроцессыТреды.
Система автоматизации распараллеливания: отображение на мультипроцессор Выполнил: студент 528 группы Лойко Михаил Юрьевич Научный руководитель: профессор,
Гибридная модель параллельного программирования DVM/OpenMP Бахтин В.А. ИПМ им.М.В.Келдыша РАН г. Москва, 20 марта 2008 г.
Сравнение различных способов декомпозиции сеточной области при численном решении уравнения переноса Е.А. Данилкин, А.В. Старченко Томский государственный.
Стадник Е. Г. ФПМИ НГТУ Руководитель: Городничев М.А., м.н.с. ИВМ и МГ СО РАН.
Параллельная реализация экономичных методов параболических задач.
Система автоматизации распараллеливания: DVM-эксперт Блюменберг Э.П. 528 Научный руководитель: профессор В.А. Крюков.
Сравнительный анализ некоторых методов композиции вычислительных подобластей студент: Данилин Александр научный руководитель: Илюшин Александр Иванович.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Лекция 3 Томский политехнический.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Томский политехнический университет.
Московский государственный университет им. М. В. Ломоносова Факультет вычислительной математики и кибернетики Кафедра вычислительных методов Дипломная.
Многопоточное программирование в OpenMP Киреев Сергей ИВМиМГ.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Лекция 2 Томский политехнический.
Исследование физических моделей Преподаватель Иванская С.А.
Исследование эффективности параллельного алгоритма Монте-Карло моделирования внутренних свободномолекулярных течений Хохлов И.А. 4-й курс Московский физико-технический.
Выполнил студент группы А Буренков Сергей Александрович. Научный руководитель к.т.н., доцент Шамаева Ольга Юрьевна. ОРГАНИЗАЦИЯ И ИССЛЕДОВАНИЕ ПАРАЛЛЕЛЬНО-ПОСЛЕДОВАТЕЛЬНЫХ.
Интернет Университет Суперкомпьютерных технологий Лекция 1 Основные понятия Учебный курс Введение в параллельные алгоритмы Якобовский М.В., д.ф.-м.н. Институт.
МГУ им. М.В. Ломоносова, Москва, 21 октября 2011г. КОНСОРЦИУМ УНИВЕРСИТЕТОВ РОССИИ Курс: «Технология параллельного программирования OpenMP» Лабораторная.
Транксрипт:

Смешанная модель параллельных вычислений OpenMP&MPI в программе газовой динамики Быков А.Н., Жданов А.С. (РФЯЦ-ВНИИЭФ, Россия) 17 мая 2013 г.

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

Две базовые модели параллельных вычислений: вычисления на распределенной между процессорами памяти. Взаимодействие между процессами осуществляется посредством передачи сообщений, параллельные вычисления на общем поле памяти. Модель, в которой представлены оба базовых типа, называется смешанной.

В настоящее время существуют де факто два стандарта, определяющие набор функций для обеспечения параллельных вычислений. Стандарт MPI (и соответствующая библиотека) определяет схему и базовые процедуры взаимодействия процессов посредством обмена сообщениями. Стандарт OpenMP разработан для обеспечения взаимодействия между процессами на общей памяти. В отличие от MPI, он представляет собой набор директив, встраиваемых в тело программы.

Система уравнений газовой динамики

Декомпозиция области решения по процессорам ЛинейкаСтолбики

Обмен гранями Схема обмена гранями для одного из процессоров

Параллельно-конвейерный метод Схема параллельно-конвейерного метода для линейки из 4 процессоров (P1-P4) на четыре момента времени (t1-t4)

subroutine parallel(……) !Приём и отправка данных call MPI_IRECV(…) call MPI_ISEND(…) !Вычисления без учёта данных других процессов call serial(2,kb-1,2,lb) !Ожидание данных call MPI_WAIT(…) !Вычисления с использованием полученных данных call serial(kb,kb,2,lb) !Ожидание завершения отправки данных call MPI_WAIT(…) end Распределение вычислений происходит вне процедур и обеспечивается заданием их параметров.

Алгоритм процедур представляет собой трёхмерный цикл, изменяя диапазон итераций циклов можно выделить нужную подобласть из области решения subroutine serial(kn,kv,ln,lv) ………………………… do lm = kn, kv do mm = ln, lv do km = 2, mb !Вычисление термодинамических характеристик !ячеек ………………………… enddo end

Схема работы программы на основе OpenMP внутри MPI процесса создание потоков описание области видимости переменных обеспечение корректной работы процедур интерфейса MPI распределение итераций вычислительного цикла между потоками

subroutine parallel(……) !$OMP MASTER call MPI_IRECV(…) call MPI_ISEND(…) !$OMP END MASTER call serial(2,kb-1,2,lb) !$OMP BARRIER !$OMP MASTER call MPI_WAIT(…) !$OMP END MASTER call serial(kb,kb,2,lb) !$OMP BARRIER !$OMP MASTER call MPI_WAIT(…) !$OMP END MASTER end subroutine sub(……) ………………………… !$OMP PARALLEL call parallel(……) !$OMP END PARALLEL ………………………… end

итерации по двум направлениям независимы и могут выполняться параллельно; на каждом шаге используется своя область памяти; объём вычислений для разных итераций примерно одинаков Характеристики итерационного алгоритма решения данного класса задач, определяющие механизм распределения вычислительной работы

subroutine serial(kn,kv,ln,lv) ………………………… !определение диапазона итераций для данного потока call iteration (ln,lv,kn,kv) do lm = kn, kv do mm = ln, lv do km = 2, mb !Вычисление термодинамических характеристик !ячеек ………………………… enddo end

subroutine iteration (ln,lb,kn,kb) !n-число потоков в группе n=omp_get_max_threads() !i-номер потока i=omp_get_thread_num () !проверка на совпадение границ диапазона (ln,lb) if (ln.ne.lb) then !len- общее число итераций len=lb-ln+1 !chunk- число итераций для каждого потока chunk=len/n ln=………………………… lb=………………………… else !распределение итераций по направлению (kn,kb) end if end

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

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

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

Постановка задачи об адиабатическом разлете трехосного газового эллипсоида в вакуум В трехосном эллипсоиде с полуосями а х =1, а y =1, а z =1 заполненном газом с показателем адиабаты =1.4, задано начальное распределение плотности и удельной внутренней энергии:

Исследование эффективности программы Режим дробления - с увеличением числа процессоров объём вычислений на каждом процессорре уменьшается, число точек во всей задаче фиксированно. S p = t 1 / t p - ускорение E p = S p / P - эффективностьраспараллеливания P - число процессоров t 1 - время счета на одном процессоре t p - время счета на P процессорах

Эффективность программ на основе MPI и OpenMP&MPI

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

Выполнение последовательной программы в группе на узле Число процессо в Замедление Эффективность (%)

Экспериментальная и оценочная эффективность Подставляя эффективность программы на основе MPI - E p mod1 и фиксируя параметры k=6, C p =1и E k mod2 (эффективность OpenMP на одном узле) в формулу: получим оценку сверху эффективности распараллеливания смешанной модели.

Экспериментальная и оценочная эффективность программы

Экспериментальная и оценочная эффективность программы решения двумерного стационарного уравнения переноса (автор Запасская А.С)

Заключение Выполнен теоретический анализ эффективности смешанной модели. Полученные оценки позволяют прогнозировать эффективность смешанной модели (MPI&OpenMP) на основе эффективности модели с передачей сообщений (MPI). Разработана параллельная программа газовой динамики, реализующая смешанную модель параллельных вычислений. В результате численных экспериментов получено, что для данной программы на данной вычислительной системе ни одна из моделей не имеет существенных преимуществ перед другой.