Разработка программных средств поддержки жизненного цикла и обеспечения эффективности суперкомпьютерных приложений, систем и центровНИР

Software development for supporting supercomputing applications, systems and centers live cycle and efficiency issues

Источник финансирования НИР

госбюджет, раздел 0110 (для тем по госзаданию)

Этапы НИР

# Сроки Название
1 1 января 2021 г.-31 декабря 2021 г. Анализ текущего состояния предметной области по каждому из обозначенных направлений.
Результаты этапа: В ходе выполнения этапа проведен анализ важных аспектов работы суперкомпьютерного центра, связанных с эффективностью его функционирования; была выполнена разработка модульного программного комплекса поддержки суперкомпьютерного центра; осуществлено развитие подходов к построению систем мониторинга для суперкомпьютеров, разработка и развитие методов сохранения данных о состоянии суперкомпьютера и построения «срезов» на любой заданный момент времени; развитие Открытой энциклопедия свойств алгоритмов, направленное на на замыкание цепочки от особенностей решения конкретных вычислительных задач до их эффективной реализации на вычислительных системах.
2 1 января 2022 г.-31 декабря 2022 г. Реализация программного обеспечения по каждому из обозначенных направлений.
Результаты этапа: Были разработаны и реализованы новые методы для анализа и сравнения эффективности использования суперкомпьютерных ресурсов. В рамках работ по разработке модульного программного комплекса поддержки суперкомпьютерного центра произведено расширение функциональности комплекса, тестирование и апробирование реализованного функционала в условиях реальной эксплуатации. Для системы мониторинга было реализовано определение возможностей экспорта-импорта конфигурации подсистемы визуализации, расширение набора собираемых датчиков процессора, исследование подходов к использованию методов CI. Была существенно расширена функциональность анализатора некорректно завершившихся заданий; были проанализированы данные о сбойных задачаниях на суперкомпьютере "Ломоносов-2" за 2022 год; был создан ежедневный дайджест с информацией о сбойных узлах суперкомпьютера; было разработано средство отображения состояния суперкомпьютера на трехмерной визуальной модели. В рамках Открытой энциклопедии свойств алгоритмов AlgoWiki был выполнен ряд работ, позволивших продлить логические цепочки от описаний вычислительных задач до описаний конкретных высокопроизводительных вычислительных систем.
3 1 января 2023 г.-31 декабря 2023 г. Тестовая эксплуатация разработанного программного обеспечения на суперкомпьютерах с традиционной кластерной архитектурой, установленных в МГУ.
Результаты этапа: В рамках направления работ по проведению детального анализа всех важных аспектов работы суперкомпьютерного центра, связанных с эффективностью его функционирования, были разработаны и апробированы методы для предсказания оценок для анализа и сравнения запускаемых на суперкомпьютере заданий с точки зрения эффективности использования ими суперкомпьютерных ресурсов. Данные методы реализованы на суперкомпьютере "Ломоносов-2" МГУ, однако могут быть перенесены и на другие вычислительные системы. Были реализованы способы отображения результатов по полученным оценкам, как для системных администраторов, так и для пользователей. Кроме того, был разработан способ постоянного мониторинга шума (влияния программно-аппаратной среды, изменяющего поведение пользовательских приложений) на суперкомпьютере. Работы над развитием модульного программного комплекса поддержки суперкомпьютерного центра Octoshell заключались в разработке подсистемы контроля корректности данных, доработке механизмов работы с пользовательскими проектами в рамках перерегистрации и реализации версионности для описаний пользовательских проектов. В частности, были проведены работы по очистке имеющихся данных в системе и созданию системы подсказок для администраторов и экспертов о существующих дублирующихся объектах. Было реализовано выделение нестандартных категорий проектов. Для системы мониторинга суперкомпьютеров DiMMon были продолжены работы по реализации методов Continuous Integration (CI) в процессе разработки. Были выработаны подходы к построению модульных тестов (unit tests), был реализован набор таких тестов. Была выполнена интеграция сборочных зависимостей в дерево исходных кодов системы DiMMon. В рамках направления по созданию методов и средств работы со "срезами" состояния суперкомпьютера основные работы были сосредоточены на создании методов и средств визуализации рабочих характеристик суперкомпьютера. Была создана трехмерная фотореалистичная модель суперкомпьютера "Ломоносов-2", а также программная среда, отображающая данную модель в веб-браузере. С помощью данной среды был разработан сервис для системных администраторов, отображающий на визуальной модели рабочие характеристики компонентов суперкомпьютера, такие как статус вычислительных узлов, температуру центральных процессоров, число записей о сбоях в системных журналах узлов и т.д. В ходе работ по развитию Открытой энциклопедия свойств алгоритмов была произведена интеграция Открытой энциклопедии AlgoWiki и цифровой платформы Algo500. Это объединение позволяет заложить основу построения мощной аналитической системы, реализующей базовые принципы суперкомпьютерного кодизайна с возможностями совместного анализа свойств задач, методов, алгоритмов, программных реализаций, архитектур компьютеров и данных о динамике выполнения программ на реальных программно-аппаратных платформах. В ходе выполнения исследования возможности создания защищенной инфраструктуры для проведения удалёнными пользователями открытых экспериментальных исследований в области информационной безопасности было выполнено глубокое совместное изучение алгоритмических особенностей выделенных классов задач из области цифровой криптографии и технологических особенностей современных и перспективных вычислительных архитектур, которые были бы максимально пригодны для эффективной программной реализации обозначенных групп задач и алгоритмов.
4 1 января 2024 г.-31 декабря 2024 г. Тестовая эксплуатация разработанного программного обеспечения на вычислительных установках с нетрадиционными архитектурами, установленных в МГУ.
Результаты этапа: В 2024 году была проведена масштабная апробация разработанной ранее системы оценок (интегрирована в ПО TASС), которая позволяет анализировать эффективность использования различных типов ресурсов в пользовательских приложениях. В частности, был осуществлен перенос данной системы совместно с TASC на два больших суперкомпьютера, входящих в списки наиболее мощных систем России. Была осуществлена подстройка и адаптация решения для более точного соответствия новой архитектуре суперкомпьютеров. Также на основе данного переноса была выполнена модификация разработанного решения, позволяющая сделать его более универсальным, что заметно облегчит последующие переносы в будущем. Помимо этого, был проведен детальный анализ статистики, собранной за год с помощью системы оценок на суперкомпьютере Ломоносов-2. Были изучены общие показатели эффективности использования суперкомпьютерных ресурсов, проанализированы распределения оценок в целом и отдельные оценки для пользователей, проектов и прикладных пакетов в частности. С помощью разработанной системы оценок были обнаружены неизвестные ранее случаи снижения производительности пользовательских приложений. В рамках развития системы поддержки суперкомпьютерного центра Octoshell был разработан инструмент для подсчета узлочасов, количества запусков проектов как на всей вычислительной системе, так и по её отдельным разделам с возможностью предварительного отбора интересующих проектов с помощью фильтров. Добавлены инструменты для мониторинга активности экспертов, проверяющих ежегодные отчеты пользователей, и инструменты, позволяющие сравнивать похожие проекты и пользователей, что облегчает процедуру ежегодной отчётности. Для повышения отчуждаемости Octoshell были выделены настройки, индивидуальные для каждого суперкомпьютерного центра: политика конфиденциальности, используемый SMTP-сервер, эксплуатирующая суперкомпьютерный центр организация, адреса серверов, ответственных за информирование пользователей через телеграмм и др. Эти параметры предлагается редактировать в отдельном файле и на специальной странице в веб-интерфейсе. В 2024 году был осуществлен перенос системы мониторинга DiMMon на два больших суперкомпьютера, входящих в списки наиболее мощных систем России. В ходе данного переноса была проверена применимость DiMMon на другой целевой аппаратуре. Было определено, что система мониторинга в целом легко переносится на другие системы; исключение составляет модуль сбора показателей аппаратных датчиков процессора, в силу существенного различия в списках доступных датчиков и их именовании. Были изучены и реализованы подходы для модификации данного модуля с учетом особенностей новой целевой аппаратуры. Также был выполнен ряд модификаций, позволяющих упростить и автоматизировать процесс сборки системы мониторинга. Помимо этого, было выполнено расширение функционала системы мониторинга DiMMon за счет реализации нового модуля, позволяющего собирать информацию о работе сетевой файловой системы NFS. Данный модуль собирает данные о частоте выполнения операций чтения и записи в файлы, а также о частоте открытия и закрытия файлов. Полученный модуль интегрирован в DiMMon и может применяться в дальнейшем в составе общего решения. Также было проведено исследование причин периодических падений системы мониторинга DiMMon на суперкомпьютере Ломоносов-2. Было определено, в каком месте программы происходит падение, а также выявлены ситуации, приводящие к падениям (они происходят во время выполнения скриптов пролога SLURM). На данный момент выполняется анализ первопричин и поиск методов устранения этих падений. Проведена систематизация имеющихся источников для раздела статистики в системе поддержки функционирования суперкомпьютерного центра, определены требования к формированию срезов на основе временных меток и этапов в жизненном цикле прикладных проектов. Полученный задел позволит на следующем этапе реализовать качественно новый функционал как для администраторов, так и для рядовых пользователей. Задача загрузки больших объёмов пользовательских данных решается в рамках разработки компоненты PerfData проекта Algo500. Реализован микросервис для передачи больших файлов, в основе которого лежит библиотека JavaScript Resumable.js. Микросервис позволяет загружать на сервер файлы размером нескольких десятков гигабайт. При разрыве соединения загрузка файла продолжается с того же места, где была остановлена, благодаря возможности возобновляемой загрузки. Реализуется решение, позволяющее получать данные из базы данных компоненты CompZoo проекта Algo500, представляющее описания архитектур суперкомпьютеров, и затем отображать эти данные в удобном виде, предоставляющем пользователям возможности по изучению и анализу. Разработано решение по визуализации данных описаний архитектур суперкомпьютеров компоненты CompZoo на основе применения вспомогательных javascript-библиотек – полностью в виде дерева, ограниченно – в виде таблицы. Разработано решение по визуализации данных описаний архитектур суперкомпьютеров компоненты CompZoo с использованием чистого JavaScript в табличном и графовом видах – в полном объеме.
5 1 января 2025 г.-31 декабря 2025 г. Развитие интеграционной компоненты Octoshell
Результаты этапа: В большинстве cуперкомпьютерных систем дорогостоящие вычислительные ресурсы контролируются планировщиком заданий. Программа для суперкомпьютера должна эффективно использовать вычислительные ресурсы, но также должен быть найден оптимальный набор параметров запуска, чтобы минимизировать общее время получения результата, то есть сумму времени ожидания и времени выполнения. Современные инструменты профилирования и трассировки хорошо подходят для анализа эффективности, но могут влечь за собой значительные накладные расходы. В данном исследовании предложен подход к анализу вычислительных заданий через одновременное рассмотрение нескольких групп заданий. Предлагается, чтобы группы заданий, потенциально интересные пользователю, определялись совместно с пользователем, и эти группы могут постепенно сужаться для дальнейшего анализа. В рамках данного направления работ описаны три типа анализа: анализ свойств задания, анализ времени до получения результата и сравнение проектов для административных групп пользователей. Кроме того, распространённой практикой в суперкомпьютерных центрах является использование пакетов программного обеспечения. Для решения технических проблем и улучшения сервиса следует собирать сведения о поведении пакетов во время запуска. В ходе эксплуатации современного суперкомпьютерного центра администраторам необходимо иметь структурированную информацию о состоянии пакетов и их лицензий, чтобы предоставлять доступ обычным пользователям к пакетам, соответствуя требованием закона. В данной работе предложен подход к описанию лицензий ПО и организации доступа пользователей к установленному ПО на вычислительных кластерах, который будет реализован в рамках системы поддержки функционирования суперкомпьютерных центров Octoshell через улучшение существующего модуля для управления состоянием ПО, предложены меха- низмы организации доступа пользователей к ПО с учётом лицензионных обязательств. Третье направление работ направлено на своевременное информирование пользователей о найденных признаках существенно неэффективного или подозрительного поведения пользовательских приложений. данный подход и разработанный на его основе инструментарий позволяют гибко настраивать систему уведомлений, а в наиболее критических случаях реализовывать и автоматические реакции, например, принудительное снятие задач со счета, например, в случаях их «зависания». Данный подход реализован в виде прототипа, но при реализации на реальной системе позволит высвобождать значимый объем ресурсов для полезного использования. В результате проведенной работы были изучены и апробированы механизмы для построения различных Roofline моделей и их применения для анализа SQL-запросов, исследованы способы получения данных о производительности SQL-запросов на уровне СУБД, а также проведен первичный корреляционный анализ Roofline метрик и метрик на уровне самой СУБД. В рамках проекта TASC были внедрены технологии Ci/CD, что позволило значительно сократить время на развертывание системы и существенно повысить автоматизацию этого процесса. Также разработана часть unit-тестов, что позволяет уменьшить затраты на поиск ошибок при развертывании и при изменении кода. Продолжается развитие Открытой энциклопедии свойств алгоритмов AlgoWiki и базирующегося на ней проекта масштабируемой цифровой платформы Algo500. Разработана иерархическая модель суперкомпьютрных систем в проекте Algo500 для компоненты CompZoo. Также выполнена разработка клиент-серверной системы управления пользовательскими данными в рамках проекта Algo500.
6 1 января 2026 г.-31 декабря 2026 г. Развитие технологии описания структуры алгоритмов
Результаты этапа: -
7 1 января 2027 г.-31 декабря 2027 г. Развитие технологий суперкомпьютерного кодизайна методами оценивания эффективности приложений
Результаты этапа: -
8 1 января 2028 г.-31 декабря 2028 г. Соответствие свойств и характеристик структуры алгоритмов, приложений и вычислительных систем
Результаты этапа: -

Прикрепленные к НИР результаты

Для прикрепления результата сначала выберете тип результата (статьи, книги, ...). После чего введите несколько символов в поле поиска прикрепляемого результата, затем выберете один из предложенных и нажмите кнопку "Добавить".

Прикрепленные файлы


Имя Описание Имя файла Размер Добавлен