Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемhpcc.unn.ru
1 Смешанная модель параллельных вычислений OpenMP&MPI в программе газовой динамики Быков А.Н., Жданов А.С. (РФЯЦ-ВНИИЭФ, Россия) 17 мая 2013 г.
2 Задачи численного моделирования трехмерных нестационарных физических процессов при разработке специальной техники требуют больших вычислительных ресурсов. Достижение необходимого уровня быстродействия программ при решении таких задач невозможно без применения параллельных вычислений.
3 Две базовые модели параллельных вычислений: вычисления на распределенной между процессорами памяти. Взаимодействие между процессами осуществляется посредством передачи сообщений, параллельные вычисления на общем поле памяти. Модель, в которой представлены оба базовых типа, называется смешанной.
4 В настоящее время существуют де факто два стандарта, определяющие набор функций для обеспечения параллельных вычислений. Стандарт MPI (и соответствующая библиотека) определяет схему и базовые процедуры взаимодействия процессов посредством обмена сообщениями. Стандарт OpenMP разработан для обеспечения взаимодействия между процессами на общей памяти. В отличие от MPI, он представляет собой набор директив, встраиваемых в тело программы.
5 Система уравнений газовой динамики
6 Декомпозиция области решения по процессорам ЛинейкаСтолбики
7 Обмен гранями Схема обмена гранями для одного из процессоров
8 Параллельно-конвейерный метод Схема параллельно-конвейерного метода для линейки из 4 процессоров (P1-P4) на четыре момента времени (t1-t4)
9 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 Распределение вычислений происходит вне процедур и обеспечивается заданием их параметров.
10 Алгоритм процедур представляет собой трёхмерный цикл, изменяя диапазон итераций циклов можно выделить нужную подобласть из области решения subroutine serial(kn,kv,ln,lv) ………………………… do lm = kn, kv do mm = ln, lv do km = 2, mb !Вычисление термодинамических характеристик !ячеек ………………………… enddo end
11 Схема работы программы на основе OpenMP внутри MPI процесса создание потоков описание области видимости переменных обеспечение корректной работы процедур интерфейса MPI распределение итераций вычислительного цикла между потоками
12 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
13 итерации по двум направлениям независимы и могут выполняться параллельно; на каждом шаге используется своя область памяти; объём вычислений для разных итераций примерно одинаков Характеристики итерационного алгоритма решения данного класса задач, определяющие механизм распределения вычислительной работы
14 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
15 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
16 Модели параллельных вычислений время работы алгоритма, реализующего модель параллельных вычислений -время последовательного выполнения алгоритма - время, затраченное на обеспечение параллельных вычислений p - число процессоров -время работы алгоритма при отсутствие издержек и - коэффициент кэширования
17 критерии оценки параллельных вычислений ускорение эффективность Используя, находим : - время издержек при использовании параллельной модели, нормированное относительно времени работы алгоритма
18 время выполнения алгоритма, реализующего модели mod1 и mod2 на процессорах Проведя алгебраические преобразования, найдём зависимость эффективности смешанной модели от эффективностей чистых моделей и при определенных числе процессоров и коэффициенте кэширования :
19 Постановка задачи об адиабатическом разлете трехосного газового эллипсоида в вакуум В трехосном эллипсоиде с полуосями а х =1, а y =1, а z =1 заполненном газом с показателем адиабаты =1.4, задано начальное распределение плотности и удельной внутренней энергии:
20 Исследование эффективности программы Режим дробления - с увеличением числа процессоров объём вычислений на каждом процессорре уменьшается, число точек во всей задаче фиксированно. S p = t 1 / t p - ускорение E p = S p / P - эффективностьраспараллеливания P - число процессоров t 1 - время счета на одном процессоре t p - время счета на P процессорах
21 Эффективность программ на основе MPI и OpenMP&MPI
22 Влияние аппаратных особенностей кластерной системы на эффективность программы Для определения масштаба влияния этого фактора на эффективность вычислений несколько идентичных последовательных задач выполнены на одном узле. Из графика видно, что основное падение эффективности происходит на 6 процессорах, то есть на одном узле. Поэтому было высказано предположение, что снижение эффективности определяется не возрастанием коммуникационной нагрузки, а тем, что системная шина узла не справляется с передачей данных между процессорами и оперативной памятью.
23 Выполнение последовательной программы в группе на узле Число процессо в Замедление Эффективность (%)
24 Экспериментальная и оценочная эффективность Подставляя эффективность программы на основе MPI - E p mod1 и фиксируя параметры k=6, C p =1и E k mod2 (эффективность OpenMP на одном узле) в формулу: получим оценку сверху эффективности распараллеливания смешанной модели.
25 Экспериментальная и оценочная эффективность программы
26 Экспериментальная и оценочная эффективность программы решения двумерного стационарного уравнения переноса (автор Запасская А.С)
27 Заключение Выполнен теоретический анализ эффективности смешанной модели. Полученные оценки позволяют прогнозировать эффективность смешанной модели (MPI&OpenMP) на основе эффективности модели с передачей сообщений (MPI). Разработана параллельная программа газовой динамики, реализующая смешанную модель параллельных вычислений. В результате численных экспериментов получено, что для данной программы на данной вычислительной системе ни одна из моделей не имеет существенных преимуществ перед другой.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.