Организация нового вычислительного сегмента МВС-10П ОП Cascade_lake в рамках Соглашения от 5 ноября 2019 г. № 075-15-2019-1636 между Министерством науки и высшего образования Российской Федерации и Федеральным государственным учреждением «Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук» о предоставлении из федерального бюджета грантов в форме субсидий в соответствии с пунктом 4 статьи 78.1 Бюджетного кодекса Российской Федерации

 


Оснащение Центра современным суперкомпьютерным оборудованием

В рамках Соглашения в ЦКП ВР МСЦ РАН – филиала ФГУ ФНЦ НИИСИ РАН организован новый суперкомпьютерный сегмент МВС-10П ОП Cascade_lake, характеристики которого приведены ниже.

 

ХАРАКТЕРИСТИКИ УЗЛА
ПроцессорыIntel Xeon Platinum 8268 (Cascade Lake)
Частота процессора2,9 GHz
Количество ядер процессора24
Количество виртуальных процессоров48
Пиковая производительность процессора2,227 TFLOPS
Кэш 1-го уровня64 KB на ядро
Кэш 2-го уровня24 MB
Кэш 3-го уровня37,75 MB
Количество процессоров в узле2
Количество ядер в узле48
Количество виртуальных процессоров в узле96
Пиковая производительность в узле4,454 TFLOPS
Объем оперативной памяти в узле192 GB

 

ХАРАКТЕРИСТИКИ СИСТЕМЫ
Количество узлов51
Количество ядер в системе2 448
Количество виртуальных процессоров в системе4 896
Суммарная пиковая производительность227,154 TFLOPS
Суммарный объем оперативной памяти9 792 GB
Коммуникационная и транспортная сетьOnmi-Path
Сеть мониторинга и управленияGigabit Ethernet
Сеть управления заданиямиGigabit Ethernet
Системы управления прохождением задачSLURM/СУППЗ

 


Методические рекомендации по использованию нового оборудования о программного обеспечения Центра

Создан следующий документ:

  • Методические рекомендации по использованию оборудования и программного обеспечения Центра коллективного пользования вычислительными ресурсами МСЦ РАН – филиала ФГУ ФНЦ НИИСИ РАН.   

Разработанный документ содержит следующую информацию:

  • Состав и характеристики оборудования ЦКП вычислительными ресурсами МСЦ РАН.
  • Характеристика СУППЗ: общая характеристика СУППЗ, планирование очереди в СУППЗ.
  • Порядок работы с оборудованием ЦКП: соединение с сервером доступа и выбор раздела, запуск и завершение заданий, просмотр очереди СУППЗ, получение информации и заданиях и ресурсах СУППЗ, получение дополнительных возможностей СУППЗ.
  • Входные и выходные данные СУППЗ: входные данные, паспорт задания СУППЗ, конфигурационный файл пользовательских настроек СУППЗ, файл-шаблон для задания разного числа MPI-процессов на разных ВМ, спецификация дополнительных ресурсов для задания, выходные данные.
  • Сообщения СУППЗ.

 


Методическая документация для пользователей, позволяющая повысить производительность авторских кодов с помощью оптимизации программы с использованием инструкций AVX-512

Создан следующий документ:

  • Методическая документация «Руководство разработчика по использованию набора инструкций AVX-512».   

Документ представляет собой методическую документацию, затрагивающую основные вопросы использования набора инструкций AVX-512.

  • В главе 1 приведен краткий обзор архитектур микропроцессоров, поддерживающих набор инструкций AVX-512.
  • В главе 2 приведена классификация и описание набора инструкций AVX-512.
  • В главе 3 описаны основные опции компиляторов gcc и icc, используемые при компиляции исходных кодов с использованием AVX-512.
  • В главе 4 приведен обзор основных видов программного контекста, пригодного для векторизации и описаны методы векторизации кода.
  • В главе 5 рассмотрены конкретные практические задачи из различных областей (работа с матрицами, обработка расчетных сеток, реализация численных методов), к которым применены описанные ранее подходы к векторизации программного кода.

Собранные в данной методической документации подходы и способы векторизации предназначены на разработчиков программного обеспечения и направлены на повышение эффективности реализуемого программного кода с помощью набора инструкций AVX-512.

 


Расширение списка установленного на системах ЦКП и доступного пользователям программного обеспечения

Список установленного в 2019-м году программного обеспечения расширен следующими программными пакетами:

  • Программные пакета общего назначения:
    • R – язык программирования для статистической обработки данных, а также программная среда вычислений с открытым программным кодом. R поддерживает широкий спектр статистических и численных методов и обладает хорошей расширяемостью с помощью пакетов. Язык прекрасно подходит для обработки данных суперкомпьютерных расчетов, генерации текстовых и визуальных отчетных материалов.
    • Erlang – функциональный язык программирования с сильной динамической типизацией, предназначенный для создания распределенных масштабируемых отказоустойчивых систем и управления потоками данных. Обладает рядом особенностей, которые позволяют в короткие сроки создавать надежные функциональные приложения. Язык не предназначен для использования в высокопроизводительных вычислениях, однако прекрасно подходит для быстрой распределенной обработки данных, обработки потоков и создания параллельных приложений.
    • Python 3 – высокоуровневый язык программирования общего назначения, с помощью которого можно создавать высокопроизводительный и понятный код. Стандартная библиотека языка включает в себя большой объем полезного функционала. Python 3 поддерживает структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное программирование. Основные архитектурные черты – динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений, высокоуровневые структуры данных. Поддерживается разбиение программ на модули, которые, в свою очередь, могут объединяться в пакеты.
    • NumPy – библиотека с открытым программным кодом для языка программирования Python. Предназначена для
      эффективной поддержки многомерных массивов, включает в себя реализацию множества высокоуровневых функций для
      работы с многомерными массивами.
    • SciPy – пакет прикладных математических процедур, основанный на расширении NumPy Python. Предназначен для обработки данных. Функционал пакета позволяет проводить действия по обработке данных, аналогичные таким пакетам, как MATLAB, IDL, Octave, R-Lab, SciLab.
    • Pandas – пакет для языка программирования Python, который предназначен для работы с табличными данными. Пакет дает возможность строить сводные таблицы, выполнять группировки, предоставляет удобный доступ к данным, взаимодействует с пакетом matplotlib и дает возможность с помощью него отображать данные на графиках.
    • Matplotlib – библиотека а языке программирования Python для визуализации двумерной (2D) и трехмерной (3D) графики. Поддерживает многие средства отображения данных, в том числе графики, диаграммы разброса, столбчатые диаграммы, гистограммы, круговые диаграммы, ствол-лист диаграммы, контурные графики, поля градиентов, спектральные диаграммы.
  • Расчетные пакеты специального назначения:
    • Quantum ESPRESSO – (PWscf, Plane-Wave self-consistent field) – программный пакет, построенный на базе теории функционала электронной плотности (DFT) и методе псевдопотенциала (PAW-метод). Представляет собой мощный инструмент для энергетических расчетов многоэлектронных систем и предназначен для моделирования на квантово-механическом уровне малых кластеров с числом атомов 10-100, определяющих существование возможных в материале фаз. Во многом является аналогом коммерческого квантово-химического ППП VASP. Описание моделируемого объекта строится на языке волновых функций и заданного гамильтониана системы. Целевыми функциями являются электронный энергетический спектр, собственные функции и плотность состояний изолированного кластера при фиксированном положении ядер, потенциальная энергия системы с учетом электронно-ядерных подсистем. С помощью ППП PWscf можно прогнозировать плотности электронных состояний произвольных кристаллических материалов и их свойств, исходя из основ квантовой теории строения вещества. Расчеты с применением ППП PWscf оптимизированы для использования сотен процессоров, поэтому большой интерес вызывает возможность использования этих пакетов на большом числе процессоров в грид-системах (на основе MPI). ППП PWscf распространяется в исходных текстах по лицензии GNU GPL, что позволяет свободно использовать его в качестве грид-сервиса.
    • SIESTA – (Spanish Initiative for Electronic Simulations with Thousands of Atoms) – программный пакет для выполнения расчетов электронной структуры молекул и твердых тел и решения задач молекулярной динамики.
    • Dalton – это программная система общего назначения для продвинутых квантово-химических расчетов на основе молекулярной электронной структуры, распространяемая по лицензионному соглашению без каких-либо затрат для пользователя. С помощью Dalton молекулярные системы могут быть проанализированы с использованием различных методов электронной структуры, включая методы самосогласованного поля (SCF, self consistent field) Хартри-Фока (HF, Hartree-Fock) и Кон-Шама (KS, Kohn-Sham) для широкого применения, многоконфигурационный SCF (MCSCF, multiconfigurational SCF) метод высокой гибкости и различные методы связанных кластеров (СС, coupled cluster) для высокой точности. На всех этих уровнях можно рассчитать множество молекулярных свойств, что позволяет пользователю программы изучать, например, молекулярную структуру, энергетику, реакционную способность, спектроскопические параметры, линейные и нелинейные оптические процессы. Небольшие системы могут быть точно сопоставлены с использованием методов полного взаимодействия конфигурации (FCI, full configuration interaction). Экологические эффекты могут быть включены на разных уровнях модели. Для некоторых моделей электронной структуры большие молекулы могут быть изучены с использованием линейного масштабирования и массивно-параллельных алгоритмов. В качестве встроенного визуализатора Dalton поддерживает VRML (Virtual Reality Modeling Language).

Для каждого установленного программного пакета создан документ, содержащий краткое описание пакета, его основные особенности, ссылки на полезную литературу, а также ресурсы в сети Интернет:

  • Описание программного пакета R.   
  • Описание программного пакета Erlang.   
  • Описание программного пакета Python 3.   
  • Описание программного пакета NumPy.   
  • Описание программного пакета SciPy.   
  • Описание программного пакета Pandas.   
  • Описание программного пакета Matplotlib.   
  • Описание программного пакета Quantum ESPRESSO.   
  • Описание программного пакета SIESTA.   
  • Описание программного пакета Dalton.   

Общее описание всех установленных в 2019-м году программных пакетов приведено в следующем документе:

  • Руководящая документация «Описание программного обеспечения, установленного на системах ЦКП» (ПО установлено в рамках выполнения работ по проекту «Поддержка и развитие Центра коллективного пользования вычислительными ресурсами МСЦ РАН – филиала ФГУ ФНЦ НИИСИ РАН»).   

 


Оказание консультационных услуг по повышению эффективности исполнения программных кодов на оборудовании Центра

Создана новая услуга. Она включает в себя оказание консультационных услуг по повышению эффективности исполнения программных кодов на оборудовании Центра и направлена на более рациональное использование вычислительных ресурсов. При этом экономится расчетное время пользователей, а ЦКП высвобождает дополнительные вычислительные ресурсы, которые могут быть направлены на привлечение новых пользователей. Таким образом оказание консультационных услуг по повышению эффективности исполнения программных кодов на оборудовании ЦКП является взаимовыгодным и в 2019-м году в пилотном режиме выполняется на безвозмездной основе.

В состав услуги по повышение эффективности исполнения программных кодов на оборудовании Центра включаются:

  • Комплексный анализ программы пользователя и выбор наиболее подходящих сегментов вычислительной системы для ее исполнения, оптимизация сборки программы. Сбор профиля работы программы, поиск горячих участков и узких мест, выявление потенциальных резервов для повышения производительности. Консультация по возможностям в плане повышения производительности программы.
  • Комплексная оптимизация программы пользователя: низкоуровневая оптимизация, векторизация программного кода, подключение высокопроизводительных библиотек, распараллеливание с использованием многопоточности (OpenMP) и распараллеливание на несколько узлов суперкомпьютерного кластера (MPI). Организация обмена данными между частями параллельной программы. Анализ масштабируемости программы.
  • Разработка архитектуры программного обеспечения, разработка интерфейсов взаимодействия между отдельными частями программы. Портирование программного кода с одного языка программирования на другой. Разработка средств автоматизации сборки и запусков программы.

Определен порядок оказания услуги:

  • Для оказания услуги выбираются пользователи из числа тех, кто обратился в свободной форме в техническую поддержку по электронному адресу vtasks@jscc.ru с целью получения консультации.
  • Для оказания услуги выделяются научные сотрудники, обладающие необходимой компетенцией для оказания услуги, которые коммуницируют с пользователями любым удобным способом с целью выяснения подробностей вопроса по оказании услуги.
  • Пользователь передает свои расчетные коды для проведения анализа на возможность повышения производительности на вычислительных ресурсах Центра.
  • По готовности исполнители оказания услуги организуют проведение консультации для пользователя, на которой обсуждаются пути повышения эффективности использования вычислительных ресурсов Центра.
  • По итогам проведения консультации составляется протокол, который подписывается исполнителями и слушателями консультации.

Описание, состав и порядок оказания услуги закреплены в следующем документе:

  • Описание услуги «Оказание консультационных услуг по повышению эффективности исполнения программных кодов на оборудовании ЦКП».   

В 2019-й году было выполнено оказание новой услуги в пилотном режиме на безвозмездной основе:

  • Проведена консультация для сотрудников ФГУП «ЦИАМ им. П.И. Баранова» по повышению эффективности работы численных методов RANS/ILES высокого разрешения. Рассмотрены вопросы портирования библиотеки по работе с векторами и матрицами специального вида с языка программирования FORTRAN на язык C, расширен функционал библиотеки, отдельные функции векторизованы для использования набора инструкций AVX-512. В результате проведенных оптимизаций было достигнуто ускорение расчетных кодов RANS/ILES в районе 10-15%.
  • Проведена консультация для сотрудников ФГУП «ЦИАМ им. П.И. Баранова» по повышению эффективности работы численных методов моделирования роста льда на поверхности обтекаемого тела. Рассмотрены вопросы локализации программного кода, реализующего решение уравнений массового и теплового баланса для ячеек поверхностной расчетной сетки. Организовано распараллеливание данного кода с помощью OpenMP. В результате выполненного распараллеливания достигнуто ускорение расчета в 0,4n раз, где n – количество вычислительных ядер при использовании одного потока на ядро.
  • Проведена консультация для сотрудников Федерального государственного бюджетного учреждения науки Институт биоорганической химии им. академиков М.М. Шемякина и Ю.А. Овчинникова Российской академии наук по повышению эффективности работы программ расчета молекулярной динамики. Были рассмотрены вопросы локализации программного кода расчета радиальной функции распределения (RDF) и расчета энергии, применения технологий MPI и OpenMP для распараллеливания программ и векторизации программного кода с использованием набора инструкций AVX-512.

 


Осуществление интеграции системы доступа к оборудованию Центра с цифровой системой управления сервисами научной инфраструктуры коллективного пользования (УСНИКП), создаваемой в соответствии с приказом Минобрнауки России от 19 июня 2019 года № 394

Создан следующий документ:

  • Технический отчет «Интеграция системы доступа к оборудованию Центра с цифровой системой управления сервисами научной инфраструктуры коллективного пользования (УСНИКП)».   

Основными разделами документа являются:

  • Перечень документов, на основании которых осуществлялась интеграция доступа в УСНИКП.
  • Цель и состав выполненных задач по интеграции системы доступа к оборудованию Центра с УСНИКП.
  • Выделение и предоставление разделов суперкомпьютеров ЦКП для размещения заданий системы УСНИКП.
  • Сетевая интеграция выделенных разделов с системой УСНИКП.
  • Конфигурация и настройка применяемой в ЦКП системы коллективного пользования и управления заданиями для обеспечения возможности приема заданий из системы УСНИКП и их обработки на выделенных разделах.
  • Программная документация для интегрированной системы.