'

Балансировка загрузки процессоров

Понравилась презентация – покажи это...





Слайд 0

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


Слайд 1

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


Слайд 2

Дозвуковая аэродинамическая труба Т-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 3


Слайд 3

4


Слайд 4

5


Слайд 5

6


Слайд 6

7


Слайд 7

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


Слайд 8

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


Слайд 9

10


Слайд 10

11


Слайд 11

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


Слайд 12

Сетка: 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 параллельных процессов) НЕВЯЗКОЕ ОБТЕКАНИЕ КУЗОВА АВТОМОБИЛЯ 13


Слайд 13

Суперкомпьютеры МСЦ РАН: процессор: 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 14


Слайд 14

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


Слайд 15

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


Слайд 16

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


Слайд 17

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


Слайд 18

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


Слайд 19

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


Слайд 20

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


Слайд 21

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


Слайд 22

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


Слайд 23

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


Слайд 24

Равномерное распределение суммарного веса узлов/рёбер Минимизация максимального веса исходящих из домена ребер Минимизация суммарного веса разрезанных ребер Минимизация максимальной степени доменов Обеспечение связности доменов Обеспечение связности множества внутренних узлов доменов А.Н. Андрианов, А.В. Жохова, Б.Н. Четверушкин Процессоров 11 31 47 63 New_sort 13.59 5.59 4.38 4.16 METIS 13.61 11.00 11.10 10.56 Критерии декомпозиции графов 25


Слайд 25

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


Слайд 26

25/4= 6.25 27


Слайд 27

25/4= 4 6 9 6.25 28


Слайд 28

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


Слайд 29

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


Слайд 30

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


Слайд 31

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


Слайд 32

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


Слайд 33

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


Слайд 34

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


Слайд 35

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


Слайд 36

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


Слайд 37

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


Слайд 38

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


Слайд 39

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


Слайд 40

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


Слайд 41

Локальное уточнение 1 3 5 4 2 6 7 1 3 5 4 2 6 7 Kernighan-Lin (KL) и Fiduccia-Mattheyses (FM) 42


Слайд 42

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


Слайд 43

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


Слайд 44

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


Слайд 45

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


Слайд 46

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


Слайд 47

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


Слайд 48

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


Слайд 49

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


Слайд 50

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


Слайд 51

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


Слайд 52

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


Слайд 53

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


Слайд 54

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


Слайд 55

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


Слайд 56

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


Слайд 57

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


Слайд 58

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


Слайд 59

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


Слайд 60

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


Слайд 61

62


Слайд 62

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


Слайд 63

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


Слайд 64

65


Слайд 65

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


Слайд 66

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


Слайд 67

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


Слайд 68

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


Слайд 69

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


Слайд 70

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


Слайд 71

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


Слайд 72

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


Слайд 73

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


Слайд 74

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


Слайд 75

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


Слайд 76

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


Слайд 77

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


×

HTML:





Ссылка: