ݺߣ

ݺߣShare a Scribd company logo
Балансировка загрузки процессоров Институт математического моделирования Российской академии наук mail:  [email_address]   web:  http://lira.imamod.ru Нижний Новгород 2009 М.В.Якобовский
Задачи большого вызова  ( Kenneth G. Wilson ,  Cornell University , 1987) Вычислительная газовая динамика: Создание летательных аппаратов, эффективных автомобилей Предсказание погоды, и глобальных климатических изменений  Оптимизация нефтедобычи ,  … Молекулярная динамика: Создание материалов с заданными свойствами Разработка новых лекарственных соединений Сверхпроводимость, Свойства веществ в экстремальных состояниях, …  Символьные вычисления Распознавание речи Компьютерное зрение Изучение сложных систем Автономные системы управления Квантовая хромодинамика и теория конденсированных сред Управляемый термоядерный синтез, Геном человека,  …  http://en.wikipedia.org/wiki/Grand_Challenge
Дозвуковая аэродинамическая труба Т-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
якобовский - введение в параллельное программирование (2)
якобовский - введение в параллельное программирование (2)
якобовский - введение в параллельное программирование (2)
якобовский - введение в параллельное программирование (2)
Суперкомпьютеры Не просто составляют конкуренцию натурному эксперименту, но: Необходимы для его проведения Позволяют делать то, что натурный эксперимент делать не позволяет
Суперкомпьютеры Используются неэффективно и далеко не в полной мере Необходимы: Вычислительное ядро: адаптация алгоритмов к архитектуре многопроцессорных систем с распределённой памятью Специальное математическое обеспечение: визуализация, генерация сеток, рациональное разбиение на подобласти, динамическая балансировка загрузки процессоров, использование  CAD -технологий, использование гетерогенных систем и  GRID -технологий Интеграция в единый программный комплекс
якобовский - введение в параллельное программирование (2)
якобовский - введение в параллельное программирование (2)
НЕВЯЗКОЕ ОБТЕКАНИЕ КУЗОВА АВТОМОБИЛЯ (М = 0.12) СЕТКА:  430   949 УЗЛОВ,  2   430   306 ТЕТРАЭДРОВ
НЕВЯЗКОЕ ОБТЕКАНИЕ КУЗОВА АВТОМОБИЛЯ Сетка:  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  параллельных процессов)
Суперкомпьютеры МСЦ РАН:  процессор: Intel(R) Xeon(R) CPU X5365 @ 3.00GHz ядер на узел: 8 память узла: 4/8 Гб число узлов: 782 (6256 ядер) коммуникации:  InfiniBand DDR производительность: 75 TFLOPS СКИФ МГУ: процессор: Intel(R) Xeon(R) CPU  E 5472 @ 3.00GHz ядер на узел: 8 память узла: 8 Гб число узлов: 630 (5040 ядер) коммуникации:  InfiniBand DDR производительность: 60 TFLOPS
Институт Математического Моделирования РАН  125047, M иусская пл. 4а, Москва Акустика Вычислительные эксперименты по ЗПК
Институт Математического Моделирования РАН  125047, M иусская пл. 4а, Москва Звукопоглощающие конструкции Панель ЗПК Расчетная область Резонатор Акустические волны  в импедансной трубе Сотовая конструкция  резонаторов Перфорированный экран
Институт Математического Моделирования РАН  125047, M иусская пл. 4а, Москва Эксперимент 1 :  Модель 2 D  и  3D  импедансной трубы 2 D  задача Концентрация сетки около горла резонатора Размер сетки до 90К   узлов 3D  задача Размер сетки до 1М узлов
Институт Математического Моделирования РАН  125047, M иусская пл. 4а, Москва 3 D  импедансная труба Течение в отверстии резонаторной камеры
Институт Математического Моделирования РАН  125047, M иусская пл. 4а, Москва Эффект свиста Слой смешения Возмущения плотности Эксперимент 2 :  2 D  канал с резонаторами  ( 2 /2)
Институт Математического Моделирования РАН  125047, M иусская пл. 4а, Москва Базовая численная схема ( 1 / 2 ) Декартова сетка Неструктурированная треугольная сетка Медианные ячейки Ячейки на центрах описанных окружностей 2D  контрольные объемы  3D  контрольные объемы Декартова сетка Неструктурированная тетраэдральная сетка
Институт Математического Моделирования РАН  125047, M иусская пл. 4а, Москва Базовая численная схема Пространственный шаблон для определения потока между узлами  I  и  J 2D  треугольная сетка 3D  тетраэдральная сетка 2D  шаблон высокого порядка:   Противопоточные треугольники  +  соседи 3D  шаблон высокого порядка:   Противопоточные тетраэдры + соседи (сложность для распараллеливания)
Институт Математического Моделирования РАН  125047, M иусская пл. 4а, Москва Канал с 5 резонаторами Уравнения Эйлера, нет погранслоя, М=0.4 Возмущения плотности Применимость не только суперкомпьютеров, но и  Grid  технологий
Институт Математического Моделирования РАН  125047, M иусская пл. 4а, Москва Heat and Mass Transfer Technological Center Colom 11, E-08222, Terrassa, Barcelona, Spain Производительность вычислений Две различные параллельные системы использовались для тестов 1)   Типичный малобюджетный кластер с обычной сетью  Ethernet  Узел :  2 CPU Intel Xeon 3GHz Сеть : Ethernet 1Gbit 2)   “ Продвинутый ”  кластер  с  высокопроизводительной сетью низкой латентности  Узел :  2 CPU AMD Opteron 2.4Hz Сеть : Myrinet Эти системы имею существенно различное отношение производительности процессора и сети Тестовая задача : Модельная  2D  задача – импедансная труба .  Размер сетки  80 000  узлов,   схема  5- го порядка Пример разбиения сетки
Статическая балансировка загрузки
Равномерное  распределение суммарного веса узлов / рёбер Минимизация  максимального веса исходящих из домена ребер Минимизация суммарного веса разрезанных ребер  Минимизация максимальной степени доменов Обеспечение связности доменов Обеспечение связности множества внутренних узлов доменов Критерии декомпозиции графов А.Н. Андрианов, А.В. Жохова, Б.Н. Четверушкин Процессоров 11 31 47 63   New_sort  13.59  5.59  4.38   4.16 METIS   13.61 11.00 11.10 10.56
Чему равно  25/4  ? 6.25
25/4 = 6.25
25/4 = 4   6   9   6.25
25/4 = 4 ?  6 ?  9 Разрезать решетку 5 х 5 на 4 части
Декомпозиция сетки из 25 узлов на  4  части
25/4 = 4 ?  6 ?  9 Дисбаланс 9/4=2.25 Декомпозиция решетки 5 х 5 на 4 домена 4   6   9   6
25/4 = 4 ?  6 ?  9 Дисбаланс 13/12 : 8% Декомпозиция решетки 5 х 5 на 2 домена
25/4 = 4 ?  6 ?  9 Дисбаланс 7/6 : 17% Декомпозиция решетки 5 х 5 на 4 домена
25/4 = 4 ?  6 ?  9 Дисбаланс 9/4=2.25 Декомпозиция решетки 5 х 5 на 4 домена 4   6   9   6
25/4 = 4 ?  6 ?  9 Дисбаланс 9/4=2.25 Декомпозиция решетки 5 х 5 на 4 домена 4   6   9   6
Дисбаланс 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
Декомпозиция сетки 25х25 на 7 частей
Разбиение тетраэдральной сетки, содержащей 2∙10 8  узлов, на 125 процессорах вычисления производились на кластере СКИФ МГу (1250 4-хядерных процессоров, 60 TFlop/s) геометрическая декомпозиция ParMETIS число доменов 80 000 20 000 время 21 сек. 10 сек. число вершин в домене 2612 2613 2 328 10 932 мин. макс. среднее число связей с соседними доменами 14 14 число некомпактных доменов 229 364
Фрагмент треугольной сетки из 75790 вершин результат геометрической декомпозиции результат перераспределения малых блоков вершин
Иерархический алгоритм Огрубление Восстановление Декомпозиция
Огрубление графа
Локальное уточнение 1 3 5 4 2 6 7 1 3 5 4 2 6 7 Kernighan-Lin (KL) и Fiduccia-Mattheyses (FM)
Связность ядер доменов
Инкрементный алгоритм декомпозиции графа
Редуцирование доменов
Инкрементный алгоритм,  Dm=8
Инкрементный алгоритм,  Dm=25
Результат локального разбиения сетки из 75790 вершин на 50 доменов на 5 процессорах
Результат сбора плохих групп доменов и их повторного разбиения
Адаптивные сетки Обтекание профиля  NACA0012   (M=0.85, Re=10 4 ) под нулевым углом атаки : Поле продольной скорости Фрагмент сетки
Равномерная сетка Слева – ?? круглое ?? пятно примеси
Адаптивная сетка Слева –  круглое  пятно примеси
Адаптивные декартовы сетки Вначале сетка состоит из одной прямоугольной ячейки Каждая ячейка может быть  разделена  на четыре ячейки одинакового размера Если ячейки когда-то составляли одну ячейку, то они могут быть  объединены   обратно Каждая ячейка хранит  величину , описывающую среднее значение неизвестной функции впределах ячейки (метод конечных объёмов) При данных предположениях сетку удобно хранить в виде  четверичного дерева : Дополнительные ограничения на размеры ячеек : Задан  максимально допустимый  размер ячеек Задан  минимально допустимый  размер ячеек Размеры соседних ячеек должны различаться  не более, чем в 2 раза
На рисунках показаны результаты решения простейшей задачи переноса на равномерной (слева) и адаптивной (справа) сетках содинаковым числом ячеек (4096 штук). Скорость переноса направлена под углом 45° к линиям сетки ;  начальное условие показано пунктиром Сравнение с равномерной сеткой
Адаптивная сетка
Решение двумерной задачи фильтрации нефтеводяной смеси вобласти снеоднородной проницаемостью В юго-западном углу находится скважина, нагнетающая воду, всеверо-восточном углу— добывающая скважина.  5 - ти точечная схема Поле проницаемости сразбросом значений на 4 порядка).
Решение двумерной задачи фильтрации нефтеводяной смеси вобласти снеоднородной проницаемостью В юго-западном углу находится скважина, нагнетающая воду, всеверо-восточном углу— добывающая скважина.  5 - ти точечная схема Поле проницаемости сразбросом значений на 4 порядка).
Динамическая балансировка загрузки Перераспределение вычислительных узлов между процессорами необходимо: При изменение конфигурации сетки При изменение вычислительной сложности обработки узлов При изменении эффективной производительности процессоров
Декомпозиция пакетом  Metis
Нумерация с помощью кривой Гильберта Формируется простой рекурсивной процедурой Локальное изменение сетки приводит к локальному изменению кривой
Диффузная балансировка  Декомпозиция с помощью кривой Гильберта
якобовский - введение в параллельное программирование (2)
Стратегии балансировки загрузки 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   –  меняется значительно и     не прогнозируемо  Статическая Динамическая диффузная Динамическая ?
Моделирование задач горения на многопроцессорных системах
якобовский - введение в параллельное программирование (2)
Моделирование задач горения Здесь   A   оператор ,     -  плотность ,  y (i)   –  массовые доли  i - х компонент ,  u ,  v  -  скорости ,  p  -  давление ,  E  –  полная энергия ,   I  –  сорости образования компонент . I.  Блок Газовой динамики  (GD): II.  Блок химической кинетики  (CHEM):
Блок схема алгоритма
Распределение времени счета
Структура и возможности алгоритма
Сотояния обрабатывающего процесса занят  - если установлен соответствующий флаг. Этот флаг устанавливается перед передачей обрабатывающему процессу необработанной точки (неважно локальной или внешней) и сбрасывается после того, как точка уже обработана и управляющий процесс получил от обрабатывающего процесса результат; свободен  - если не занят, т.е. готов к получению очередной свободной точки.
Управляющий процесс 1.   если   - есть необработанные точки (неважно локальные или внешние)  и -  обрабатывающий процесс свободен, то установить   флаг обрабатываемой точки , одна из необработанных точек передается на обработку обрабатывающему процессу.
Управляющий процесс 2.   если - нет локальных необработанных точек  и - нет внешних точек  и - нет обрабатываемых точек  и - флаг запроса на получение необработанных точек   не установлен   и - есть процессоры, которые еще не ответили, что не могут предоставить точки для обработки (соответствующий флаг   флаг запрета обменов  не установлен), то послать запрос на получение необработанных точек одному из таких процессоров. установить  флаг запроса на получение необработанных точек
Управляющий процесс Иначе (если не 2) 3.   если -  все переданные точки получены обратно обработанными   и -  от всех процессоров получено сообщение о том, что точки для обработки предоставлены быть не могут  и -  всем процессорам послано сообщение о том, что точки для обработки предоставлены быть не могут, то завершение работы
Управляющий процесс 4. получить очередное сообщение от любого процессора или от своего обрабатывающего процесса. 5. обработать полученное сообщение 6. перейти к началу цикла (п. 1)
Окончание при выполнение всех условий: нет локальных необработанных точек нет внешних точек нет обрабатываемых точек всем процессорам был послан запрос на получение необработанных точек всем процессорам было послано сообщение о том, что необработанные точки предоставлены быть не могут от всех процессоров получено сообщение о том, что необработанные точки предоставлены быть не могут все локальные точки обработаны и получены результаты обработки всех переданных точек
Кластеры и эффективность speedup
Схема взаимодействия процессов
Выводы Балансировка загрузки процессоров – ключевой этап обеспечения высокой эффективности использования многопроцессорной системы. С ростом числа процессоров возрастает актуальность использования динамической балансировки загрузки

More Related Content

Similar to якобовский - введение в параллельное программирование (2) (20)

284.прогноз ключевых параметров при помощи искусственных нейронных сетей
284.прогноз ключевых параметров при помощи искусственных нейронных сетей284.прогноз ключевых параметров при помощи искусственных нейронных сетей
284.прогноз ключевых параметров при помощи искусственных нейронных сетей
ivanov1566359955
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАНВычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
BDA
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАНВычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
BDA
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...
ITMO University
МоделированиеОбучение
МоделированиеОбучениеМоделированиеОбучение
МоделированиеОбучение
funkypublic
Современные расчетные технологии обоснования характеристик космических ЯЭУ
Современные расчетные технологии обоснования характеристик космических ЯЭУСовременные расчетные технологии обоснования характеристик космических ЯЭУ
Современные расчетные технологии обоснования характеристик космических ЯЭУ
Ilya Ekhlakov
Доклад к защите кандидатской диссертации
Доклад к защите кандидатской диссертацииДоклад к защите кандидатской диссертации
Доклад к защите кандидатской диссертации
Андрей Гайнулин
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Cisco Russia
2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...
2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...
2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...
RF-Lab
презентационные слайды
презентационные слайдыпрезентационные слайды
презентационные слайды
student_kai
NUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptx
NUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptxNUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptx
NUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptx
whiskeycat17
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Alexey Paznikov
1. анализ емкостных параметров
1. анализ емкостных параметров1. анализ емкостных параметров
1. анализ емкостных параметров
student_kai
Кодирующие электронно-лучевые трубки и их применение
Кодирующие электронно-лучевые трубки и их применениеКодирующие электронно-лучевые трубки и их применение
Кодирующие электронно-лучевые трубки и их применение
Иван Иванов
284.прогноз ключевых параметров при помощи искусственных нейронных сетей
284.прогноз ключевых параметров при помощи искусственных нейронных сетей284.прогноз ключевых параметров при помощи искусственных нейронных сетей
284.прогноз ключевых параметров при помощи искусственных нейронных сетей
ivanov1566359955
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАНВычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
BDA
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАНВычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
BDA
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...
ITMO University
МоделированиеОбучение
МоделированиеОбучениеМоделированиеОбучение
МоделированиеОбучение
funkypublic
Современные расчетные технологии обоснования характеристик космических ЯЭУ
Современные расчетные технологии обоснования характеристик космических ЯЭУСовременные расчетные технологии обоснования характеристик космических ЯЭУ
Современные расчетные технологии обоснования характеристик космических ЯЭУ
Ilya Ekhlakov
Доклад к защите кандидатской диссертации
Доклад к защите кандидатской диссертацииДоклад к защите кандидатской диссертации
Доклад к защите кандидатской диссертации
Андрей Гайнулин
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Cisco Russia
2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...
2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...
2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...
RF-Lab
презентационные слайды
презентационные слайдыпрезентационные слайды
презентационные слайды
student_kai
NUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptx
NUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptxNUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptx
NUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptx
whiskeycat17
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Alexey Paznikov
1. анализ емкостных параметров
1. анализ емкостных параметров1. анализ емкостных параметров
1. анализ емкостных параметров
student_kai
Кодирующие электронно-лучевые трубки и их применение
Кодирующие электронно-лучевые трубки и их применениеКодирующие электронно-лучевые трубки и их применение
Кодирующие электронно-лучевые трубки и их применение
Иван Иванов

More from Michael Karpov (20)

EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
Michael Karpov
Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)
Michael Karpov
(2niversity) проектная работа tips&tricks
(2niversity) проектная работа   tips&tricks(2niversity) проектная работа   tips&tricks
(2niversity) проектная работа tips&tricks
Michael Karpov
"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012
Michael Karpov
(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиков(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиков
Michael Karpov
Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)
Michael Karpov
Как мы готовим продукты
Как мы готовим продуктыКак мы готовим продукты
Как мы готовим продукты
Michael Karpov
Hpc Visualization with WebGL
Hpc Visualization with WebGLHpc Visualization with WebGL
Hpc Visualization with WebGL
Michael Karpov
Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)
Michael Karpov
сбор требований с помощью Innovation games
сбор требований с помощью Innovation gamesсбор требований с помощью Innovation games
сбор требований с помощью Innovation games
Michael Karpov
Зачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile командеЗачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile команде
Michael Karpov
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде
Michael Karpov
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде
Michael Karpov
HPC Visualization
HPC VisualizationHPC Visualization
HPC Visualization
Michael Karpov
Hpc Visualization
Hpc VisualizationHpc Visualization
Hpc Visualization
Michael Karpov
Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010
Michael Karpov
How to give a great research talk
How to give a great research talkHow to give a great research talk
How to give a great research talk
Michael Karpov
20090720 writing a_paper
20090720 writing a_paper20090720 writing a_paper
20090720 writing a_paper
Michael Karpov
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
Michael Karpov
Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)
Michael Karpov
(2niversity) проектная работа tips&tricks
(2niversity) проектная работа   tips&tricks(2niversity) проектная работа   tips&tricks
(2niversity) проектная работа tips&tricks
Michael Karpov
"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012
Michael Karpov
(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиков(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиков
Michael Karpov
Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)
Michael Karpov
Как мы готовим продукты
Как мы готовим продуктыКак мы готовим продукты
Как мы готовим продукты
Michael Karpov
Hpc Visualization with WebGL
Hpc Visualization with WebGLHpc Visualization with WebGL
Hpc Visualization with WebGL
Michael Karpov
Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)
Michael Karpov
сбор требований с помощью Innovation games
сбор требований с помощью Innovation gamesсбор требований с помощью Innovation games
сбор требований с помощью Innovation games
Michael Karpov
Зачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile командеЗачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile команде
Michael Karpov
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде
Michael Karpov
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде
Michael Karpov
Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010
Michael Karpov
How to give a great research talk
How to give a great research talkHow to give a great research talk
How to give a great research talk
Michael Karpov

якобовский - введение в параллельное программирование (2)

  • 1. Балансировка загрузки процессоров Институт математического моделирования Российской академии наук mail: [email_address] web: http://lira.imamod.ru Нижний Новгород 2009 М.В.Якобовский
  • 2. Задачи большого вызова ( Kenneth G. Wilson , Cornell University , 1987) Вычислительная газовая динамика: Создание летательных аппаратов, эффективных автомобилей Предсказание погоды, и глобальных климатических изменений Оптимизация нефтедобычи , … Молекулярная динамика: Создание материалов с заданными свойствами Разработка новых лекарственных соединений Сверхпроводимость, Свойства веществ в экстремальных состояниях, … Символьные вычисления Распознавание речи Компьютерное зрение Изучение сложных систем Автономные системы управления Квантовая хромодинамика и теория конденсированных сред Управляемый термоядерный синтез, Геном человека, … http://en.wikipedia.org/wiki/Grand_Challenge
  • 3. Дозвуковая аэродинамическая труба Т-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 ТЕТРАЭДРОВ
  • 13. НЕВЯЗКОЕ ОБТЕКАНИЕ КУЗОВА АВТОМОБИЛЯ Сетка: 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 ядер на узел: 8 память узла: 4/8 Гб число узлов: 782 (6256 ядер) коммуникации: InfiniBand DDR производительность: 75 TFLOPS СКИФ МГУ: процессор: Intel(R) Xeon(R) CPU E 5472 @ 3.00GHz ядер на узел: 8 память узла: 8 Гб число узлов: 630 (5040 ядер) коммуникации: InfiniBand DDR производительность: 60 TFLOPS
  • 15. Институт Математического Моделирования РАН 125047, M иусская пл. 4а, Москва Акустика Вычислительные эксперименты по ЗПК
  • 16. Институт Математического Моделирования РАН 125047, M иусская пл. 4а, Москва Звукопоглощающие конструкции Панель ЗПК Расчетная область Резонатор Акустические волны в импедансной трубе Сотовая конструкция резонаторов Перфорированный экран
  • 17. Институт Математического Моделирования РАН 125047, M иусская пл. 4а, Москва Эксперимент 1 : Модель 2 D и 3D импедансной трубы 2 D задача Концентрация сетки около горла резонатора Размер сетки до 90К узлов 3D задача Размер сетки до 1М узлов
  • 18. Институт Математического Моделирования РАН 125047, M иусская пл. 4а, Москва 3 D импедансная труба Течение в отверстии резонаторной камеры
  • 19. Институт Математического Моделирования РАН 125047, M иусская пл. 4а, Москва Эффект свиста Слой смешения Возмущения плотности Эксперимент 2 : 2 D канал с резонаторами ( 2 /2)
  • 20. Институт Математического Моделирования РАН 125047, M иусская пл. 4а, Москва Базовая численная схема ( 1 / 2 ) Декартова сетка Неструктурированная треугольная сетка Медианные ячейки Ячейки на центрах описанных окружностей 2D контрольные объемы 3D контрольные объемы Декартова сетка Неструктурированная тетраэдральная сетка
  • 21. Институт Математического Моделирования РАН 125047, M иусская пл. 4а, Москва Базовая численная схема Пространственный шаблон для определения потока между узлами I и J 2D треугольная сетка 3D тетраэдральная сетка 2D шаблон высокого порядка: Противопоточные треугольники + соседи 3D шаблон высокого порядка: Противопоточные тетраэдры + соседи (сложность для распараллеливания)
  • 22. Институт Математического Моделирования РАН 125047, M иусская пл. 4а, Москва Канал с 5 резонаторами Уравнения Эйлера, нет погранслоя, М=0.4 Возмущения плотности Применимость не только суперкомпьютеров, но и Grid технологий
  • 23. Институт Математического Моделирования РАН 125047, M иусская пл. 4а, Москва Heat and Mass Transfer Technological Center Colom 11, E-08222, Terrassa, Barcelona, Spain Производительность вычислений Две различные параллельные системы использовались для тестов 1) Типичный малобюджетный кластер с обычной сетью Ethernet Узел : 2 CPU Intel Xeon 3GHz Сеть : Ethernet 1Gbit 2) “ Продвинутый ” кластер с высокопроизводительной сетью низкой латентности Узел : 2 CPU AMD Opteron 2.4Hz Сеть : Myrinet Эти системы имею существенно различное отношение производительности процессора и сети Тестовая задача : Модельная 2D задача – импедансная труба . Размер сетки 80 000 узлов, схема 5- го порядка Пример разбиения сетки
  • 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
  • 28. 25/4 = 4 6 9 6.25
  • 29. 25/4 = 4 ? 6 ? 9 Разрезать решетку 5 х 5 на 4 части
  • 30. Декомпозиция сетки из 25 узлов на 4 части
  • 31. 25/4 = 4 ? 6 ? 9 Дисбаланс 9/4=2.25 Декомпозиция решетки 5 х 5 на 4 домена 4 6 9 6
  • 32. 25/4 = 4 ? 6 ? 9 Дисбаланс 13/12 : 8% Декомпозиция решетки 5 х 5 на 2 домена
  • 33. 25/4 = 4 ? 6 ? 9 Дисбаланс 7/6 : 17% Декомпозиция решетки 5 х 5 на 4 домена
  • 34. 25/4 = 4 ? 6 ? 9 Дисбаланс 9/4=2.25 Декомпозиция решетки 5 х 5 на 4 домена 4 6 9 6
  • 35. 25/4 = 4 ? 6 ? 9 Дисбаланс 9/4=2.25 Декомпозиция решетки 5 х 5 на 4 домена 4 6 9 6
  • 36. Дисбаланс 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
  • 38. Разбиение тетраэдральной сетки, содержащей 2∙10 8 узлов, на 125 процессорах вычисления производились на кластере СКИФ МГу (1250 4-хядерных процессоров, 60 TFlop/s) геометрическая декомпозиция ParMETIS число доменов 80 000 20 000 время 21 сек. 10 сек. число вершин в домене 2612 2613 2 328 10 932 мин. макс. среднее число связей с соседними доменами 14 14 число некомпактных доменов 229 364
  • 39. Фрагмент треугольной сетки из 75790 вершин результат геометрической декомпозиции результат перераспределения малых блоков вершин
  • 40. Иерархический алгоритм Огрубление Восстановление Декомпозиция
  • 42. Локальное уточнение 1 3 5 4 2 6 7 1 3 5 4 2 6 7 Kernighan-Lin (KL) и Fiduccia-Mattheyses (FM)
  • 48. Результат локального разбиения сетки из 75790 вершин на 50 доменов на 5 процессорах
  • 49. Результат сбора плохих групп доменов и их повторного разбиения
  • 50. Адаптивные сетки Обтекание профиля NACA0012 (M=0.85, Re=10 4 ) под нулевым углом атаки : Поле продольной скорости Фрагмент сетки
  • 51. Равномерная сетка Слева – ?? круглое ?? пятно примеси
  • 52. Адаптивная сетка Слева – круглое пятно примеси
  • 53. Адаптивные декартовы сетки Вначале сетка состоит из одной прямоугольной ячейки Каждая ячейка может быть разделена на четыре ячейки одинакового размера Если ячейки когда-то составляли одну ячейку, то они могут быть объединены обратно Каждая ячейка хранит величину , описывающую среднее значение неизвестной функции впределах ячейки (метод конечных объёмов) При данных предположениях сетку удобно хранить в виде четверичного дерева : Дополнительные ограничения на размеры ячеек : Задан максимально допустимый размер ячеек Задан минимально допустимый размер ячеек Размеры соседних ячеек должны различаться не более, чем в 2 раза
  • 54. На рисунках показаны результаты решения простейшей задачи переноса на равномерной (слева) и адаптивной (справа) сетках содинаковым числом ячеек (4096 штук). Скорость переноса направлена под углом 45° к линиям сетки ; начальное условие показано пунктиром Сравнение с равномерной сеткой
  • 56. Решение двумерной задачи фильтрации нефтеводяной смеси вобласти снеоднородной проницаемостью В юго-западном углу находится скважина, нагнетающая воду, всеверо-восточном углу— добывающая скважина. 5 - ти точечная схема Поле проницаемости сразбросом значений на 4 порядка).
  • 57. Решение двумерной задачи фильтрации нефтеводяной смеси вобласти снеоднородной проницаемостью В юго-западном углу находится скважина, нагнетающая воду, всеверо-восточном углу— добывающая скважина. 5 - ти точечная схема Поле проницаемости сразбросом значений на 4 порядка).
  • 58. Динамическая балансировка загрузки Перераспределение вычислительных узлов между процессорами необходимо: При изменение конфигурации сетки При изменение вычислительной сложности обработки узлов При изменении эффективной производительности процессоров
  • 60. Нумерация с помощью кривой Гильберта Формируется простой рекурсивной процедурой Локальное изменение сетки приводит к локальному изменению кривой
  • 61. Диффузная балансировка Декомпозиция с помощью кривой Гильберта
  • 63. Стратегии балансировки загрузки 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 – меняется значительно и не прогнозируемо Статическая Динамическая диффузная Динамическая ?
  • 64. Моделирование задач горения на многопроцессорных системах
  • 66. Моделирование задач горения Здесь A оператор ,  - плотность , y (i) – массовые доли i - х компонент , u , v - скорости , p - давление , E – полная энергия ,  I – сорости образования компонент . I. Блок Газовой динамики (GD): II. Блок химической кинетики (CHEM):
  • 70. Сотояния обрабатывающего процесса занят - если установлен соответствующий флаг. Этот флаг устанавливается перед передачей обрабатывающему процессу необработанной точки (неважно локальной или внешней) и сбрасывается после того, как точка уже обработана и управляющий процесс получил от обрабатывающего процесса результат; свободен - если не занят, т.е. готов к получению очередной свободной точки.
  • 71. Управляющий процесс 1. если - есть необработанные точки (неважно локальные или внешние) и - обрабатывающий процесс свободен, то установить флаг обрабатываемой точки , одна из необработанных точек передается на обработку обрабатывающему процессу.
  • 72. Управляющий процесс 2. если - нет локальных необработанных точек и - нет внешних точек и - нет обрабатываемых точек и - флаг запроса на получение необработанных точек не установлен и - есть процессоры, которые еще не ответили, что не могут предоставить точки для обработки (соответствующий флаг флаг запрета обменов не установлен), то послать запрос на получение необработанных точек одному из таких процессоров. установить флаг запроса на получение необработанных точек
  • 73. Управляющий процесс Иначе (если не 2) 3. если - все переданные точки получены обратно обработанными и - от всех процессоров получено сообщение о том, что точки для обработки предоставлены быть не могут и - всем процессорам послано сообщение о том, что точки для обработки предоставлены быть не могут, то завершение работы
  • 74. Управляющий процесс 4. получить очередное сообщение от любого процессора или от своего обрабатывающего процесса. 5. обработать полученное сообщение 6. перейти к началу цикла (п. 1)
  • 75. Окончание при выполнение всех условий: нет локальных необработанных точек нет внешних точек нет обрабатываемых точек всем процессорам был послан запрос на получение необработанных точек всем процессорам было послано сообщение о том, что необработанные точки предоставлены быть не могут от всех процессоров получено сообщение о том, что необработанные точки предоставлены быть не могут все локальные точки обработаны и получены результаты обработки всех переданных точек
  • 78. Выводы Балансировка загрузки процессоров – ключевой этап обеспечения высокой эффективности использования многопроцессорной системы. С ростом числа процессоров возрастает актуальность использования динамической балансировки загрузки

Editor's Notes

  • #64: 04.06.10 Doclad14 В.Э.Малышкин, А.П.Карпенко В.В.Пекунов, Ф.Н.Ясинский Denis Howe, Г.Харп, Д.А.Аляутдинов, А.Н.Далевич