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

кандидата физико-математических наук
Никитенко, Дмитрий Александрович
город
Москва
год
2014
специальность ВАК РФ
05.13.11
Автореферат по информатике, вычислительной технике и управлению на тему «Комплексный подход к исследованию причин и признаков снижения эффективности суперкомпьютерных приложений и систем на основе данных системного мониторинга»

Автореферат диссертации по теме "Комплексный подход к исследованию причин и признаков снижения эффективности суперкомпьютерных приложений и систем на основе данных системного мониторинга"

На правах рукописи

Никитенко Дмитрий Александрович

КОМПЛЕКСНЫЙ ПОДХОД к ИССЛЕДОВАНИЮ

ПРИЧИН И ПРИЗНАКОВ СНИЖЕНИЯ ЭФФЕКТИВНОСТИ СУПЕРКОМПЬЮТЕРНЫХ ПРИЛОЖЕНИЙ И СИСТЕМ НА ОСНОВЕ ДАННЫХ СИСТЕМНОГО МОНИТОРИНГА

05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Автореферат диссертации на соискание учёной степени кандидата физико-математических наук

3 О СКТ 2014

Москва-2014

005553888

005553888

Работа выполнена в ФГОУ ВПО "Московский государственный университет имени М.В.Ломоносова".

Научный руководитель: доктор физико-математических наук,

профессор, член-корреспондент РАН, Воеводин Владимир Валентинович

Официальные оппоненты: Аветисян Арутюн Ишханович

доктор физико-математических наук, доцент, ИСП РАН, ученый секретарь

Гергель Виктор Павлович

доктор технических наук, профессор,

факультет ВМК

Нижегородского государственного университета им. Н.И. Лобачевского, декан

Ведущая организация:

Межведомственный суперкомпьютерный центр РАН

Защита состоится 28 ноября 2014 года в 15 часов на заседании диссертационного совета Д 501.002.09 Московского государственного университета имени М.В. Ломоносова по адресу: 119991, г. Москва, Ленинские горы, д.1, стр. 4, НИВЦ МГУ, конференц-зал.

С диссертацией можно ознакомиться в Научной библиотеке МГУ имени М.В. Ломоносова (Ломоносовский проспект, 27) и на сайте:

http://srcc.msu.ru/nivc/sci/dissert/dissert.html

Автореферат разослан о 'сгу^Я_2014 года.

Учёный секретарь

диссертационного совета' Суворов Владимир Викторович

Общая характеристика работы

Актуальность темы. Современные суперкомпьютерные центры обладают огромными вычислительными ресурсами, эффективное использование которых позволяет получать прорывные решения во многих областях промышленности, науки и образования. В это вносят вклад и новые разработки в архитектуре и алгоритмах, и сам рост масштабов вычислителей. Передовые вычислительные системы уже сейчас содержат десятки, сотни тысяч, а то и миллионы вычислительных ядер. Российская система Ломоносов насчитывает около 90 ООО вычислительных ядер при пиковой производительности 1,7 РР1ор/з. Масштабы решаемых задач также растут по мере роста возможностей суперкомпьютеров. Для одних задач рост вычислительных возможностей отражается на скорости получения результатов, для других -на его точности и т.д. Кроме того, появляются задачи, к решению которых в принципе стало возможным подступиться, достигнув определенного уровня параллелизма.

Проводя анализ истории развития вычислительных возможностей суперкомпьютеров, например, на основании рейтинга Топ500 самых мощных вычислительных систем в мире, замечено, что производительность передовых вычислительных установок увеличивается на три порядка приблизительно каждые 10 лет. На данный момент производительность самых мощных систем измеряется десятками РР1ор/Б (1016 операций в секунду), а число вычислительных ядер достигает трех миллионов. Большинство экспертов сходятся во мнении, что через несколько лет суперкомпьютерные системы выйдут на экзафлопсный уровень производительности. Вокруг данной темы, которую чаще всего именуют термином «ЕхахсаЬ», по всему миру ведутся активные работы, вовлечены ведущие специалисты, представляющие лидирующие мировые центры. Вычислительные системы будут содержать сотни миллионов ядер, но столь невероятный ресурс параллелизма при всей своей привлекательности ставит массу серьезных вопросов. Один из них состоит в обеспечении эффективного использования возможностей самих суперкомпьютеров. Для передовых, дорогостоящих систем, для систем с высокой стоимостью содержания, высоким уровнем электропотребления, этот вопрос стоит наиболее остро. Даже самая мощная вычислительная система при низкой эффективности работы может по реальной отдаче опуститься на одну ступень с существенно уступающей в своем потенциале системой. Именно поэтому очень важно уделять особое внимание эффективности использования вычислительных систем и суперкомпьютерных центров.

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

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

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

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

Полученные научные результаты и положения, выносимые на защиту:

1. Предложен и обоснован комплексный подход к анализу эффективности работы суперкомпьютерных приложений и систем на основе исследования потоков данных системного мониторинга суперкомпьютерных комплексов.

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

3. Предложена методика, опирающаяся на понятие причин и признаков снижения эффективности суперкомпьютерных приложений и систем, направленная на нахождение истинных источников потерь производительности.

4. Предложенные в данной работе подходы, методы и методики прошли успешную апробацию в рамках суперкомпьютерного комплекса Московского университета на большом числе реальных приложений пользователей.

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

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

Предложенные в рамках подхода методы могут лечь в основу для разработки программно-аппаратных решений, обеспечивающих контроль над эффективностью использования вычислительных ресурсов на всех уровнях: от уровня отдельного приложения до уровня использования ресурсов отдельного раздела суперкомпьютера или системы в целом. Результаты, полученные в ходе апробации разработанных методов на системах суперкомпьютерного комплекса Московского университета, показали эффективность предложенного подхода и перспективность работ в данном направлении.

Личный вклад автора. Все исследования, результаты которых изложены в диссертационной работе, проведены лично автором в процессе научной деятельности. Из совместных публикаций в результаты диссертационной работы включен лишь тот материал, который непосредственно принадлежит автору.

Соответствие диссертации паспорту научной специальности. Содержание и результаты работы соответствуют паспорту специальности 05.13.11, а именно соответствует областям исследований:

• модели, методы и алгоритмы проектирования и анализа программ и программных систем, их эквивалентных преобразований, верификации и тестирования;

• модели, методы, алгоритмы, языки и программные инструменты для организации взаимодействия программ и программных систем;

• модели и методы создания программ и программных систем для параллельной и распределенной обработки данных, языки и инструментальные средства параллельного программирования;

• оценка качества, стандартизация и сопровождение программных систем.

Публикации. По теме диссертации опубликовано 15 научных работ, из них 10 в журналах из списка ВАК.

Апробация работы. Основные положения работы прошли обсуждение и представлялись на научных семинарах и конференциях:

• на международных суперкомпьютерных конференциях серии «Научный сервис в сети Интернет» (г.Новороссийск, 2012, 2013 гг.),

• на научной конференции «Ломоносовские чтения» (г.Москва, 2013г.);

• на международной научной конференции «Параллельные вычислительные технологии (ПаВТ'2012)» (г.Новосибирск, 2012г.);

• на Всероссийской конференции «Высокопроизводительные параллельные вычисления на кластерных системах» (г.Нижний Новгород, 2011г.);

• на международной конференции «Современные проблемы математики, информатики и биоинформатики». (г.Новосибирск, 2011г.);

• на международных конференциях серии «International Supercomputing Conference (ISC)» (Германия, 2012, 2013 гг.);

• на международных конференциях серии «Supercomputing Conference (SC)» (США, 2012, 2013 гг.);

• на научном семинаре НИВЦ МГУ.

Результаты работы были апробированы в рамках выполнения работ по грантам и контрактам:

• гранты РФФИ №13-07-00786-а и № 13-07-12206-офи_м;

• государственные контракты №14.514.11.4107, №14.514.11.4062 и соглашение №14.577.21.0020 с Министерством образования и науки Российской Федерации;

• а также при выполнении государственного контракта с Министерством образования и науки Российской Федерации № 07.514.12.4001, выполняемого в рамках скоординированного конкурса между Россией и Евросоюзом.

Структура и объем работы. Диссертация состоит из введения, 4 глав, заключения и списка литературы. Общий объем диссертации - 141 страница. Список литературы включает 54 наименования.

Содержание работы

Во Введении приведено обоснование актуальности данной работы и ее научной новизны, сформулированы основные цели и приведено краткое описание структуры диссертации.

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

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

В предметной области существуют все предпосылки к проведению комплексных исследований в области исследования эффективности суперкомпьютерных систем и структуры их загрузки на основании данных системного мониторинга.

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

Вторая глава посвящена описанию идеи предлагаемого комплексного подхода к исследованию эффективности суперкомпьютерных приложений и систем.

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

В рамках комплексного подхода предлагается проводить исследование на трех базовых уровнях, полностью покрывающих всю систему - от узла до всего счетного поля и от эффективности отдельной задачи до интегрального использования ресурсов:

• уровень анализа эффективности приложения;

• уровень исследования качества использования разделов суперкомпьютера;

• уровень исследования степени использования ресурсов всей вычислительной системы.

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

ЭФФЕКТИВНОСТЬ СУПЕРКОМПЬЮТЕРНЫХ ПРИЛОЖЕНИЙ

СООТВЕТСТВИЕ ЗАДАЧ РАЗДЕЛАМ

ЭФФЕКТИВНОСТЬ ИСПОЛЬЗОВАНИЯ РЕСУРСОВ СИСТЕМЫ В ЦЕЛОМ

ТУ

ПРИЧИНЫ И ПРИЗНАКИ СНИЖЕНИЯ ЭФФЕКТИВНОСТИ СУПЕРКОМПЬЮТЕРНЫХ ПРИЛОЖЕНИЙ

ИНТЕГРАЛЬНЫЕ ХАРАКТЕРИСТИКИ СУПЕРКОМПЬЮТЕРНЫХ ПРИЛОЖЕНИЙ

и

ДИНАМИЧЕСКИЕ ХАРАКТЕРИСТИКИ СУПЕРКОМПЬЮТЕРНЫХ ПРИЛОЖЕНИЙ

ДАННЫЕ СИСТЕМНОГО МОНИТОРИНГА

Рис. 1. Данные системного мониторинга как единая основа для реализации комплексного подхода к исследованию эффективности суперкомпьютерных

приложений и систем.

Полученные на основе данных системного мониторинга динамические характеристики приложения являются основным предметом исследования при выявлении причин и признаков снижения производительности. Они представляют собой последовательности пар значений и времен (VI,ТО минимальных, средних и максимальных значений по каждой из характеристик. По динамическим характеристикам далее получаются интегральные характеристики суперкомпьютерных приложений (усреднение значений для отдельной задачи по времени, а затем по всем задействованным ею узлам, вычислительным ядрам или интерфейсам). Интегральные характеристики являются основным предметом исследования вопроса соответствия задач разделам суперкомпьютера и могут быть использованы как при исследовании использования ресурсов системы в целом, так и при исследовании отдельного приложения.

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

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

Опираясь на данные системного мониторинга, т.е. рассматривая только данные времени исполнения параллельной программы, в работе сделано допущение использования в качестве синонимов терминов приложение, задача и программа.

В главе также выделены важные вопросы, которые необходимо решить при организации сбора данных системного мониторинга для решения задачи, поставленной перед работой:

• выбор и конфигурация системы мониторинга как источника данных;

• осуществление, по возможности, обработки и агрегации данных «на лету»;

• использование сырых, непрореженных данных только для специальных исследований, сохраняя их отдельно от основного потока.

В третьей главе формируется основа для реализации предложенного подхода.

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

• загрузка процессора: пользовательская (CPU user), число операций с плавающей точкой (Flop/s), число процессов, готовых принять управление (LoadAverage);

• работа с памятью: свопинг, число обращений к памяти, число промахов в кэш, объем свободной памяти;

• ввод/вывод: интенсивность работы с файловой системой (скорость чтения и записи);

• коммуникации: интенсивность межузлового обмена (скорость приема и передачи).

При проведении узконаправленных исследований, набор может быть уточнен исходя из специфики анализа. Возможности современных средств сбора данных системного мониторинга (Ganglia, Collectd, ClustrXWatch и другие) достаточно широки и в смысле большого количества доступных для снятия метрик, и достаточно высокой возможной частоты их съема. Сбор, пересылка и сохранение необработанных данных системного мониторинга, а особенно получение ранее сохраненных данных для апостериорного анализа, превращаются в ресурсоемкую задачу при попытке одновременного использования максимальных настроек по частоте съема и числу снимаемых характеристик. На практике для каждой системы и решаемой задачи исследования эффективности целесообразно, прежде всего, определить

9

некоторый набор необходимых характеристик, а затем провести настройку частоты съема данных с тем, чтобы удовлетворить потребности в информативности показаний и уложиться в допустимые рамки накладных расходов. Часто используют возможность повышения грануляции по времени отдельных датчиков за счет снижения общего числа обрабатываемых метрик. Обычно для систем мониторинга считается разумным уровень накладных расходов не превышающий 1% вычислительных ресурсов, в том числе сетевого трафика.

Табл. 1. Пример описания диапазона значений для Load Average Average для

узлов из К штук N-ядерных процессоров.

Значение Характерная трактовка

0 Нет готовых к взятию управления процессов

N*K Полная загрузка процессоров при отсутствии конкуренции процессов. Идеальный вариант.

На 1..К ниже N*k рчлпияя нп не. полная загрузка

N*K < х < 1,5 N*K Повышенная конкуренция между процессами

Много более N*K Очень большая конкуренция. Процессов больше, чем ресурсов, часть всегда будет простаивать. Частая смена контекстов.

Менее 0 Не соответствует природе характеристики

Отдельное внимание уделяется вопросу корректности трактовки значений с источников системного мониторинга и динамических характеристик. Вызвано это тем, что различные системы мониторинга или их версии предоставляют одни и те же характеристики в разных форматах. Для решения данной задачи предложено:

• для каждой динамической характеристики должен быть определен диапазон допустимых значений и диапазоны значений с типовой трактовкой (табл. 1).

• для каждой исследуемой динамической характеристики должно быть составлено ее подробное описание, включающее: описание смысла характеристики, единицы измерения, принципы и частоту получения значений, указание источника данных и условий его доступности;

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

• признак - аномальное, необычное поведение приложения, сигнализирующее о снижении эффективности работы;

• причина - обстоятельство, вызвавшее это поведение.

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

ключевых характеристик. Это позволяет проводить согласованный анализ причин и признаков снижения эффективности по изменениям поведения динамических характеристик, отражающих состояние различных компонент программно-аппаратной среды.

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

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

Рассмотрим пример, иллюстрирующий, что будем понимать под причинами и признаками снижения эффективности. Допустим, в ходе анализа динамики поведения задачи обнаруживается, что значительную часть времени процессор не используется для вычислений. Это служит признаком потенциального снижения эффективности работы. При детальном рассмотрении определяется, что это время задача провела на выполнении операций ввода-вывода (а ввод-вывод - это одна из самых дорогих операций). Таким образом, причина потенциального снижения эффективности - ввод/вывод. Однако, факт длительного пребывания в состоянии ввода/вывода сам по себе уже является признаком неэффективного поведения приложения. Причиной же интенсивного ввода-вывода может оказаться неустранимая особенность алгоритма или программной реализации. В других же случаях проблема может заключаться в неверных настройках, скажем, частоты сохранения промежуточных данных программы. Еще возможный вариант - ограничение пропускной способностью канала ввода/вывода и т.д.

В зависимости от наличия сведений об обстоятельствах запуска, исследование может быть ограничено промежуточным уровнем, на котором обнаружилось соответствие интервалов с малым числом вычислительных операций и интенсивного ввода/вывода. Тем не менее, основной задачей является определение самой природы проблемы. При ее определении уже становится возможным использовать профильный инструментарий и подход для дальнейшего глубокого анализа приложения. Например, такие средства как Scalasca, ThreadSpotter, Vampir. Кроме того, не следует забывать, что подходы на основе данных системного мониторинга в принципе не предполагают

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

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

В работе продемонстрировано одновременное изменение динамических характеристик, соответствующих взаимосвязанному поведению ресурсов, степень использования которых они отражают. Например, в условиях конкурентного использования, это пользовательская загрузка процессора, работа с файловой системой и сетевая активность (рис. 2).

Ш ё ШГЮу 14 Ы1Й и

СРи иэег

т т.т.т.т » * т «к Ш Ж

ЕШегпеЦФС)

1_1_1 i_.li.. 1_.X* 1 1. 1 1_,*» 1__. 1___l_.lt 1 - и-

1пГш|Ьапс1 р. - *

Рис. 2. Взаимосвязанное поведение динамических характеристик приложения: загрузка процессора, работа с файловой системой и сетевой обмен.

В четвертой главе приводится описание методов, реализующих предложенный подход выделения причин и признаков и основанный на анализе потоков данных системного мониторинга.

Для всех методов общим является подготовительный этап, состоящий в обеспечении возможности получения данных системного мониторинга и метаданных о задачах в соответствии с требованиями проводимых исследований. С этой целью определяются следующие особенности целевых программно-аппаратных сред:

• рассматриваемая система - система кластерного типа, состоящая из множества вычислительных узлов, соединенных одним или несколькими типами коммуникационных сетей;

• система работает под управлением ОС семейства Linux;

• система управления потоком задач установлена и настроена таким образом, что позволяет получить доступ к сведениям о запуске каждой задачи: идентификация задачи, принадлежность разделу, время начала и завершения счета, число и перечень выделенных узлов;

• установлена система сбора, хранения и доступа к данным система мониторинга.

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

Табл. 2. основные типы поведения динамических характеристик.

Вид поведения Характер изменений в поведении

"полка" неизменный (с погрешностью) уровень последних значений

рост увеличение значений

падение уменьшение значений

максимум преодоление некоторого максимально возможного порога

преодоление некоторого минимально возможного порога |

всплеск временное существенное отклонение от "полки"

скачок изменение "полки"

"шум" не выявленная закономерность изменений значений

"осцилляция" частое изменение, скачки значений на коротком интервале времени

Проводится совместный анализ полученных динамических характеристик задачи. В зависимости от выбранных критериев оптимизации и доступных динамических характеристик, в первую очередь исследуются соответствующие характеристики. Например, используя как критерий оптимизации полноту загрузки процессора работой с вещественной арифметикой, прежде всего, исследуется поведение ключевой динамической характеристики «CPU load» и «Flop/s». На основании характера изменений поведения ди-

намических характеристик (табл. 2) выявляются признаки потенциального снижения эффективности. В случае исследования загрузки процессора, это различные отклонения от полной загрузки процессора вычислительными операциями. Не все признаки неэффективного поведения приложения обязательно означают плохую реализацию или неблагоприятные условия запуска. Например, сохраняющееся количество дисковых операций может быть необходимо для нормальной работы (хранение больших объемов временных данных), но в любом случае это повод обратить внимание на соответствующие конструкции.

Последовательность рассмотрения динамических характеристик при поиске признаков неэффективного поведения приложений может меняться. Например, сначала исследуется пользовательская загрузка процессора. Если она близка к полной и имеет место интенсивная работа с плавающей точкой, то приложение признается работающим хорошо в смысле полного использования вычислительных ресурсов. Если число операций с плавающей точкой мало, то исследуется работа с памятью и вопросы, связанные с частым переключением контекстов. Если пользовательская загрузка мала, то исследуются, прежде всего, такие причины снижения как файловая активность, ввод-вывод и коммуникации (рис.3).

| Ethernet (Panasas)

Скорость П«Р*Д4ЧИ fti-Hw* по сет» Ethernet (6*«т/с«О

Рис. 3. Пример интенсивной работы с сетевой файловой системой с полной загрузкой пропускной способности канала Ethernet.

Для выявленных возможных причин снижения производительности выбирается профильный и соответствующей их природе инструмент для детального изучения приложения. Для детального исследования свойств работы с памятью можно рекомендовать следующий инструментарий: ThreadSpotter, ITAC. Для исследований коммуникационного профиля и ввода-вывода: Scalasca, Vampir. Для общего исследования: VTune; Scalasca, Vampir.

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

числительных ресурсов. Метод основан на исследовании интегральных характеристик задач. Проводится поиск признаков неэффективного поведения (несоответствие приложения разделу) исходя из следующих соображений:

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

• для всех очередей оптимальным значением числа готовых принять управления процессов (Load Average), должен быть равен числу вычислительных ядер на узле (исключение составляет случай ориентированности раздела на использование ускорителей).

• задачи, не использующий профильный ресурс раздела, признаются неэффективными в смысле принадлежности к данному разделу;

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

Для достоверности следует рассматривать временные интервалы, в которые попадает не менее десятка задач.

Запуски приложений, проявляющие признаки неэффективного поведения по интегральному использованию ресурсов могут быть исследованы с помощью метода исследования эффективности суперкомпьютерных приложений на основе тех же исходных данных системного мониторинга.

Методы исследования использования ресурсов системы в целом, прежде всего, направлены на то, чтобы ответить на вопрос о соответствии возможностей вычислительной системы решаемым на ней задачам и о равномерности использования ресурсов во времени (что, в частности, поможет планировать проведение выделенных расчетов). В работе предлагается два взаимодополняющих метода.

Первый метод является естественным расширением на все счетное поле метода исследования соответствия приложений свойствам раздела суперкомпьютера. Анализ проводится по полной аналогии и направлен, прежде всего, на выявление нестандартно ведущих себя задач с целью их дальнейшего анализа.

Второй метод опирается на исследование усредненных данных системного мониторинга без привязки к задачам, отражая степень использования различного рода ресурсов вычислительной системы в целом. Интерес представляют средние и максимальные значения. Первые направлены на исследование средней загрузки, а последние - на нахождение случаев ограничения приложений возможностями вычислительной системы: пропускной способностью каналов, производительностью процессоров и т.п. Данный метод опирается исключительно на данные системного мониторинга без привязки к конкретным приложениям. Строятся усредненные характеристики, соответствующие динамическим характеристикам с отдельных узлов всей

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

Среднее число СР1ор/Б

3,00

2,50

О.

£ 1.50

х х А

й ▲

■ иас] Ж ИсИтет • гевЫаг X test

• •

*-,ёлёёуХ¥>-Х

•-•

порядковый номер 20 задачи в разделе

Рис. 4. Средняя реальная производительность на задачах из различных разделов при теоретически достижимых 12 СР1ор/з.

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

В четвертой главе приводятся примеры из практики применения данных методов, результаты апробации в рамках Суперкомпьютерного комплекса Московского университета на большом числе реальных приложений пользователей. В ходе апробации было показано, что эффективность использования вещественной арифметики в значительной части реальных пользовательских приложений и систем в целом крайне мала и составляет зачастую 35% (рис. 4). Крайне важно иметь возможность вовремя выявить признаки существования неэффективной работы и принять меры к нахождению и устранению причин, их вызвавших, чему и посвящена данная работа в целом.

В заключении сформулированы выводы и рекомендации.

Полученные в рамках диссертационной работы экспериментальные результаты подтверждают высокую практическую значимость и актуальность задачи повышения эффективности суперкомпьютерных приложений и систем.

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

Полученные результаты позволяют рекомендовать разработанные в рамках предложенного комплексного подхода методы для широкого применения в суперкомпьютерных центрах с целью выявления истинных причин снижения производительности и повышения отдачи от вычислительных систем в целом.

Публикации по теме диссертации Публикации в журналах из списка ВАК:

1) Никитенко Д.А. Комплексный анализ производительности суперкомпьютерных систем, основанный на данных системного мониторинга // Вычислительные методы и программирование. 2014. 15. 85-97.

2) Антонов A.C., Жуматий С.А., Никитенко Д.А., Стефанов К.С., Теплов A.M., Швец П. А. Исследование динамических характеристик потока задач суперкомпьютерной системы // Вычислительные методы и программирование. 2013.14. 104-108.

3) Андреев Д.Ю., Антонов A.C., Воеводин Вад В., Жуматий С.А., Никитенко Д.А., Стефанов К.С., Швец П.А // Система автоматизированного поиска ошибок и неэффективностей в параллельных программах. Вычислительные методы и программирование. 2013. 14. 48-53.

4) Антонов A.C., Воеводин Вад.В., Жуматий С.А., Никитенко Д.А., Стефанов К.С., Швец П.А. Автоматизация поиска ошибок и неэффективностей в параллельных программах // Вычислительные методы и программирование. 2013. 14. 11-17.

5) Адинец A.B., Брызгалов П.А., Воеводин Вад.В., Жуматий С.А., Никитенко Д.А., Стефанов К.С. Job Digest - подход к исследованию динамических свойств задач на суперкомпьютерных системах // Вестник Уфимского государственного авиационного технического университета, 2013 17. №2. 131-137.

6) Адинец A.B., Брызгалов П.А., Воеводин Вад. В., Жуматий С.А., Никитенко Д.А., Стефанов К.С. Job Digest: an approach to dynamic analysis of

job characteristics on supercomputers // Вычислительные методы и программирование. 2012. 13.160-166.

7) Воеводин Вл.В., Жуматий С.А., Соболев С.И., Антонов A.C., Брызгалов П.А., Никитенко Д.А., Стефанов К.С., Воеводин Вад.В. Практика суперкомпьютера «Ломоносов» // Открытые системы. 2012. №7. 36-39.

8) Воеводин Вад В., Стефанов К.С., Никитенко Д.А., Адинец A.B., Брызгалов П.А., Жуматий С.А. Hoplang - развитие языка обработки потоков данных мониторинга // Вычислительные методы и программирование. 2012.13. 126-131.

9) Никитенко Д.А., Стефанов К.С. Исследование эффективности параллельных программ по данным мониторинга // Вычислительные методы и программирование. 2012.13.97-102.

10) Адинец A.B., Брызгалов П.А., Воеводин Вад В., Жуматий С.А., Никитенко Д.А. Об одном подходе к мониторингу, анализу и визуализации потока заданий на кластерной системе // Вычислительные методы и программирование. 2011. 12. 90-93.

Публикации в других изданиях: _

11) Mohr В Voevodin VI., Gimenez J., Hagersten E., Knuepfer A„ Nikitenko D„ Nilsson M., Servat H., Shah A., Winkler F., Wolf F., Zhujov I. The HOPSA workflow and tools // Tools for High Performance Computing. Heidelberg: Springer. 2013.127-146.

12) Адинец A.B., Брызгалов П.А., Жуматий С.А., Никитенко Д.А. Система визуализации параметров работы больших вычислительных систем // Тр. Междунар. конф. "Параллельные вычислительные технологии-2012 (ПаВТ-2012)". Новосибирск, 26-30 марта 2012 г. Челябинск: Издательский Центр ЮУрГУ. 2012. 714.

13) Адинец A.B., Жуматий С.А., Никитенко Д.А. Hoplang - язык обработки потоков данных мониторинга // Тр. Междунар. конф. "Параллельные вычислительные технологии-2012 (ПаВТ-2012)". Новосибирск, 26-30 марта 2012 г. Челябинск: Издательский Центр ЮУрГУ. 2012. 351-359.

14) Жуматий С.А., Стефанов К.С., Антонов A.C., Жолудев Ю.А., Воеводин В.В., Никитенко Д.А., Адинец A.B. Подход к анализу эффективности больших вычислительных систем и программ // Тезисы докладов международной конференции «Современные проблемы математики, информатики и биоинформатики». Новосибирск, 11-14 октября 2011.2011.61.

15) Адинец A.B., Брызгалов П.А., Воеводин В.В., Жуматий С.А., Никитенко Д.А. Мониторинг, анализ и визуализация потока заданий на кластерной системе // Материалы XI Всероссийской конференции "Высокопроизводительные параллельные вычисления на кластерных системах". Нижний Новгород: Изд-во Нижегородского госуниверситета. 2011. 10-14.

Подписано в печать 18.09.2014 г. Формат 60x84/16. Бумага офс. № 1. Усл. печ. 1,0. Тираж 100 экз. Заказ № 12.

Участок оперативной печати НИВЦ МГУ. 119991, Москва, Ленинские горы, д.1, стр.4 НИВЦ МГУ имени М.ВЛомоносова