Scientific journal
Fundamental research
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,674

OVERVIEW OF MODERN TOOLS FOR COMPLEX MONITORING OF THE HPC-SYSTEMS

Sidorov I.A. 1 Kuzmin V.R. 2
1 Matrosov Institute for System Dynamics and Control Theory of SB RAS
2 Irkutsk State Pedagogical University
High-performance computing systems are the complex technical installations, which contains a huge variety of components. And every year the number of components in high-performance computing system increased on average by 30?%. In this case the problem of complex monitoring of all hardware and software components and subsystems is an increasingly urgent problem. This article presents an approach to complex monitoring of high-performance computing systems based on the collection and analysis of data from the set of local monitoring systems, which controlled the individual hardware and software components and subsystems. As local monitoring systems are considered a monitoring tool used to date in five categories: monitoring and analysis of the effectiveness of parallel and distributed programs; monitoring, testing and diagnostics of hardware computing nodes; engineering infrastructure monitoring; computing infrastructure monitoring; monitoring middleware of high-performance computing system. Integration of described tools will be carried out in the developed by the authors meta-monitoring system as part of future research.
high-performance computing systems
monitoring
diagnostics
fault-tolerance
reliability
1. Ilin V.P. Parallelnye processy na jetapah petaflopnogo modelirovanija // Vychislitelnye metody i programmirovanie. 2011. no. 12. рр. 103–109.
2. Sidorov I.A., Novopashin A.P., Oparin G.A. Metody i sredstva metamonitoringa raspredelennyh vychislitelnyh sred // Vestnik JuUrGU. 2014. T. 3, no. 2. рр. 30–42.
3. Jeksaflopnye tehnologii. Koncepcija po razvitiju tehnologii vysokoproizvoditelnyh vychislenij na baze super JeVM jeksaflopnogo klassa. M.: Rosatom, 2011. 112 р.
4. Adinets A.V., Bryzgalov P.A., Voevodin V.V., et al. Job Digest: an approach to dynamic analysis of job characteristics on supercomputers // Numerical methods and programming: Advanced Computing. 2012. Vol. 13, no. 2. рр. 160–166.
5. Allinea MAP [Jelektronnyj resurs]. Rezhim dostupa: http://www.allinea.com/products/map (data obrashhenija: 27.07.16).
6. Bader D. Petascale Computing: Algorithms and Applications. CRC Press, 2007. 616 p.
7. Benedict S. Performance issues and performance analysis tools for HPC cloud applications: a survey // Computing. 2013. рр. 89–108.
8. Bright Cluster Manager for HPC [Jelektronnyj resurs]. Rezhim dostupa: http://www.brightcomputing.com/products (data obrashhenija: 27.07.16).
9. Bychkov I.V., Oparin G.A., Novopashin A.P. Agent-Based Approach to Monitoring and Control of Distributed Computing Environment // Lecture Notes in Computer Science. 2015. Vol. 9251. рр. 253–257.
10. ClustrX Watch [Jelektronnyj resurs]. Rezhim dostupa: http://www.t-platforms.com/ products/software/clustrxproductfamily/clustrxwatch.html (data obrashhenija: 27.07.16).
11. Desai N., Bradshaw R., Lusk E. Disparity: Scalable Anomaly Detection for Clusters // 37th International Conference on Parallel Processing, Workshops, Portland. 2008. рр. 116–120.
12. EMC ViRP SRM [Jelektronnyj resurs]. Rezhim dostupa: http://russia.emc.com/data-center-management/vipr-srm.htm (data obrashhenija: 27.07.16).
13. Gupta R., Beckman P., Park B. H., Dongarra J., CIFTS: A Coordinated Infrastructure for Fault-Tolerant Systems // 38th Int. Conference on Parallel Proc., Vienna. 2009. рр. 237–245.
14. Haryadi S.G. FATE and DESTINI: a framework for cloud recovery testing // Proc. of the 8th USENIX conference on Networked systems design and implementation. 2011. рр. 238–252.
15. HP CMU [Jelektronnyj resurs]. Rezhim dostupa: http://h20195.www2.hp.com/V2/ GetPDF.aspx/4AA1-5259ENW.pdf (data obrashhenija: 27.07.16).
16. HPCToolkit homepage. Rice University. [Jelektronnyj resurs]. Rezhim dostupa: http://hpctoolkit.org (data obrashhenija: 27.07.16).
17. IBM cluster system management [Jelektronnyj resurs]. Rezhim dostupa: http://www-03.ibm.com/systems/power/software/csm/ (data obrashhenija: 27.07.16).
18. Intel VTune Amplifier 2016 [Jelektronnyj resurs]. Rezhim dostupa: https://software.intel.com/en-us/intel-vtune-amplifier-xe (data obrashhenija: 27.07.16).
19. IPM Overview [Jelektronnyj resurs]. Rezhim dostupa: http://ipm-hpc.sourceforge.net/ (data obrashhenija 27.07.2016).
20. Josephsen D. Building a Monitoring Infrastructure with Nagios. Pearson Ed., 2007. 255 p.
21. Kogge P., Shalf J. Computing Trends: Adjusting to the «New Normal» for Computer Architecture // Computing in Science & Engineering. 2013. рр. 16–26.
22. Massie M., Li B., Nicholes V. Monitoring with Ganglia. OReilly Media, 2012. 256 p.
23. Moab Adaptive HPC Suite [Jelektronnyj resurs]. Rezhim dostupa: http://www.adaptivecomputing.com/products/hpc-products/ (data obrashhenija: 27.07.16).
24. Mohr B. Scalable parallel performance measurement and analysis tools state-of-the-art and future challenges // Supercomputing frontiers and innovations. 2014. Vol. 1(2). рр. 108–123.
25. mpiP: Lightweight, Scalable MPI Profiling [Jelektronnyj resurs]. Rezhim dostupa: http://mpip.sourceforge.net/ (data obrashhenija 27.07.2016).
26. NWPerf [Jelektronnyj resurs]. Rezhim dostupa: https://github.com/EMSL-MSC/NWPerf (data obrashhenija: 27.07.16).
27. OVIS. [Jelektronnyj resurs]. Rezhim dostupa: http://ovis.ca.sandia.gov https://www.zenoss.com/solution/network (data obrashhenija: 27.07.16).
28. Paraver homepage. Barcelona Supercomputing Center. [Jelektronnyj resurs]. Rezhim dostupa: http://www.bsc.es/paraver (data obrashhenija: 27.07.16).
29. Savchenko D.I., Radchenko G.I., Taipale O. Microservices validation : Mjolnirr platform case study // Proc. of the 38th International Convention MIPRO. 2015. рр. 248–253.
30. Scalasca homepage. [Jelektronnyj resurs]. Rezhim dostupa: http://www.scalasca.org (data obrashhenija: 27.07.16).
31. Sidorov I.A. Methods and tools to increase fault tolerance of high-performance computing systems // Proc. of the 39th International Convention MIPRO. 2016. рр. 242–246.
32. Simon H. Barriers to Exascale Computing // Lecture Notes in Computer Science. 2013. Vol. 7851. рр. 1–3.
33. TAU homepage. University of Oregon. [Jelektronnyj resurs]. Rezhim dostupa: http://tau.uoregon.edu (data obrashhenija: 27.07.16).
34. Xymon Monitor [Jelektronnyj resurs]. Rezhim dostupa: http://xymon.sourceforge.net/ (data obrashhenija: 27.07.16).
35. Zabbix [Jelektronnyj resurs]. Rezhim dostupa: https://www.zabbix.org (data obrashhenija: 27.07.16).
36. ZenOSS [Jelektronnyj resurs]. Rezhim dostupa: https://www.zenoss.com/solution/network (data obrashhenija: 27.07.16).

С ростом числа вычислительных компонентов, включаемых в состав современных высокопроизводительных вычислительных систем (ВВС), существующие подходы, методы и средства для организации системного ПО ВВС перестают удовлетворять требованиям. Анализ существующих технологий создания и применения высокопроизводительных ВВС петафлопного уровня (см., например, работы [1, 5]), а также современных тенденций к построению ВВС эксафлопного уровня (см., например, работы [3, 21, 32]) позволяет сделать вывод о том, что надежность таких систем в рамках используемых на сегодняшний день парадигм и технологий будет являться весьма низкой. В связи с этим актуальным и перспективным направлением исследований в области системного ПО ВВС является создание новых подходов, методов и средств управления и мониторинга ВВС, способных обеспечивать необходимый уровень отказоустойчивости и надежности для вычислительных сред такого масштаба.

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

Мониторинг компонентов ВВС условно можно разделить на следующие категории:

1) мониторинг и анализ эффективности выполнения программ в ВВС (контроль текущего состояния вычислительных процессов и их отдельных экземпляров, оценка эффективности использования выделенных ресурсов);

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

3) мониторинг инженерной инфраструктуры ВВС (системы бесперебойного питания, климатическое оборудование, системы пожаротушения и др.);

4) мониторинг вычислительной инфраструктуры ВВС (мониторинг текущей загрузки вычислительных узлов, контроль коммуникационных, управляющих и сервисных сетей, систем хранения данных);

5) мониторинг промежуточного программного обеспечения ВВС (мониторинг функционирования системных служб, очередей задач, агентов, различных подсистем и др.).

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

sid1.tif

Общая схема интеграции локальной системы мониторинга в состав системы мета-мониторинга

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

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

Средства мониторинга и анализа эффективности выполнения программ в ВВС

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

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

– Allinea MAP [5] – профилировщик параллельных, многопоточных и последовательных программ, предоставляющий исчерпывающий анализ по множеству метрик.

– Lapta [4] – инструментарий для многоаспектного анализа динамических характеристик параллельных программ, выполняемых на суперкомпьютерах.

– mpiP [25] – легковесный профилировщик MPI-программ.

– IPM [19] – расширенный профилировщик параллельных программ с возможностью анализа MPI-пересылок, доступа к памяти, работе с сетевыми интерфейсами, диском.

– Intel VTune [18] – инструментарий для анализа производительности, масштабируемости, пропускной способности, кэширования при выполнении программ в ВС.

– TAU [33] – инструментарий для повышения производительности выполнения программ в ВС, анализа собираемых данных и визуализации выполнения параллельных программ в ВС.

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

– Paraver [28] – анализатор производительности программ, основанный на трассировке событий и позволяющий производить детальный анализ изменения и распределения метрик с целью понимания поведения приложений.

– Scalasca [30] – инструментарий для выполнения оптимизации параллельных программ путем измерения и анализа их поведения во время выполнения.

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

Мониторинг, тестирование и диагностика аппаратных компонентов вычислительных узлов

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

– Disparity [11] – подход, основанный на запуске MPI-программы на анализируемых узлах с целью обнаружения возможных неисправностей.

– CIFTS [13] – использует механизмы обмена информацией о неисправностях с целью выработки целостной картины о состоянии узлов.

Наиболее интересным из них является программное средство Disparty, которое позволяет выявлять неисправности компонентов вычислительного узла во время простоя между запусками экземпляров вычислительных процессов. В данной категории авторами разрабатывается собственный подход [31] для многоступенчатой диагностики вычислительных узлов с использованием набора стандартных утилит (Sensors, SMART, IMPIutils и др.).

Мониторинг инженерной инфраструктуры ВВС

Для мониторинга инженерной инфраструктуры суперкомпьютерных центров и центров обработки данных наиболее распространенными средствами являются: ClustrX [10], EMC ViRP SRM [12], HP Cluster Management Utility [15], Bright Cluster Manager [8], Moab Adaptive HPC Suite [23], IBM cluster system management [17]. Однако все перечисленные средства являются проприетарными, зачастую жестко привязаны к оборудованию и не всегда обладают достаточной гибкостью для мониторинга инфраструктуры разнородных вычислительных сред.

Среди некоммерческих продуктов авторам не удалось найти приемлемых средств, которые позволяли бы универсально описывать состав разнородного инженерного оборудования суперкомпьютерного центра, создавать новые объекты и задавать правила их мониторинга. Системы мониторинга Nagios [20], Zabbix [35] предоставляют набор средств для мониторинга инфраструктуры ВВС, которые в каждом отдельном случае необходимо существенно дорабатывать. В данной категории авторами также осуществляется разработка собственных универсальных средств, базирующихся на агрегации локальных систем мониторинга инженерного оборудования. Некоторые аспекты реализации разрабатываемого авторами средств мониторинга инженерной инфраструктуры приведены в работе [2].

Мониторинг вычислительной инфраструктуры ВВС

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

– Ganglia [22] – масштабируемая распределенная система мониторинга кластеров параллельных и распределенных вычислений и облачных систем с иерархической структурой;

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

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

– ZenOSS [36] – система мониторинга с возможностями автоматического обнаружения и конфигурирования параметров контроля различных систем;

– Ovis2 [27] – комплексная система мониторинга, обеспечивающая высокую масштабируемость и интеграцию с другими системами мониторинга.

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

Мониторинг промежуточного программного обеспечения ВВС

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

– Xymon [34] – мониторинг работы системных сервисов;

– FATE [14] – инструментарий тестирования облачных приложений;

– CloudRift [29] – среда тестирования микросервисных приложений.

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

Заключение

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

Исследование выполнено при частичной финансовой поддержке РФФИ, проекты № 15-29-07955-офи_м и № 16-07-00931, а также при частичной финансовой поддержке Совета по грантам Президента Российской Федерации для государственной поддержки ведущих научных школ Российской Федерации (НШ-8081.2016.9).