УДК 004.457 Дата подачи статьи: 14.03.2014
СИСТЕМА МЕТАМОНИТОРИНГА ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СРЕД
(Работа выполнена при частичной финансовой поддержке Совета по грантам Президента РФ для государственной поддержки ведущих научных школ, НШ-5007.2014.9)
Г.А. Опарин, д.т.н., профессор, зам. директора; А.П. Новопашин, к.т.н., зав. лабораторией; И.А. Сидоров, к.т.н., научный сотрудник; В.В. Скорое, техник (Институт динамики систем и теории управления СО РАН, ул. Лермонтова, 134, г. Иркутск, 664033, Россия, [email protected])
В работе рассматривается подход к созданию системы метамониторинга высокопроизводительной вычислительной среды, ориентированной на решение ресурсоемких вычислительных задач и состоящей из множества разнородных программно-аппаратных ресурсов. Основное назначение такой системы заключается в обеспечении оператора вычислительной среды актуальной информацией о загрузке ресурсов, физическом состоянии вычислительного оборудования и устройств инженерной инфраструктуры. Главной отличительной особенностью и аспектом новизны разработанной системы мета-мониторинга является использование универсальных программных агентов, способных осуществлять сбор данных от локальных систем мониторинга различных компонентов среды, унифицировать и анализировать эти данные, а также при необходимости вырабатывать и исполнять в автоматическом режиме управляющие воздействия, направленные на изменение режимов работы оборудования, в том числе его отключение при возникновении аварийных ситуаций. Агенты системы мониторинга объединены в иерархическую структуру, гарантирующую высокую масштабируемость системы. В составе каждого агента системы метамониторинга реализованы подсистема сбора данных, подсистема взаимодействия с СУБД, экспертная и управляющая подсистемы. При реализации системы метамониторинга использованы современные веб-технологии, мультиагентные технологии, методы создания экспертных систем, методы децентрализованной обработки и распределенного хранения данных. Разработанная система метамониторинга успешно апробирована в суперкомпьютерном центре ИДСТУ СО РАН.
Ключевые слова: распределенные вычислительные среды, мониторинг, мультиагентные технологии, экспертные системы.
METAMONITORING SYSTEM FOR HIGH-PERFORMANCE COMPUTING ENVIRONMENT
(The work is done with partial financial support from the Council for Grants of the President of the Russian Federation for government support of leading scientific schools, NSh5007.20l4.9) Oparin G.A., Dr.Sc. (Engineering), Professor, Deputy Director;
Novopashin A. P. , Ph.D. (Engineering), Head of Laboratory;
Sidorov IA, Ph.D. (Engineering), Research Associate; Skorov V. V., Technical Fellow (Institute of System Dynamics and Control Theory SB of the Russian Academy of Sciences, Lermontova St 134, Irkutsk, 664033, Russian Federation, [email protected])
Received 14.03.2014
Аbstract. The paper discusses an approach to the creation of metamonitoring system for high-performance computing environment intended to solve resource-intensive tasks, and including a lot of loosely-coupled multivendor computing resources. The basic purpose of this system is to provide the operator of a computing environment with structured and relevant information about any computing node status (CPU time usage, RAM, IO-system, network usage, etc.), current equipment state, values of the sensors (temperature of processors and motherboards, room temperature), engineering infrastructure devices status and others. The principal distinctive feature and novelty aspect of the developed metamonitoring system includes creation of the universal software agents capable to collect data about state of different environment components from local monitoring systems, to unify and analyze these data, and if necessary to generate and execute automatic control actions directed on changing equipment working mode, including the shutdown in case of emergencies. Each agent of the meta-monitoring system is implemented on the same principles and includes following subsystems: data collecting subsystem, database subsystem, expert subsystem, and control subsystem. The approach is based on web-technologies and multi-agent technologies usage, methods of expert systems creation, methods of decentralized processing and the distributed storage of data. The developed system was successfully approved in the Supercomputer Center of ISDCT SB of the Russian Academy of Sciences.
Keywords: distributed computing environment, monitoring, multiagent technologies, expert systems.
Интеграция вычислительных ресурсов в высокопроизводительные распределенные вычислительные среды (РВС) для сложных ресурсоемких расчетов в тех или иных предметных областях требует организации системы метамониторинга -программной надстройки над локальными средствами мониторинга отдельных ресурсов РВС, позволяющей обеспечить надежное и эффективное функционирование распределенной среды [1].
При создании системы метамониторинга РВС необходимо учитывать ряд факторов, в том числе разнородный характер РВС: входящие в состав
среды вычислительные ресурсы отличаются разнообразием архитектуры и конфигурации программного и аппаратного обеспечения. В качестве узлов РВС, как правило, используются высокопроизводительные кластеры, работа которых контролируется локальными средствами мониторинга. Основная функция таких средств состоит в сборе и графическом отображении информации о состоянии узлов кластера (загрузке процессоров, ускорителей, оперативной и виртуальной памяти, коммуникационной среды и т.д.) за определенный временной интервал.
Предлагаемый к созданию системы метамони-торинга РВС подход отличается от известных уникальным сочетанием свойств, к числу которых относятся автоматический контроль программно-аппаратных ресурсов с использованием мульти-агентных технологий, децентрализованное хранение данных метамониторинга, принятие решений с использованием экспертных систем.
Предполагалось, что система метамониторинга РВС должна удовлетворять следующим исходным требованиям:
- обеспечивать интеграцию с локальными средствами мониторинга вычислительных ресурсов, предоставлять средства разработки модулей сбора данных на различных языках системного программирования (С, Perl, Bash и др.);
- предоставлять прикладные программные интерфейсы на основе открытых стандартов для встраивания в другие программные комплексы;
- включать средства унификации данных, получаемых из различных источников;
- предоставлять средства сбора и анализа данных о функционировании оборудования вспомогательной (инженерной) инфраструктуры, обеспечивающей бесперебойную работу больших вычислительных установок;
- предоставлять средства сбора и анализа данных пользовательских приложений, а также средства автоматизированного экспертного анализа данных мониторинга и генерации управляющих воздействий.
С целью создания системы метамониторинга, удовлетворяющей приведенным требованиям, была спроектирована и реализована архитектура (см. рис.), включающая следующие основные компоненты:
- средства доступа пользователей, позволяющие взаимодействовать с системой метамони-торинга как в пакетном, так и в интерактивном режимах;
- подсистемы уровня доступа, осуществляющие контроль прав доступа к запрашиваемым данным и реализующие серверную часть графического интерфейса пользователя;
- агент верхнего уровня, функционирующий в центральном узле РВС и выполняющий основную задачу по управлению системой метамонито-ринга;
- агенты промежуточного уровня, функционирующие в промежуточных узлах и решающие задачу снижения нагрузки на агентов верхних уровней;
- агенты нижнего уровня, функционирующие в узлах РВС и осуществляющие сбор и первичную обработку данных о состоянии узлов;
- подсистема децентрализованного хранения данных, предоставляющая функции для работы с данными для агентов разных уровней.
Иерархическая структура разработанной системы метамониторинга достигается путем организации многоуровневой мультиагентной среды, возглавляемой агентом верхнего уровня, которому подчинены агенты промежуточного и нижнего уровней. Агенты промежуточного уровня могут осуществлять управление как группой агентов нижнего уровня, так и группой агентов дополнительных промежуточных уровней, которых в системе может быть несколько. Такая иерархия позволяет обеспечить высокую масштабируемость системы метамониторинга для РВС, состоящей из большого числа узлов.
Каждый агент мультиагентной системы метамониторинга реализован в виде программы, функционирующей в фоновом режиме, и обладает свойствами, характерными для автономных программных агентов [2], а именно: реактивностью, автономностью, целенаправленностью и коммуникативностью.
В составе агента системы метамониторинга реализованы
- подсистема сбора данных, осуществляющая считывание показаний программных и аппаратных сенсоров различных устройств, прием данных от локальных систем мониторинга и агентов разных уровней, унификацию полученных данных и их трансляцию в промежуточный формат подсистемы взаимодействия с СУБД;
- подсистема взаимодействия с СУБД, выполняющая функции агрегации и контроля целостности данных;
- экспертная подсистема, реализующая функции анализа данных, полученных за определенный интервал времени, и генерации управляющих воздействий на основе проведенного анализа;
- управляющая подсистема, обеспечивающая функции исполнения управляющих воздействий и взаимодействия с агентами верхних уровней.
Разработанная система метамониторинга РВС была успешно апробирована в суперкомпьютерном центре ИДСТУ СО РАН (http://hpc.icc.ru) при решении ресурсоемких задач в области биоинформатики, квантовой химии, логического поиска и других.
В частности, были проведены эксперименты на базе РВС, включающей следующие программно-аппаратные ресурсы: вычислительный кластер из 10 вычислительных узлов с процессорами AMD Opteron 6276 с общим числом ядер 320; вычислительный кластер из 20 вычислительных узлов с процессорами Intel Xeon 5345 с общим числом ядер 160; 2 вычислительных узла с графическими ускорителями Nvidia Tesla C1060 с общим числом ядер 1920.
Анализ сведений о состоянии программно-аппаратных ресурсов РВС, собранных системой метамониторинга, позволил выявить неэффектив-
Уровень пользователя
Уровень доступа
Агент
верхнего
уровня
Агенты промежуточного уровня
Агенты
нижнего
уровня
Программный интерфейс (API)
Г"
Утилиты командной строки (CLI)
Веб-обозреватель (MS IE, Firefox, Safari)
f
REST ■
REST----------------HTTP ■
Веб-сервис
REST-сервер
Авторизация
Вызов процедур СМ
со ш
си 1_
Веб-приложение
Apache веб-сервер
Библиотека сценариев PHP
Статические файлы
XML-RPC-------------SQL / RRD-
Агент верхнего уровня
Управляющий модуль
Ж
Экспертная подсистема *
Модуль сбора данных
XML-RPC i
О со
Агент промежуточного уровня \ Управляющий модуль \ 1
Экспертная подсистема
Г ^
| Модуль сбора данных |
Промежуточная система хранения
id
База знаний |С
RRD-данные
j
-XMbRrc------------------XML-RPC
ф
Агент нижнего уровня Управляющий модуль
Экспертная подсистема
Модуль сбора данных
Расширения для сбора данных
je: '
•о
С ист ем а хр ан ен ия данных нижнего уровня
База знаний
RRD-данные
М одул ь СУПЗ
М одул ь Sensors
М одул ь Ganglia
М одул ь GPU
i
Система хранения данных \
ст CT J^i
База RRD-
знаний данные
Агент нижнего уровня Управляющий модуль
Экспертная подсистема
Модуль сбора данных
■о
Система хранения данных нижнего уровня
База знаний
RRD-данные
Расширения для сбора данных
+ У Y
Модуль Модуль М одул ь
APC Emerson Climate У
Уровень программно-аппаратных ресурсов
Архитектура системы метамониторинга РВС The architecture of distributed computing environment metamonitoring system
ную работу отдельных пользовательских приложений, произвести оптимизацию загрузки некоторых вычислительных ресурсов и в целом повысить эффективность работы РВС.
Например, при обработке экспериментальных данных для аннотации генома байкальской диатомовой водоросли Synedra acus с использованием программного пакета MAKER [3] было выявлено преобладание операций чтения/записи в сетевую директорию по отношению к вычислительным операциям. Установка значений конфигурационных параметров пакета, указывающих на необхо-
димость записи результатов вычислений в локальные директории узлов, позволила повысить эффективность работы пакета более чем на 30 %.
Новизна предложенного и реализованного подхода к организации системы метамониторинга РВС заключается прежде всего в создании универсальных программных агентов, способных вести сбор данных о состоянии узлов РВС, анализировать эти данные и принимать решения без участия оператора РВС. Мультиагентный подход позволил, во-первых, снизить общую нагрузку, создаваемую компонентами системы метамонито-
ринга, во-вторых, повысить надежность РВС за счет децентрализованной генерации и исполнения управляющих воздействий. Универсальность архитектуры программных агентов делает возможным их использование на различных уровнях иерархии системы метамониторинга, что, в свою очередь, обеспечивает высокую масштабируемость системы при использовании в РВС, состоящих из большого количества узлов.
Литература
1. Опарин Г.А., Новопашин А.П., Феоктистов А.Г. Интегрированная инструментальная среда организации проблем-
но-ориентированных распределенных вычислений // Программные продукты и системы. 2013. № 1. С. 3-6.
2. Wooldridge M. An Introduction to MultiAgent Systems, 2nd edn. John Wiley & Sons Publ., 2009, 461 p.
3. MAKER - genome annotation pipeline. URL: http://gmod.org/wiki/MAKER (дата обращения: 10.01.2014).
References
1. Oparin G.A., Novopashin A.P, Feoktistov A.G. Integrated toolkit for organization of the problem-oriented distributed computing. Programmnyeprodukty i sistemy [Software & Systems]. 2013, no. 1, pp. 3-6 (in Russ.).
2. Wooldridge M. An Introduction to MultiAgent Systems. 2nd ed. John Wiley & Sons Publ., 2009, 461 p.
3. MAKER — genome annotation pipeline. Available at: http://gmod.org/wiki/MAKER (accessed January 10, 2014).