ExtraNoise - комплексный анализ производительности суперкомпьютерных приложений в условиях системного шума реальных программно-аппаратных средНИР

ExtraNoise - Performance analysis of HPC application in noisy environments

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

грант РФФИ

Этапы НИР

# Сроки Название
1 15 января 2021 г.-25 декабря 2021 г. ExtraNoise - комплексный анализ производительности суперкомпьютерных приложений в условиях системного шума реальных программно-аппаратных сред
Результаты этапа: Все заявленные работы выполнены в полном объеме
2 1 января 2022 г.-31 декабря 2022 г. ExtraNoise - комплексный анализ производительности суперкомпьютерных приложений в условиях системного шума реальных программно-аппаратных сред
Результаты этапа: Несмотря на сложные условия работ в 2022г., все основные поставленные задачи выполнены. В связи с ограничениями во взаимодействии с российской стороной, установленными со стороны немецкого грантодателя, ряд согласованных работ над проектом существенно усложняется. Тем не менее, общий план работ над проектом в 2023г. предлагается сохранить, подразумевая, очевидно, невозможность апробации разработанных российской стороной подходов на стороне немецких коллег.
3 1 января 2023 г.-10 января 2024 г. ExtraNoise - комплексный анализ производительности суперкомпьютерных приложений в условиях системного шума реальных программно-аппаратных сред
Результаты этапа: В рамках первого направления работ по проекту был разработан и реализован подход к оценке уровня шума, который базируется на использовании коллективных операций MPI. Также было продемонстрировано использование кластеризации для оценки уровня шума, который может влиять на параллельные приложения. На основе предложенного подхода были выделены аномально долгие операции, которые могли замедлять работу программ в десятки раз. На основе предложенного подхода был разработан программный пакет для отслеживания и анализа уровня шума. Пакет работает путем автоматического запуска тестов и при помощи алгоритмов кластеризации автоматически определяет уровень шума, полученный от запущенных тестов. Это дает возможность получить данные об уровне шума на различных узлах вычислительной системы в различные моменты времени и отслеживать изменения этого уровня. Для решения задачи постоянного мониторинга уровня шума вычислительной системы был предложен другой подход на основе регулярного запуска специальных тестов после выполнения пользовательских приложений. Данный подход не привносит заметных накладных расходов и может работать постоянно. Его апробация на суперкомпьютере петафлопсного уровня производительности показала применимость предложенного решения, в частности, с его помощью уже были выявлены вычислительные узлы, на которых наблюдается высокий уровень шума. При этом предложенный подход может быть легко перенесен на другие вычислительные системы. В рамках второго направления была проведена классификация источников шумов, которые могут влиять на поведение суперкомпьютерных приложений. Всего было определено 17 источников, которые были структурированы в рамках единой иерархии. Также был предложен подход к изучению шумов различных типов и оценке их влияния на поведение суперкомпьютерных приложений. Для основных источников шумов, которые представляют наибольший интерес в рамках данного проекта, были разработаны методы для генерации, измерения и оценки производимых ими шумов. Далее была выполнена реализация и апробация предложенных методов для оценки влияния шумов различного типа на поведение приложений. Были детально рассмотрены 8 типов шумов – 6 типов, источник которых находится на том же вычислительном узле, на котором запущено анализируемое приложение (шум ОС, влияние SMT, а также шумы, создающие конкуренцию за общий процессор, память, сеть MPI или ввод-вывод) и 2 типа шумов на уровне системы (создающие конкуренцию за общую коммуникационную сеть и общую файловую систему). Для каждого типа на примере суперкомпьютера петафлопсного уровня производительности было показано, насколько сильно данный шум может влиять на различные распространенные бенчмарки и типовые вычислительные ядра. Например, было показано, что влияние конкуренции за ввод-вывод зачастую невелико, а шум, задействующий подсистему памяти на узле или общую коммуникационную сеть на уровне всей системы, может существенно замедлить выполнение пользовательских приложений. Также проведенное исследование позволило выявить, какие из распространенных бенчмарков и типовых ядер наиболее и наименее подвержены влиянию определенных типов шумов. Также была выполнена программная реализация и последующая апробация расширения существующей системы отчетов JobDigest за счет информации о шуме на суперкомпьютере, полученной в рамках первого направления. Данное расширение позволяет для каждого пользовательского приложения показать уровень шума, который наблюдался на используемых в приложении вычислительных узлах. Открытая энциклопедия свойств алгоритмов AlgoWiki (https://algowiki-project.org/en/) - это проект в сети Интернет, предназначенный для описания свойств различных вычислительных алгоритмов по единой универсальной схеме. Выполнен анализ описания динамических характеристик реализаций алгоритмов в энциклопедии AlgoWiki, выявлены слабые места. Предложены два способа модификации метрики масштабируемости, используемой в рамках Открытой энциклопедии свойств алгоритмов AlgoWiki, – через аппроксимирующую функцию и с помощью численного интегрирования. На практике оба метода показали почти одинаковые и достаточно точные значения на всех входных параметрах, однако у второго подхода имеются существенные преимущества. Выполнен обзор доступных инструментальных средств для анализа динамических характеристик реализаций алгоритмов. В зависимости от цели исследования и необходимости различного рода информации необходимы различные инструментальные средства, которые достаточно условно можно разделить по целям исследования (профилировщики, трассировщики), по методу сбора данных о работающей программе (анализ только выполнения бинарного кода, инструментирование исходного кода). Существуют также инструменты, способные выполнять одновременно трассировку и профилирование программ. В качестве отдельной сущности Открытой энциклопедии свойств алгоритмов AlgoWiki наряду с описанием решаемых задач, методов и алгоритмов выделены описания реализаций алгоритмов для конкретных программно-аппаратных платформ. Общее количество страниц реализаций алгоритмов с описанием тех или иных динамических характеристик (таких как свойства локальности использования оперативной памяти, масштабируемости и другие) в Открытой энциклопедии свойств алгоритмов AlgoWiki превышает 70. Проведена разработка требований к описаниям динамических характеристик реализаций алгоритмов в энциклопедии AlgoWiki с учётом шума среды. На базе этих требований разработаны методы описания реализаций алгоритмов в энциклопедии AlgoWiki с учётом шума среды. Данные методы основываются на разработанных ранее методах для оценки влияния шумов различного типа на поведение приложений. Исследована возможность классификации алгоритмов, методов решения задач и самих задач по степени зависимости от шума среды. Разработан порядок действий, следуя которому можно получить описание всей иерархии представления классификации алгоритмов в энциклопедии AlgoWiki с разметкой по зависимости от разных типов шума среды. При этом ручное внесение данных потребуется только для реализаций алгоритмов, разметка всех вышестоящих уровней (алгоритма, метода, задачи) может быть выполнена автоматически. Полученные результаты отражаются в выступлениях в рамках международных конференций и публикуются в научных статьях.

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

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