• Research
    Computing Center
    Lomonosov Moscow
    State University

    Оптимизация HPC-приложений расчёта городских аэрозолей на новой ARM-архитектуре

  • В Научно-исследовательском вычислительном центре Московского государственного университета имени М.В.Ломоносова выполняется совместный проект с компанией Huawei по портированию и оптимизации HPC приложений для работы на серверах TaiShan 200 компании Huawei с процессорами Kunpeng 920 на базе архитектуры ARM. Проект направлен на создание единой программно-аппаратной экосистемы вокруг процессоров Kunpeng для эффективной реализации высокопроизводительных вычислений.

    Одним из HPC-приложений является программный комплекс для моделирования переноса биологически активных частиц в пограничном слое атмосферы над урбанизированной поверхностью. Он реализован на основе программного кода, разработанного в НИВЦ МГУ имени М.В. Ломоносова совместно с ИВМ им. Г.И. Марчука РАН. В рамках кода решается система уравнений в частных производных, которой подчиняется динамика геофизических пограничных слоев, с акцентом на моделирование структуры и эволюции пограничного слоя атмосферы. Код особенно подходит для моделирования атмосферных потоков над сложной местностью, например, урбанизированной поверхностью. Он включает в себя основные существующие подходы к воспроизведению атмосферной турбулентности, т.н. DNS, LES и RANS (см. ниже). В рамках кода разработан модуль, рассчитывающий траектории индивидуальных частиц, имеющих различные физические и биологические свойства (например, характерное время жизни). Программный комплекс адаптирован для наиболее часто используемых гибридных архитектур современных суперкомпьютеров. 

    Таким образом, основными особенностями комплекса являются:

    • прямое численное моделирование (DNS, Direct Numerical Simulation) – явное воспроизведение турбулентности, используется в основном в исследовательских задачах;

    • моделирование крупных вихрей (LES, Large Eddy Simulation) – масштабы движения, на которые приходится наибольшая энергия, воспроизводятся явно на дискретной сетке с разрешение 1-10 м, подсеточные движения параметризованы;

    • моделирование на основе уравнений, осреднённых по Рейнольдсу (RANS, Reynolds-Averaged Navier-Stokes) – турбулентность полностью параметризована, негидростатическая модель погранслоя;

    • расчёт переноса частиц, взвешенных в жидкости/газе;

    • усовершенствованные методы погруженной границы для воспроизведения потоков сплошной среды над поверхностями сложной формы (Mortikov, 2016);

    • стабилизированный итерационный метод бисопряжённых градиентов для решения конечно-разностного уравнения Пуассона;

    • предобуславливатель на основе геометрического многосеточного метода с V-циклом;

    • реализация на языке C/C++ для суперкомпьютеров в следующих конфигурациях:

     – CPU: MPI + OpenMP,

    – GPU: MPI + OpenMP + CUDA,

    – Intel Xeon Phi: MPI + OpenMP.

    Портирование программного комплекса было выполнено для программно-аппаратной среды сервера TaiShan 200 (Модель 5280), состоящего из двух блоков Kunpeng 920-4826, каждый из которых содержит 48 ядер @ 2,6 ГГц на общей памяти под управлением ОС CentOS 7 (aarch64). Используется компилятор GCC 10.2 и библиотека OpenMPI v4.1.

    Первичное тестирование производительности программного кода на платформе Kunpeng показало следующее:

    • Исполнение кода только на MPI быстрее, чем только на OpenMP, и разрыв более заметен в случае грубого пространственного разрешения модели. Предварительные тесты показывают, что замедление OpenMP по сравнению с реализацией MPI связана с накладными расходами на синхронизацию нитей, которые, как и ожидалось, более существенны для задач небольшого размера.
    • Код демонстрирует почти линейное общее ускорение для мелкой и грубой пространственной сетки модели до 16 ядер, а затем он падает до половины линейной оценки при использовании 64 ядер в случае грубой сетки. Масштабирование модели улучшается для случая мелкой сетки (т. е. высокого разрешения).
    • С увеличением количества частиц масштабирование модели улучшается и может превышать линейную оценку. Это связано с масштабированием самого модуля переноса частиц и тем, что вклад переноса частиц во время исполнения кода становится значительным. Сверхлинейное ускорение расчёта переноса частиц может быть связано с эффектами использования кэша, которые будут дополнительно изучены на следующих этапах проекта.
    • Результаты теста пропускной способности MPI показывают, что процессор Kunpeng 920 превосходит процессоры Intel в скорости передачи сообщений крупных размеров, но латентность MPI-коммуникаций может повлиять на производительность кода, в частности, производительность алгоритмов многосеточного метода и переноса частиц, где размер сообщений MPI может быть небольшим.

    О компании Huawei

    Компания Huawei, основанная в 1987 году, — ведущий мировой поставщик интеллектуальных устройств и инфраструктурных решений в области информационно-коммуникационных технологий. В нашей компании работают более 194 тысяч сотрудников. Мы имеем представительства более чем в 170 странах и регионах и обслуживаем свыше трех миллиардов человек по всему миру. 

    Видение и миссия Huawei — предоставить всем людям доступ к цифровым технологиям, внедрить их в каждый дом и каждую организацию, создав таким образом мир интеллектуальных устройств, объединенных в единую сеть. Мы стремимся обеспечить повсеместную связь и равный доступ к сетям; реализовать облачные технологии и искусственный интеллект во всех уголках мира, чтобы предоставлять вычислительные мощности повсеместно и в любое время; создать цифровые платформы, способные помочь всем отраслям и организациям стать более гибкими, эффективными и динамичными; повысить качество обслуживания с помощью ИИ, чтобы люди могли пользоваться решениями на основе этой технологии в любой сфере своей жизни — дома, в офисе и в дороге.