Балансировка загрузки процессоров Институт математического моделирования Российской академии наук mail: lira@imamod.rulira@imamod.ru web:

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



Advertisements
Похожие презентации
Интернет Университет Суперкомпьютерных технологий Лекция 4 Методы построения параллельных программ (продолжение) Учебный курс Введение в параллельные алгоритмы.
Advertisements

Интернет Университет Суперкомпьютерных технологий Лекция 3 Методы построения параллельных программ (продолжение) Учебный курс Введение в параллельные алгоритмы.
Интернет Университет Суперкомпьютерных технологий Лекция 3 Методы построения параллельных программ (продолжение) Учебный курс Введение в параллельные алгоритмы.
Интернет Университет Суперкомпьютерных технологий Лекция 3 Методы построения параллельных программ Учебный курс Введение в параллельные алгоритмы Якобовский.
Таблица умножения на 8. Разработан: Бычкуновой О.В. г.Красноярск год.

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

Балансировка загрузки процессоров Институт математического моделирования Российской академии наук mail: web: Нижний Новгород 2009 М.В.Якобовский

Задачи большого вызова (Kenneth G. Wilson, Cornell University, 1987) Вычислительная газовая динамика: – Создание летательных аппаратов, эффективных автомобилей – Предсказание погоды, и глобальных климатических изменений – Оптимизация нефтедобычи, … Молекулярная динамика: – Создание материалов с заданными свойствами – Разработка новых лекарственных соединений – Сверхпроводимость, Свойства веществ в экстремальных состояниях, … Символьные вычисления – Распознавание речи – Компьютерное зрение – Изучение сложных систем – Автономные системы управления Квантовая хромодинамика и теория конденсированных сред Управляемый термоядерный синтез, Геном человека, … 2

Дозвуковая аэродинамическая труба Т-104, ЦАГИ Скорость потока 10–120 м/с Диаметр сопла 7 м Длина рабочей части 13 м Мощность вентилятора 28.4 МВт Суперкомпьютер СКИФ МГУ «ЧЕБЫШЁВ» Пиковая производительность 60 TFlop/s Мощность комплекса 0.72 МВт 3

4

5

6

7

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

Суперкомпьютеры Используются неэффективно и далеко не в полной мере Необходимы: – Вычислительное ядро: адаптация алгоритмов к архитектуре многопроцессорных систем с распределённой памятью – Специальное математическое обеспечение: визуализация, генерация сеток, рациональное разбиение на подобласти, динамическая балансировка загрузки процессоров, использование CAD-технологий, использование гетерогенных систем и GRID-технологий – Интеграция в единый программный комплекс 9

10

11

НЕВЯЗКОЕ ОБТЕКАНИЕ КУЗОВА АВТОМОБИЛЯ (М = 0.12) СЕТКА: УЗЛОВ, ТЕТРАЭДРОВ 12

Сетка: узлов, тетраэдра ( 24 Гб) МВС: МВС-100К 1. Запуск задачи на 128, 192, 256, 320, 384 и 437 модулях с порождением 2 и 4 параллельных MPI процессов (до 1748 параллельных процессов). 2. Запуск задачи на 437 модулях в рамках гибридной модели параллелизма MPI + OpenMP (3496 параллельных процессов) НЕВЯЗКОЕ ОБТЕКАНИЕ КУЗОВА АВТОМОБИЛЯ 13

Суперкомпьютеры МСЦ РАН: процессор: Intel(R) Xeon(R) CPU 3.00GHz ядер на узел: 8 память узла: 4/8 Гб число узлов: 782 (6256 ядер) коммуникации: InfiniBand DDR производительность: 75 TFLOPS СКИФ МГУ: процессор: Intel(R) Xeon(R) CPU 3.00GHz ядер на узел: 8 память узла: 8 Гб число узлов: 630 (5040 ядер) коммуникации: InfiniBand DDR производительность: 60 TFLOPS 14

Институт Математического Моделирования РАН , Mиусская пл. 4а, Москва Акустика Вычислительные эксперименты по ЗПК Акустика Вычислительные эксперименты по ЗПК

Институт Математического Моделирования РАН , Mиусская пл. 4а, Москва Звукопоглощающие конструкции Панель ЗПК Расчетная область Резонатор Акустические волны в импедансной трубе Сотовая конструкция резонаторов Перфорированный экран

Институт Математического Моделирования РАН , Mиусская пл. 4а, Москва Эксперимент 1: Модель 2D и 3D импедансной трубы 2D задача Концентрация сетки около горла резонатора Размер сетки до 90К узлов 3D задача Размер сетки до 1М узлов

Институт Математического Моделирования РАН , Mиусская пл. 4а, Москва 3D импедансная труба Течение в отверстии резонаторной камеры

Институт Математического Моделирования РАН , Mиусская пл. 4а, Москва Эффект свистаСлой смешения Возмущения плотности Эксперимент 2: 2D канал с резонаторами (2/2)

Институт Математического Моделирования РАН , Mиусская пл. 4а, Москва Базовая численная схема (1/2) Декартова сеткаНеструктурированная треугольная сетка Медианные ячейки Ячейки на центрах описанных окружностей 2D контрольные объемы 3D контрольные объемы Декартова сеткаНеструктурированная тетраэдральная сетка

Институт Математического Моделирования РАН , Mиусская пл. 4а, Москва Базовая численная схема Пространственный шаблон для определения потока между узлами I и J 2D треугольная сетка 3D тетраэдральная сетка 2D шаблон высокого порядка: Противопоточные треугольники + соседи 3D шаблон высокого порядка: Противопоточные тетраэдры + соседи (сложность для распараллеливания)

Институт Математического Моделирования РАН , Mиусская пл. 4а, Москва Канал с 5 резонаторами Уравнения Эйлера, нет погранслоя, М=0.4 Возмущения плотности Применимость не только суперкомпьютеров, но и Grid технологий

Институт Математического Моделирования РАН , Mиусская пл. 4а, Москва Heat and Mass Transfer Technological Center Colom 11, E-08222, Terrassa, Barcelona, Spain Производительность вычислений Две различные параллельные системы использовались для тестов 1) Типичный малобюджетный кластер с обычной сетью Ethernet Узел: 2CPU Intel Xeon 3GHz Сеть: Ethernet 1Gbit 2) Продвинутый кластер с высокопроизводительной сетью низкой латентности Узел: 2CPU AMD Opteron 2.4Hz Сеть: Myrinet Эти системы имею существенно различное отношение производительности процессора и сети Тестовая задача: Модельная 2D задача – импедансная труба. Размер сетки узлов, схема 5-го порядка Пример разбиения сетки

Статическая балансировка загрузки 24

Равномерное распределение суммарного веса узлов/рёбер Минимизация максимального веса исходящих из домена ребер Минимизация суммарного веса разрезанных ребер Минимизация максимальной степени доменов Обеспечение связности доменов Обеспечение связности множества внутренних узлов доменов А.Н. Андрианов, А.В. Жохова, Б.Н. Четверушкин Процессоров New_sort METIS Критерии декомпозиции графов 25

Чему равно 25/4 ?

25/4=

25/4=

25/4 = 4 ? 6 ? 9 Разрезать решетку 5 х 5 на 4 части 29

Декомпозиция сетки из 25 узлов на 4 части 30

25/4 = 4 ? 6 ? 9 Дисбаланс 9/4=2.25 Декомпозиция решетки 5 х 5 на 4 домена

25/4 = 4 ? 6 ? 9 Дисбаланс 13/12 : 8% Декомпозиция решетки 5 х 5 на 2 домена 32

25/4 = 4 ? 6 ? 9 Дисбаланс 7/6 : 17% Декомпозиция решетки 5 х 5 на 4 домена 33

25/4 = 4 ? 6 ? 9 Дисбаланс 9/4=2.25 Декомпозиция решетки 5 х 5 на 4 домена

25/4 = 4 ? 6 ? 9 Дисбаланс 9/4=2.25 Декомпозиция решетки 5 х 5 на 4 домена

Дисбаланс 9/4= /4 = 4 ? 6 ? 9 Декомпозиция решетки 5 х 5 на 4 домена Потери 9/6.25=1.44 Потери 9/7=

Декомпозиция сетки 25х25 на 7 частей 37

Разбиение тетраэдральной сетки, содержащей узлов, на 125 процессорах вычисления производились на кластере СКИФ МГу ( хядерных процессоров, 60 TFlop/s) геометрическая декомпозиция ParMETIS число доменов время21 сек.10 сек. число вершин в домене мин.макс. среднее число связей с соседними доменами 14 число некомпактных доменов

Фрагмент треугольной сетки из вершин результат геометрической декомпозиции результат перераспределения малых блоков вершин 39

Иерархический алгоритм Огрубление Восстановлени е Декомпозиция 40

Огрубление графа 41

Локальное уточнение Kernighan-Lin (KL) и Fiduccia-Mattheyses (FM) 42

Связность ядер доменов 43

Инкрементный алгоритм декомпозиции графа 44

Редуцирование доменов 45

Инкрементный алгоритм, Dm=8 46

Инкрементный алгоритм, Dm=25 47

Результат локального разбиения сетки из вершин на 50 доменов на 5 процессорах 48

Результат сбора плохих групп доменов и их повторного разбиения 49

Адаптивные сетки Обтекание профиля NACA0012 (M=0.85, Re=10 4 ) под нулевым углом атаки: Поле продольной скоростиФрагмент сетки 50

Равномерная сетка Слева – ?? круглое ?? пятно примеси 51

Адаптивная сетка Слева – круглое пятно примеси 52

Адаптивные декартовы сетки Вначале сетка состоит из одной прямоугольной ячейки Каждая ячейка может быть разделена на четыре ячейки одинакового размера Если ячейки когда-то составляли одну ячейку, то они могут быть объединены обратно Каждая ячейка хранит величину, описывающую среднее значение неизвестной функции в пределах ячейки (метод конечных объёмов) При данных предположениях сетку удобно хранить в виде четверичного дерева: Дополнительные ограничения на размеры ячеек: Задан максимально допустимый размер ячеек Задан минимально допустимый размер ячеек Размеры соседних ячеек должны различаться не более, чем в 2 раза 53

На рисунках показаны результаты решения простейшей задачи переноса на равномерной (слева) и адаптивной (справа) сетках с одинаковым числом ячеек (4096 штук). Скорость переноса направлена под углом 45° к линиям сетки; начальное условие показано пунктиром Сравнение с равномерной сеткой 54

Адаптивная сетка 55

Решение двумерной задачи фильтрации нефтеводяной смеси в области с неоднородной проницаемостью В юго-западном углу находится скважина, нагнетающая воду, в северо- восточном углу добывающая скважина. 5-ти точечная схема Поле проницаемости с разбросом значений на 4 порядка). 56

Решение двумерной задачи фильтрации нефтеводяной смеси в области с неоднородной проницаемостью В юго-западном углу находится скважина, нагнетающая воду, в северо- восточном углу добывающая скважина. 5-ти точечная схема Поле проницаемости с разбросом значений на 4 порядка). 57

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

Декомпозиция пакетом Metis 59

Нумерация с помощью кривой Гильберта Формируется простой рекурсивной процедурой Локальное изменение сетки приводит к локальному изменению кривой 60

61 Диффузная балансировка Декомпозиция с помощью кривой Гильберта

62

Стратегии балансировки загрузки W i j - вычислительная нагрузка, ассоциированная с узлом сетки i на шаге j W i j = W i j – не зависит от времени W i j W i j-1 – меняется медленно W i j W i j-1 – меняется значительно и не прогнозируемо Статическая Динамическая диффузная Динамическая? 63

Моделирование задач горения на многопроцессорных системах 64

65

Здесь A оператор, - плотность, y (i) – массовые доли i-х компонент, u, v - скорости, p - давление, E – полная энергия, I – сорости образования компонент. I. Блок Газовой динамики (GD): II. Блок химической кинетики (CHEM): Моделирование задач горения 66

Блок схема алгоритма 67

Распределение времени счета

Структура и возможности алгоритма 69

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

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

Управляющий процесс 2. если - нет локальных необработанных точек и - нет внешних точек и - нет обрабатываемых точек и - флаг запроса на получение необработанных точек не установлен и - есть процессоры, которые еще не ответили, что не могут предоставить точки для обработки (соответствующий флаг флаг запрета обменов не установлен), то послать запрос на получение необработанных точек одному из таких процессоров. установить флаг запроса на получение необработанных точек

Управляющий процесс Иначе (если не 2) 3. если - все переданные точки получены обратно обработанными и - от всех процессоров получено сообщение о том, что точки для обработки предоставлены быть не могут и - всем процессорам послано сообщение о том, что точки для обработки предоставлены быть не могут, то завершение работы

Управляющий процесс 4. получить очередное сообщение от любого процессора или от своего обрабатывающего процесса. 5. обработать полученное сообщение 6. перейти к началу цикла (п. 1)

Окончание при выполнение всех условий: нет локальных необработанных точек нет внешних точек нет обрабатываемых точек всем процессорам был послан запрос на получение необработанных точек всем процессорам было послано сообщение о том, что необработанные точки предоставлены быть не могут от всех процессоров получено сообщение о том, что необработанные точки предоставлены быть не могут все локальные точки обработаны и получены результаты обработки всех переданных точек

Кластеры и эффективность speedup 76

Схема взаимодействия процессов

Выводы Балансировка загрузки процессоров – ключевой этап обеспечения высокой эффективности использования многопроцессорной системы. С ростом числа процессоров возрастает актуальность использования динамической балансировки загрузки 78