Институт математического моделирования Российской академии наук Вычислительный эксперимент на суперкомпьютерах М.В.Якобовский mail: lira@imamod.ru web: http://lira.imamod.ru 2010 Особенности момента • Потребность в суперкомпьютерах высока • Эффективность использования суперкомпьютеров низка: – Использование каждого ядра последовательной программой составляет проценты и доли процентов – Обмены, синхронизация и другие дополнительные операции ещё снижают эффективность параллельной программы • Есть минимальный объем вычислений на процессорное ядро, определяющий число используемых ядер • За счет многопроцессорности сложно сокращать время моделирования физического процесса, но можно повышать сложность решаемых задач, например за счет увеличения размеров изучаемых объектов Задачи большого вызова (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 Использование мощности суперкомпьютеров Исследования Не специфицировано Суперкомпьютеры • Не просто составляют конкуренцию натурному эксперименту, но: – Необходимы для его проведения – Позволяют делать то, что натурный эксперимент не позволяет • Используются неэффективно и далеко не в полной мере Большие сетки Тетраэдральные сетки 108 узлов Использование адаптивной сетки Обтекание профиля NACA0012 (M=0.85, Re=104) под нулевым углом атаки: Поле продольной скорости Фрагмент сетки Равномерная сетка Слева – ?? 01 05 Jun 2006 Value field круглое?? пятно примеси Frame 001 05 Jun 2006 Value field 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 Y 1 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 0 0.5 1 X 0 0 0.5 1 X (С) Сухинов А.А. Адаптивная сетка Слева – круглое пятно примеси Frame 001 05 Jun 2006 Value field 01 05 Jun 2006 Value field 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 Y 1 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 0 1 0.5 X 0 0 0.5 1 X (С) Сухинов А.А. Адаптивные декартовы сетки • • • • Вначале сетка состоит из одной прямоугольной ячейки Каждая ячейка может быть разделена на четыре ячейки одинакового размера Если ячейки когда-то составляли одну ячейку, то они могут быть объединены обратно Каждая ячейка хранит величину, описывающую среднее значение неизвестной функции в пределах ячейки (метод конечных объёмов) При данных предположениях сетку удобно хранить в виде четверичного дерева: Дополнительные ограничения на размеры ячеек: • Задан максимально допустимый размер ячеек • Задан минимально допустимый размер ячеек • Размеры соседних ячеек должны различаться не более, чем в 2 раза (С) Сухинов А.А. Сравнение с равномерной сеткой На рисунках показаны результаты решения простейшей задачи переноса на равномерной (слева) и адаптивной (справа) сетках с одинаковым числом ячеек (4096 штук). Скорость переноса направлена под углом 45° к линиям сетки; начальное условие показано пунктиром 1 0.1 -0. 1 1 0.75 0.1 0.3 0 7 . . 0 0. 5 9 1.1 0.1 0.75 0.9 -0.1 0.5 0.5 0.1 0.25 0 0.25 0 0.25 0.5 0.75 1 0 0 0.25 0.5 0.75 1 Адаптивная сетка (С) Сухинов А.А. Решение двумерной задачи фильтрации нефтеводяной смеси в области с неоднородной проницаемостью В юго-западном углу находится скважина, нагнетающая воду, в северовосточном углу — добывающая скважина. 5-ти точечная схема Поле проницаемости с разбросом значений на 4 порядка). Решение двумерной задачи фильтрации нефтеводяной смеси в области с неоднородной проницаемостью В юго-западном углу находится скважина, нагнетающая воду, в северовосточном углу — добывающая скважина. 5-ти точечная схема Поле проницаемости с разбросом значений на 4 порядка). Декомпозиция пакетом Metis Hilbert-curve ordering This ordering can be built by simple recursive procedure. When mesh changes locally, Hilbert curve changes locally too. It cannot be used for parallel computations due to chain dependence of elements. Декомпозиция по кривой Гильберта (С) Сухинов А.А. Акустика Вычислительные эксперименты по ЗПК Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва Звукопоглощающие конструкции Расчетная область Панель ЗПК Акустические волны в импедансной трубе Резонатор Перфорированный экран Сотовая конструкция резонаторов Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва Эксперимент 1: Модель 2D и 3D импедансной трубы 2D задача 3D задача Концентрация сетки около горла резонатора Размер сетки до 90К узлов Размер сетки до 1М узлов Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва Общие характеристики комплекса программ NOISETTE ● Размеры неструктурированных сеток 1 ~ 200 миллионов узлов ● Эффективное число процессоров Порядка десяти тысяч Применение для задач фундаментального характера Расчет конфигурации “конечный цилиндр в потоке” Расчет конфигурации “струя, набегающая на цилиндр” Базовая численная схема (1/2) 2D контрольные объемы Декартова сетка Неструктурированная треугольная сетка 3D контрольные объемы Декартова сетка Неструктурированная тетраэдральная сетка Медианные ячейки Ячейки на центрах описанных окружностей Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва Базовая численная схема Пространственный шаблон для определения потока между узлами I и J (сложность для распараллеливания) 2D треугольная сетка 2D шаблон высокого порядка: Противопоточные треугольники + соседи 3D тетраэдральная сетка 3D шаблон высокого порядка: Противопоточные тетраэдры + соседи Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва 2D канал с резонаторами Число резонаторов в канале: 0, 1, 5, 11. Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва Канал с 5 резонаторами Применимость не только суперкомпьютеров, но и Grid технологий Возмущения плотности Уравнения Эйлера, нет погранслоя, М=0.4 Институт Математического Моделирования РАН 125047, Mиусская пл. 4а, Москва Моделирование образования и миграции пор в межсоединениях электрических схем 07.05.2016 37 Проблема разрывов в межсоединениях Под действием электронного ветра разрушается кристаллическая решетка медных проводников, составляющих основу межсоединений современных чипов. В результате чипы становятся неуправляемыми и даже разрушаются. Intel Corporation ® 07.05.2016 38 Результаты моделирования Распределение массовой доли атомов меди Пример образования поры в медном межсоединении. В конце процесса ток течет не по меди, а по танталовой прокладке, сопротивление которой в 200 раз выше, чем у меди. 07.05.2016 39 Результаты моделирования Распределение плотности тока 07.05.2016 40 Моделирование режима охлаждения CPU 41 Охлаждение процессора медным радиатором 97.5мм, 78 медных пластин 35мм до границы …… 100мм ~1.4мм 10мм …… 7мм Cu Толщина 0.3мм CPU Мощность 65Вт 30x30 мм 42 Температура над радиатором изоповерхность 20.5 ºC 43 Изоповерхности температуры: Т=20.5, 21, 22.5 С сетка 800*700*120=67,2 млн. узлов Показано, что радиаторы рассматриваемой конструкции должны иметь не менее 25 ребер для предохранения процессора от перегрева. Оптимальной является конфигурация с количеством ребер более 75-100, при которой процессор с потребляемой мощностью 65 Вт ни в каком режиме не нагревается выше 70 ºС. 44 Схема обменов соответствует методу декомпозиции по данным: на каждом шаге обмен с ближайшими и коллективная операция - взаимодействие соседних в трёхмерной решетке процессов для согласования величин на внутренних границах 45 Схема обменов соответствует типичным итерационным методам на компактных шаблонах: на каждом шаге обмен с ближайшими и коллективная операция - коллективная операция редуцирования для определения величины шага по времени 46 Эффективность расчета 99% 996 узлов 966 по 8 ядер – всего 7728 ядер, организованных в трёхмерную решетку размером 24 х 161 х 2 Сетка, узлов Ядер Время, сек Ускорение Эффективность 525 000 000 525 000 000 1 7728 11.6767 0.00161 1 7274.7 100.00 % 94.13 % 1 050 000 000 1 1 050 000 000 7728 24.285 0.003161 1 7683.72 100.00 % 99.43 % 47 Результаты тестирования производительности - асинхронные обмены, - коллективные операции редуцирования - привязка MPI-процессов к ядрам процессоров обеспечивают отсутствие деградации эффективности (99%) на доступном числе ядер при - компактном шаблоне - сетке 1 миллиард узлов - 7728 ядрах Без привязки процессов к ядрам эффективность расчетов на числе процессов, большем чем число узлов, падает до величины порядка 70%. Speedup Efficiency 7 000 120% 6 000 100% 5 000 80% 4 000 60% 3 000 40% Без привязки процессов к ядрам 20% 2 000 Без привязки процессов к ядрам 1 000 0% 1 10 100 1 000 10 000 - 2 000 4 000 48 6 000 Двухуровневое разбиение I Сетка предварительно разбивается на большое число микродоменов, образующих макрограф II Вершины макрографа распределяются по процессорам Потоковая обработка 40 процессоров, полное чтение файла Кол-во исходных точек 100 млн. 252 млн. 512 млн. 1000 млн. Время чтения файлов данных, мин:сек 0:08 4:38 32:07 56:54 Общее время работы, мин:сек Кол-во полученных точек 0:13 36:51 Не хватило памяти Не хватило памяти 1 681 3 010 - 40 процессоров, чтение фрагментов файла Кол-во исходных точек регулярной сетки 252 млн. 252 млн. 252 млн. 512 млн. 512 млн. 512 млн. 1000 млн. 1000 млн. 1000 млн. Число фрагментов, на которые разбивался каждый файл 1 8 64 8 27 64 64 - 56:54 27 8 Общее время работы, мин:сек Кол-во полученных точек изоповерхности 24:51 4:20 0:14 41:40 0:25 0:26 83:25 0:45 2:34 2 997 5 891 11 198 7 996 10 997 14 026 19 534 16 171 13 218 Отсечение младших бит мантиссы 3.54 бинарный без компрессии без огрубления f=x2+y2+z2 компрессия без огрубления 1.00 0.90 3.141592 3.14159 3.1415 3.141 3.14 ошибка (%) 0.80 0.70 доля от полного размера файла 0.60 0.50 0.40 0.30 10^9 узлов: 1000 блоков по 10^6 узлов 0.20 23 106 427 байт 0.10 0.00 0 2 4 6 10^9 узлов - 113 354 035 байт – 8 10 12 14 16 18 0.1% - 0.92 битa на узел 20 Зависимость коэффициента сжатия от числа усеченных бит Сетка: 1000 х 3500 х 150 = 525 млн узлов 1,600 1,400 1,200 1,000 800 600 400 200 12 13 28 22 17 13 5 3 2 1 14 244 340 228 339 171 321 213 471 15 16 379 718 023 249 208 150 949 818 w101_reduced w101_reduced w101_reduced w101_reduced w101_reduced w101_reduced w101_reduced w101_reduced 793 457 w101grid.bjn 17 12.bjn 13.bjn 14.bjn 15.bjn 16.bjn 17.bjn 18.bjn 19.bjn 18 19 Огрубление данных 1.2 1 0 0.8 1 2 9 0.6 14 16 0.4 17 18 0.2 0 0 0.5 1 1.5 2 2.5 Параллельные библиотеки http://www.imamod.ru SDLB - динамическая балансировка (0D) MCoarse - огрубление сеток (2D, 3D) BjnIOlib - ввод-вывод регулярных сеток TMLlib - ввод-вывод неструктурированных сеток LRND - генерация псевдослучайных чисел PSORT - параллельная сортировка Якобовский М.В. д.ф.-м.н., зав. сектором «Программного обеспечения многопроцессорных систем и вычислительных сетей» Института математического моделирования Российской академии наук mail: lira@imamod.ru http://lira.imamod.ru