Балансировка загрузки процессоров Институт математического моделирования Российской академии наук

Содержание

Слайд 2

Задачи большого вызова (Kenneth G. Wilson, Cornell University, 1987)

Вычислительная газовая динамика:
Создание летательных

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

Слайд 3

Дозвуковая аэродинамическая труба Т-104, ЦАГИ

Скорость потока 10–120 м/с
Диаметр сопла 7 м
Длина рабочей

Дозвуковая аэродинамическая труба Т-104, ЦАГИ Скорость потока 10–120 м/с Диаметр сопла 7
части 13 м
Мощность вентилятора 28.4 МВт
http://www.tsagi.ru/rus/base/t104

Суперкомпьютер СКИФ МГУ «ЧЕБЫШЁВ»
Пиковая производительность 60 TFlop/s
Мощность комплекса 0.72 МВт
http://parallel.ru/cluster/skif_msu.html

Слайд 8

Суперкомпьютеры

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

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

Слайд 9

Суперкомпьютеры

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

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

Слайд 12

НЕВЯЗКОЕ ОБТЕКАНИЕ КУЗОВА АВТОМОБИЛЯ (М = 0.12)

СЕТКА: 430 949 УЗЛОВ, 2 430 306

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

Слайд 13

Сетка: 209 028 730 узлов, 1 244 316 672 тетраэдра (24 Гб)
МВС:

Сетка: 209 028 730 узлов, 1 244 316 672 тетраэдра (24 Гб)
МВС-100К
1. Запуск задачи на 128, 192, 256, 320, 384 и 437 модулях с порождением 2 и 4 параллельных MPI процессов (до 1748 параллельных процессов).
2. Запуск задачи на 437 модулях в рамках гибридной модели параллелизма MPI + OpenMP (3496 параллельных процессов)

НЕВЯЗКОЕ ОБТЕКАНИЕ КУЗОВА АВТОМОБИЛЯ

Слайд 14

Суперкомпьютеры

МСЦ РАН: процессор: Intel(R) Xeon(R) CPU X5365 @ 3.00GHz
ядер на узел:

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

Слайд 15

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва

Акустика
Вычислительные эксперименты по ЗПК

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

Слайд 16

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва

Звукопоглощающие конструкции

Панель ЗПК

Расчетная область

Резонатор

Акустические

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

Сотовая конструкция
резонаторов

Перфорированный экран

Слайд 17

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва

Эксперимент 1: Модель

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


2D задача

Концентрация сетки около горла резонатора

Размер сетки до 90К узлов

3D задача

Размер сетки до 1М узлов

Слайд 18

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва

3D импедансная труба

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


Течение в отверстии резонаторной камеры

Слайд 19

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва


Эффект свиста

Слой смешения

Возмущения

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва Эффект свиста Слой
плотности

Эксперимент 2: 2D канал с резонаторами (2/2)

Слайд 20

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва

Базовая численная схема (1/2)

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва Базовая численная схема

Декартова сетка

Неструктурированная треугольная сетка

Медианные ячейки

Ячейки на центрах описанных окружностей

2D контрольные объемы

3D контрольные объемы

Декартова сетка

Неструктурированная тетраэдральная сетка

Слайд 21

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва

Базовая численная схема

Пространственный шаблон

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва Базовая численная схема
для определения потока между узлами I и J


2D треугольная сетка

3D тетраэдральная сетка

2D шаблон высокого порядка:
Противопоточные треугольники + соседи

3D шаблон высокого порядка:
Противопоточные тетраэдры + соседи

(сложность для распараллеливания)

Слайд 22

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва

Канал с 5 резонаторами

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва Канал с 5

Уравнения Эйлера, нет погранслоя, М=0.4

Возмущения плотности

Применимость не только суперкомпьютеров, но и Grid технологий

Слайд 23

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва

Heat and Mass Transfer

Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва Heat and Mass
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 задача – импедансная труба.
Размер сетки 80 000 узлов, схема 5-го порядка

Пример разбиения сетки

Слайд 24

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

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

Слайд 25

Равномерное распределение суммарного веса узлов/рёбер
Минимизация максимального веса исходящих из домена ребер
Минимизация суммарного

Равномерное распределение суммарного веса узлов/рёбер Минимизация максимального веса исходящих из домена ребер
веса разрезанных ребер
Минимизация максимальной степени доменов
Обеспечение связности доменов
Обеспечение связности множества внутренних узлов доменов

А.Н. Андрианов, А.В. Жохова, Б.Н. Четверушкин
Процессоров 11 31 47 63
New_sort 13.59 5.59 4.38 4.16
METIS 13.61 11.00 11.10 10.56

Критерии декомпозиции графов

Слайд 26

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

6.25

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

Слайд 27

25/4=

6.25

25/4= 6.25

Слайд 28

25/4=

4

6

9

6.25

25/4= 4 6 9 6.25

Слайд 29

25/4 = 4 ? 6 ? 9

Разрезать решетку 5 х 5 на

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

Слайд 30

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

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

Слайд 31

25/4 = 4 ? 6 ? 9
Дисбаланс 9/4=2.25

Декомпозиция решетки 5 х 5

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

4

6

9

6

Слайд 32

25/4 = 4 ? 6 ? 9

Дисбаланс 13/12 : 8%

Декомпозиция решетки 5

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

Слайд 33

25/4 = 4 ? 6 ? 9

Дисбаланс 7/6 : 17%

Декомпозиция решетки 5

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

Слайд 34

25/4 = 4 ? 6 ? 9
Дисбаланс 9/4=2.25

Декомпозиция решетки 5 х 5

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

4

6

9

6

Слайд 35

25/4 = 4 ? 6 ? 9
Дисбаланс 9/4=2.25

Декомпозиция решетки 5 х 5

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

4

6

9

6

Слайд 36


Дисбаланс 9/4=2.25

25/4 = 4 ? 6 ? 9

Декомпозиция решетки 5 х 5

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

4

6

9

6

Потери 9/6.25=1.44
Потери 9/7=1.29

Слайд 37

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

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

Слайд 38

Разбиение тетраэдральной сетки, содержащей 2∙108 узлов, на 125 процессорах

вычисления производились на кластере

Разбиение тетраэдральной сетки, содержащей 2∙108 узлов, на 125 процессорах вычисления производились на
СКИФ МГу (1250 4-хядерных процессоров, 60 TFlop/s)

Слайд 39

Фрагмент треугольной сетки из 75790 вершин

результат геометрической декомпозиции

результат перераспределения малых блоков вершин

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

Слайд 40

Иерархический алгоритм

Огрубление

Восстановление

Декомпозиция

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

Слайд 41

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


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

Слайд 42

Локальное уточнение

1

3

5

4

2

6

7

1

3

5

4

2

6

7

Kernighan-Lin (KL)
и Fiduccia-Mattheyses (FM)

Локальное уточнение 1 3 5 4 2 6 7 1 3 5

Слайд 43

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

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

Слайд 44


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

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

Слайд 45

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

 

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

Слайд 46

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

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

Слайд 47

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

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

Слайд 48

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

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

Слайд 49

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

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

Слайд 50

Адаптивные сетки

Обтекание профиля NACA0012 (M=0.85, Re=104) под нулевым углом атаки:

Поле продольной скорости

Фрагмент сетки

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

Слайд 51

Равномерная сетка

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

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

Слайд 52

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

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

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

Слайд 53

Адаптивные декартовы сетки

Вначале сетка состоит из одной прямоугольной ячейки
Каждая ячейка может быть

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

Дополнительные ограничения на размеры ячеек:
Задан максимально допустимый размер ячеек
Задан минимально допустимый размер ячеек
Размеры соседних ячеек должны различаться не более, чем в 2 раза

Слайд 54

На рисунках показаны результаты решения простейшей задачи переноса на равномерной (слева) и

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

Сравнение с равномерной сеткой

Слайд 55

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

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

Слайд 56

Решение двумерной задачи фильтрации нефтеводяной смеси в области с неоднородной проницаемостью

В юго-западном углу находится

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

Слайд 57

Решение двумерной задачи фильтрации нефтеводяной смеси в области с неоднородной проницаемостью

В юго-западном углу находится

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

Слайд 58

Динамическая балансировка загрузки

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

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

Слайд 59

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

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

Слайд 60

Нумерация с помощью кривой Гильберта

Формируется простой рекурсивной процедурой
Локальное изменение сетки приводит к

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

Слайд 61

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

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

Слайд 63

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

Wij - вычислительная нагрузка, ассоциированная с узлом сетки i на

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

Статическая

Динамическая диффузная

Динамическая
?

Слайд 64

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

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

Слайд 66


Здесь A оператор, ρ - плотность,
y(i) – массовые доли i-х компонент,

Здесь A оператор, ρ - плотность, y(i) – массовые доли i-х компонент,

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

Моделирование задач горения

Слайд 67

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

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

Слайд 68

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

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

Слайд 69

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

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

Слайд 70

Сотояния обрабатывающего процесса

занят - если установлен соответствующий флаг. Этот флаг устанавливается перед

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

Слайд 71

Управляющий процесс

1. если - есть необработанные точки (неважно локальные или внешние) и -

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

Слайд 72

Управляющий процесс

2. если - нет локальных необработанных точек и - нет внешних точек и -

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

Слайд 73

Управляющий процесс

Иначе (если не 2)
3. если - все переданные точки получены обратно обработанными

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

Слайд 74

Управляющий процесс

4. получить очередное сообщение от любого процессора или от своего обрабатывающего

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

Слайд 75

Окончание при выполнение всех условий:

нет локальных необработанных точек
нет внешних точек
нет обрабатываемых точек
всем

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

Слайд 76

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

speedup

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

Слайд 77

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

Схема взаимодействия процессов
Имя файла: Балансировка-загрузки-процессоров-Институт-математического-моделирования-Российской-академии-наук.pptx
Количество просмотров: 497
Количество скачиваний: 0