ИСТИНА |
Войти в систему Регистрация |
|
ИСТИНА ИНХС РАН |
||
Одной из наиболее актуальных и сложных проблем в области высокопроизводительных вычислений является низкая эффективность выполняемых на суперкомпьютере приложений. Ситуацию осложняет тот факт, что в большинстве случаев пользователь даже и не знает, что его приложение работает неэффективно. Поэтому необходимы подходы для анализа состояния всего суперкомпьютера, которые позволяют обнаруживать такие приложения. Существует достаточно много систем мониторинга, которые позволяют собирать всевозможные данные о состоянии суперкомпьютера, в том числе о характеристиках выполняемой программы. Однако каким образом и какую полезную информацию можно извлечь из получаемых данных? Одно из направлений заключается в исследовании потока задач, выполняемых на суперкомпьютере, с целью выявления приложений с необычными динамическими характеристиками или необычным поведением, или, иначе говоря, – приложений с аномальным поведением. Очень часто именно аномальное поведение программы является признаком крайне низкой эффективности ее работы. Задача данного проекта – исследование и разработка методов для выявления подобного аномального поведения в потоке задач суперкомпьютера. Эти методы позволят не только определять факт наличия аномальных приложений, но и выполнять более сложные функции – локализовать фрагменты запусков задач, ответственных за аномальное поведение, а также изучать взаимное влияние выполняемых приложений друг на друга. В результате выполнения проекта будет выполнена формализация понятия аномального поведения приложений и потока задач; исследованы методы для выявления аномального поведения в отдельных приложениях и потоке задач в целом на основе данных системного мониторинга; разработан прототип, реализующий предложенные методы, а также проведена апробация выполненных решений на суперкомпьютерном комплексе Московского государственного университета имени М.В. Ломоносова; проведено исследование возможных причин возникновения аномального поведения, приводящего к снижению эффективности.
One of the most actual and complex problems in the field of high performance computing is the low efficiency of the applications running on the supercomputer. The situation is complicated by the fact that in most cases the user does not even know that his application is not working efficiently. Therefore, approaches are needed to analyze the state of the entire supercomputer which will allow to detect such applications. There are many monitoring systems that allow you to collect all kinds of data about the state of the supercomputer, including the characteristics of the program being executed. However, how and what useful information can be extracted from the data obtained? One direction is to study the flow of tasks performed on a supercomputer, to identify applications with unusual dynamic characteristics or unusual behavior, or in other words, - applications with anomalous behavior. Very often the anomalous behavior of the program is a sign of an extremely low efficiency of its work. The objective of this project - the research and development of methods for the detection of this abnormal behavior in the stream supercomputer tasks. These methods will not only determine the existence of abnormal applications, but also to perform more complex functions - localized fragments launches tasks, responsible for the abnormal behavior, as well as to study the mutual influence of running applications on top of each other. As a result of the project, formalization of the concept of anomalous application behavior and the task flow will be carried out; methods to detect anomalous behavior in specific applications and task flow based on system monitoring data will be studied; a prototype that implements the proposed methods will be developed, as well as testing of developed implementation will be conducted on the Lomonosov Moscow State University supercomputer complex; possible causes of anomalous behavior leading to reduced efficiency will be studied.
В результате выполнения всего проекта ожидаются следующие основные результаты. Будет выполнена формализация понятий аномального поведения выполняемого приложения, а также аномального поведения профиля потока задач в целом. Эта формализация позволит четко сформулировать критерии для определения аномалий, а также позволит составить набор функциональных требований, которым должны удовлетворять исследуемые методы анализа аномального поведения. Будет выполнено исследование методов анализа и выявления приложений с аномальным поведением, отличающимся от поведения большинства приложений в исследуемом потоке задач, на основе данных системного мониторинга. Для этого будет выполнен анализ как отдельных характеристик, так и взаимосвязь нескольких характеристик; а также изучение аномальных фрагментов, возникающих в рамках отдельного запуска, что позволит локализовать причины аномального поведения. Также будет выполнено изучение методов анализа профиля потока задач в целом, которые будут нацелены не на выявление аномалий в рамках отдельных приложений, а на изучение аномалий, возникающих при взаимном влиянии нескольких приложений или внешних факторов суперкомпьютерной среды. Будет разработан прототип системы, реализующей предложенные методы для выявления аномального поведения. Для проверки работоспособности и эффективности разрабатываемого прототипа будет проведена апробация предложенных решений на реальных данных о потоке задач, выполняющихся на суперкомпьютерном комплексе. Будет проведено исследование возможных причин аномального поведения приложений, определение которых позволит в значительной степени ускорить процесс устранения аномалий и, как следствие, повышения эффективности выполнения приложений.
Коллектив данного проекта уже несколько лет активно занимается исследованием и разработкой программных средств для анализа и повышения эффективности работы как отдельных приложений, так и всего суперкомпьютерного комплекса в целом. Ведется разработка системы мониторинга суперкомпьютерных систем, архитектура которой в процессе работы может быть динамически перестроена в зависимости от текущих требований. Такая гибкость позволяет варьировать детализацию собираемых данных и при этом обеспечивает масштабируемость и полноценную функциональность данной системы на различных суперкомпьютерах. Данная система позволяет собирать всю необходимую информацию не только о работоспособности суперкомпьютера, но и об эффективности его работы и выполняемых на нем приложений. Также ведется исследование эффективности работы с памятью. На основании совместного анализа структуры программ и подсистем памяти вычислительных систем, предложен подход к исследованию степени локальности данных в программах. В рамках этого подхода разработано средство для получения профиля обращений в память, анализ которого позволяет исследовать локальность работы с памятью. Разработаны метрики для оценки локальности и производительности взаимодействия с памятью, которые могут быть использованы для сравнения эффективности работы с памятью в различных программах. Отдельный проект был посвящен исследованию поведения динамических характеристик выполнения приложений, в рамках которого была разработана методика описания типовых причин и признаков производительности. Выделены характерные примеры, сигнализирующие о возможном неэффективном поведении приложений. Ведется активная разработка программной системы для обеспечения надежности и работоспособности суперкомпьютерных центров. Она призвана анализировать состояние суперкомпьютера, определять нештатные ситуации и требуемым образом реагировать на эти ситуации с целью устранения возможных причин и последствий, а также минимизации простоя ресурсов.
Результаты за 2016 год: 1. Выполнен обзор существующих решений, направленных на анализ эффективности выполнения потока суперкомпьютерных приложений с помощью методов машинного обучения. Данный обзор не выявил работ на данную тему, однако было найдено достаточно много смежных исследований, результаты которых помогли определить направление работ по нашему проекту. 2. Выполнено качественное определение понятия аномального поведения суперкомпьютерного приложения и определены типы аномального поведения. 3. Сформулированы функциональные требования к разрабатываемым методам классификации аномалий, а также описаны условия, в которых должны работать данные методы. 4. Проведено исследование методов выделения аномалий на основе анализа отдельных динамических характеристик. Полученный опыт показал, что анализ отдельных характеристик плохо подходит для решения поставленной задачи, поскольку в каждом случае классификации учитывается только небольшая часть данных по некоторой конкретной характеристике, и не учитывается их взаимосвязь. Поэтому было решено перейти к анализу множества характеристик. 5. Проведено исследование методов выделения аномальных задач («посмертный» анализ) на основе совместного анализа множества характеристик, которые показали, что алгоритмы обучения с учителем хорошо подходят для решения данной задачи. В результате проведенного совместного анализа множества характеристик был разработан метод на основе алгоритма Random Forest, который определяет принадлежность задачи к одному из трех классов – аномальная, подозрительная или нормальная задача. Обучение проводилось на реальных задачах, выполнявшихся на суперкомпьютере «Ломоносов». 6. Проведен анализ ошибок с целью повышения точности разработанного метода. На основе данного анализа был осуществлен набор оптимизаций разработанного метода. В частности, для более явного разделения классов по значениям характеристик был выделен набор производных характеристик, что позволило повысить точность. 7. На основе разработанного метода был реализован программный прототип, который успешно апробирован на суперкомпьютере «Ломоносов». Данный прототип периодически выполняет анализ потока выполненных задач и выделяет новые аномальные и подозрительные запуски. Каждые сутки отчет с результатами отправляется по электронной почте администраторам системы. 8. Для облегчения процесса составления обучающего набора, для анализа корректности работы инструмента и для удобного отображения полученных результатов был разработан web-интерфейс, позволяющий визуализировать различные аспекты поведения потока задач. В рамках данного интерфейса, в частности, был опробован метод оперативной классификации еще выполняющихся задач, который показал применимость разработанного подхода для работы в режиме реального времени. 9. В результате апробации разработанного инструмента была собрана статистика за 1.5 месяца работы суперкомпьютера. За это время было обнаружено около 250 задач, которые выполнялись с аномально низкой эффективностью.
грант РФФИ |
# | Сроки | Название |
1 | 1 января 2016 г.-31 декабря 2016 г. | Исследование аномалий в потоках задач для повышения эффективности работы больших суперкомпьютерных комплексов |
Результаты этапа: 1. Выполнен обзор существующих решений, направленных на анализ эффективности выполнения потока суперкомпьютерных приложений с помощью методов машинного обучения. Данный обзор не выявил работ на данную тему, однако было найдено достаточно много смежных исследований, результаты которых помогли определить направление работ по нашему проекту. 2. Выполнено качественное определение понятия аномального поведения суперкомпьютерного приложения и определены типы аномального поведения. 3. Сформулированы функциональные требования к разрабатываемым методам классификации аномалий, а также описаны условия, в которых должны работать данные методы. 4. Проведено исследование методов выделения аномалий на основе анализа отдельных динамических характеристик. Полученный опыт показал, что анализ отдельных характеристик плохо подходит для решения поставленной задачи, поскольку в каждом случае классификации учитывается только небольшая часть данных по некоторой конкретной характеристике, и не учитывается их взаимосвязь. Поэтому было решено перейти к анализу множества характеристик. 5. Проведено исследование методов выделения аномальных задач («посмертный» анализ) на основе совместного анализа множества характеристик, которые показали, что алгоритмы обучения с учителем хорошо подходят для решения данной задачи. В результате проведенного совместного анализа множества характеристик был разработан метод на основе алгоритма Random Forest, который определяет принадлежность задачи к одному из трех классов – аномальная, подозрительная или нормальная задача. Обучение проводилось на реальных задачах, выполнявшихся на суперкомпьютере «Ломоносов». 6. Проведен анализ ошибок с целью повышения точности разработанного метода. На основе данного анализа был осуществлен набор оптимизаций разработанного метода. В частности, для более явного разделения классов по значениям характеристик был выделен набор производных характеристик, что позволило повысить точность. 7. На основе разработанного метода был реализован программный прототип, который успешно апробирован на суперкомпьютере «Ломоносов». Данный прототип периодически выполняет анализ потока выполненных задач и выделяет новые аномальные и подозрительные запуски. Каждые сутки отчет с результатами отправляется по электронной почте администраторам системы. 8. Для облегчения процесса составления обучающего набора, для анализа корректности работы инструмента и для удобного отображения полученных результатов был разработан web-интерфейс, позволяющий визуализировать различные аспекты поведения потока задач. В рамках данного интерфейса, в частности, был опробован метод оперативной классификации еще выполняющихся задач, который показал применимость разработанного подхода для работы в режиме реального времени. 9. В результате апробации разработанного инструмента была собрана статистика за 1.5 месяца работы суперкомпьютера. За это время было обнаружено около 250 задач, которые выполнялись с аномально низкой эффективностью. | ||
2 | 1 января 2017 г.-31 декабря 2017 г. | Исследование аномалий в потоках задач для повышения эффективности работы больших суперкомпьютерных комплексов |
Результаты этапа: 1. Разработан метод выделения фрагментов задач для проведения анализа в рамках отдельных запусков. Данный метод определяет резкие изменения в поведение программы, что позволяет выделять логические этапы работы программы. 2. Проведено исследование существующих подходов к анализу и классификации временных рядов с целью оценки их применимости для выделения аномальных фрагментов задач. 3. На основе изученных подходов разработан метод обнаружения аномальных фрагментов, возникающих в рамках отдельного запуска. Данный метод использует разработанный способ выделения интервалов; для классификации применяется модифицированный алгоритм на основе Random Forest, разработанный на прошлом этапе. Для повышения его точности был проведен ряд работ: - составлен новый обучающий набор, состоящий из вручную классифицированных интервалов; - проведена тонкая настройка параметров работы классификатора; - осуществлен поиск оптимального набора характеристик с помощью методов дискриминантного анализа. 4. Предложен метод классификации задач на основе результатов классификации интервалов. Проведенные работы позволили повысить точность классификации задач с 0.835 (на прошлом этапе) до ~0.95. 5. Разработанный метод поиска аномального поведения был реализован и апробирован на реальных данных в Суперкомпьютерном центре МГУ. Качество работы данного метода было проверено на новых, еще не классифицированных ранее задачах. В течение 10 дней работы классификатор обнаружил 190 подозрительных и 64 аномальных задачи, которые затем были проверены вручную. В результате точность классификации составила 0.98 на аномальных и 0.95 на подозрительных задачах. 6. Был проведен полномасштабный анализ реальных данных, собранных с весны этого года. Всего было обнаружено 6000+ аномальных и подозрительных задач, которые был запущены 70+ пользователями суперкомпьютера. 7. Проведено исследование корреляций между поведением различных динамических характеристик. Для этого был проведен визуальный анализ линейной корреляции для всех задач и отдельно по наиболее активным пользователям, а также анализ корреляции на основе критерия Фишера. | ||
3 | 1 января 2018 г.-31 декабря 2018 г. | Исследование аномалий в потоках задач для повышения эффективности работы больших суперкомпьютерных комплексов |
Результаты этапа: 1. Завершена адаптация разработанных методов обнаружения аномального поведения для работы с выполняющимися задачами, для этих целей реализован новый метод на основе нейронных сетей. Разработан новый обучающий набор, который позволил более точно определять аномальное поведение задач. 2. Реализовано оповещение пользователей о найденных аномальных приложениях. Это выполнено в рамках системы организации работы суперкомпьютеров Октошелл, что позволяет пользователям оперативно отслеживать, какие из выполняющихся (или уже выполненных) задач обладают аномальным поведением. На данный момент эта реализация проходит апробацию на суперкомпьютере Ломоносов-2. 3. Проведено более детальное изучение корреляций между динамическими характеристиками. Проведен анализ корреляций для отдельных пользователей и типов задач, и это позволило выявить определенные зависимости между поведением характеристик, при этом было обнаружено, что зачастую для разных пользователей эти корреляции противоположны. Чаще всего зависимости встречаются между частотами кэш-промахов в память разного уровня, при этом характеристики загрузки ЦПУ коррелируют с другими характеристиками реже остальных. 4. Исследовано и определено понятие аномального поведения в профиле потока задач. Описаны методы для обнаружения подобных аномалий, некоторые из которых были апробированы на реальных данных суперкомпьютера Ломоносов-2. В частности, исследованы типы аномального поведения профиля задач на основе текущего «снимка» состояния суперкомпьютера, а также на основе данных об аномальных приложениях, полученных с помощью разработанных ранее методов. 5. Завершена программная реализация всех разработанных методов, проведена масштабная апробация программного решения на суперкомпьютере Ломоносов-2. Выполнены оценки производительности полученного решения. 6. Разработана методика применения предложенного метода обнаружения аномалий на других суперкомпьютерах, которая описана в виде алгоритма действий, которые необходимо предпринять для портирования разработанного решения. |
Для прикрепления результата сначала выберете тип результата (статьи, книги, ...). После чего введите несколько символов в поле поиска прикрепляемого результата, затем выберете один из предложенных и нажмите кнопку "Добавить".