Fortan OpenMP/DVM - язык параллельного программирования для кластеров В.А. Бахтин, Н.А. Коновалов, В.А. Крюков, Н.В. Поддерюгина Институт прикладной математики.

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



Advertisements
Похожие презентации
Методика распараллеливания программ в модели DVM Институт прикладной математики им. М.В.Келдыша РАН
Advertisements

Гибридная модель параллельного программирования DVM/OpenMP Бахтин В.А. ИПМ им.М.В.Келдыша РАН г. Москва, 20 марта 2008 г.
Большая вычислительная задача Математическая модель (система УРЧП) в подпространстве R 3 t Дискретизация УРЧП - система линейных и нелинейных уравнений.
Модель параллелизма по данным и управлению. DVM Эта модель (1993 г.), положенная в основу языков параллельного программирования Фортран-DVM и Си- DVM,
1 Система автоматизации распараллеливания. Отображение на SMP-кластер. Автор: Картавец Евгений Олегович Научные руководители: д.ф.-м.н. Крюков Виктор Алексеевич.
Система автоматизации распараллеливания: DVM-эксперт Блюменберг Э.П. 528 Научный руководитель: профессор В.А. Крюков.
Система автоматизации распараллеливания: DVM-эксперт Студент 528 группы Нгуен Минь Дык Научный руководитель: Профессор, д. ф.-м. н. Крюков Виктор Алексеевич.
П РЕОБРАЗОВАНИЕ ПРОГРАММ НА ЯЗЫКЕ C-DVM В ПРОГРАММЫ ДЛЯ КЛАСТЕРОВ выполнила: студентка 527 группы Коваленко Алина Игоревна научный руководитель: профессор,
ИНСТИТУТ ПРОБЛЕМ ПРОЕКТИРОВАНИЯ В МИКРОЭЛЕКТРОНИКЕ РАН (ИППМ) Способы регулирования вычислений в параллельной потоковой вычислительной системе Д.Н. Змеев,
Система автоматизации распараллеливания: отображение на мультипроцессор Выполнил: студент 528 группы Лойко Михаил Юрьевич Научный руководитель: профессор,
Гибридная модель параллельного программирования DVM/OpenMP Бахтин В.А. ИПМ им.М.В.Келдыша РАН г. Москва, 5 февраля 2008 г.
Методы анализа и предсказания эффективности DVM-программ В.Н.Ильяков, Н.В.Ковалева, В.А.Крюков Институт прикладной математики им. М.В. Келдыша РАН, г.
Интернет Университет Суперкомпьютерных технологий Лекция 3 Методы построения параллельных программ Учебный курс Введение в параллельные алгоритмы Якобовский.
Система фрагментированного программирования Перепелкин В.А. Всероссийская молодежная школа по параллельному программированию МО ВВС ИВМиМГ 2009 г.
Принципы разработки параллельных алгоритмов. Введение Для определения эффективных способов организации параллельных вычислений необходимо: Выполнить анализ.
Все процессоры выполняют одну и ту же программу ВС класса SIMD.
Интернет Университет Суперкомпьютерных технологий Отладка эффективности OpenMP- программ. Учебный курс Параллельное программирование с OpenMP Бахтин В.А.,
МГУ им. М.В. Ломоносова, Москва, 21 октября 2011г. КОНСОРЦИУМ УНИВЕРСИТЕТОВ РОССИИ Курс: «Технология параллельного программирования OpenMP» Лабораторная.
Интернет Университет Суперкомпьютерных технологий Лекция 1 Основные понятия Учебный курс Введение в параллельные алгоритмы Якобовский М.В., д.ф.-м.н. Институт.
Адаптивный метод распределения SPMD-заданий в грид Паньшенсков Михаил, 545 группа Научный руководитель: Лукичев А.С. Рецензент: Демьянович Ю.К июня.
Транксрипт:

Fortan OpenMP/DVM - язык параллельного программирования для кластеров В.А. Бахтин, Н.А. Коновалов, В.А. Крюков, Н.В. Поддерюгина Институт прикладной математики им. М.В.Келдыша РАН

OpenMP Fortran Высокоуровневая модель параллелизма с общей памятью Директивы, функции системы поддержки, системные переменные Спецкомментарии Недостатки: Локализация данных и вычислений Явная синхронизация общих данных

Fortran-DVM Высокоуровневая модель параллелизма без явной ориентации на общую или распределенную память Директивы - спец комментарии Согласованное распределение данных и вычислений (локализация) Не требует явной синхронизации при работе с общими данными

Fortran OpenMP/DVM Цели: Расширение сферы применения модели DVM (OpenMP-программы) Расширение сферы использования OpenMP (системы с распределенной памятью)

Директивы распределения данных и вычислений DISTRIBUTE - распределение массива на многомерную решетку виртуальных процессоров ALIGN - распределение массива в соответствии с распределением другого массива PARALLEL - распределение витков цикла в соответствии с распределением массива MAP - распределение задач на секции решетки виртуальных процессоров

Отображение последовательной программы Массив виртуальных процессоров Массивы Циклы Массив задач Физические процессоры PARALLEL ALIGN DISTRIBUTE MAP

Общие данные REDUCTION - редукционные данные CONSISTENT - консистентные данные SHADOW - «соседние» данные ACROSS - «соседние» данные с информационными связями REMOTE - удаленные данные

Схема компиляции Fortran-DVM Fortran OpenMP/DVM Транслятор DVM Транслятор OpenMP HPF Fortran + вызовы LibDVM OpenMP Fortran

Распределение данных Рассмотрим некоторую дискретную область моделирования (массив). Если в каждой точке модели выполняется одинаковое количество вычислений, то мы будем называть эти вычисления однородными, иначе неоднородными. real A(12), B(6) Распределение массивов с однородными вычислениями описывается директивой DISTRIBUTE: CDVM$DISTRIBUTE A(BLOCK) CDVM$ DISTRIBUTE B(BLOCK) node1 node2 node3 node4 A 1,2,3 4,5,6 7,8,9 10,11,12 B 1,2 3,4 5 6

Распределение данных real B(6), WB(6) Распределение массива с неоднородными вычислениями описывается директивой: CDVM$ DISTRIBUTE B(WGT_BLOCK(WB,6)) data WB /1., 0.5, 0.5, 0,5, 0.5, 1./ node1 node2 node3 node4 B 1 2,3 4,5 6 Данные и вычисления распределяются таким образом, чтобы суммы весов вычислений на каждом процессоре были пропорциональны весам (производительности) процессоров.

Тесты NAS BT3D Навье-Стокс, метод переменных направлений CGОценка наибольшего собственного значения симметричной разреженной матрицы EPГенерация пар случайных чисел Гаусса FTБыстрое преобразование Фурье, 3D спектральный метод ISПараллельная сортировка LU3D Навье-Стокс, метод верхней релаксации MG3D уравнение Пуассона, метод Multigrid SP3D Навье-Стокс, Beam-Warning approximate factorization

Неоднородный кластер Неоднородный кластер был промоделирован на машине МВС-1000М с увеличением процессорных времен между последовательными обращениями к MPI функциям. В следующих диаграммах будет показано изменение времени выполнения MPI и DVM версий тестов NAS (класс С) на следующих конфигурациях: CL1 – 128 процессоров со скоростью выполнения P, CL2 – 128 процессоров со скоростью выполнения 3P, CL3 – 128 процессоров со скоростью выполнения P и 128 процессоров со скоростью выполнения 3P (неоднородный кластер).

Неоднородность коммуникационной среды Способы адаптации к медленным коммуникационным каналам: сокращение количества обменов => борьба с высокой латентностью - использование языковых средств для группировки операций, требующих обмены (редукции, доступ к удаленным элементам) и дублирования вычислений вместо обмена данных - автоматический выбор конфигурации решетки виртуальных процессоров и их отображения на физические процессоры для сокращения количества обменов через медленные коммуникационные каналы сокращение объема передаваемой информации посредством использования языковых средств дублирования вычислений вместо обмена данных и автоматической упаковки сообщений => борьба с низкой пропускной способностью сокращение вычислений, распределяемых на физические процессоры, связанные между собой медленными коммуникационными каналами => балансировка общей загрузки процессоров