ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ И ПРОГРАММИРОВАНИЕ
Архив статей журнала
Современные суперкомпьютеры востребованы в самых разных областях науки и техники. Однако их вычислительные ресурсы зачастую используются не в полной мере. Причина нередко кроется в низкой эффективности выполнения пользовательских приложений. Решить возникшую проблему весьма непросто, что связано как с чрезвычайной сложностью строения современных суперкомпьютеров, так и с недостатком теоретических знаний и практического опыта в создании высокоэффективных параллельных приложений у пользователей вычислительных систем. Более того, пользователи зачастую и не знают, что их приложения работают неэффективно. Поэтому важно, чтобы администраторы суперкомпьютеров могли постоянно контролировать и анализировать весь поток выполняющихся приложений. Для этих целей можно использовать различные существующие системы мониторинга и анализа производительности, однако подобные решения в большинстве своем либо не предоставляют достаточный функционал в части изучения производительности, либо не переносимы. В данной работе описывается прототип разрабатываемого программного комплекса, который предоставляет широкие возможности по сбору и автоматическому анализу данных о производительности приложений и при этом является переносимым.
Any modern supercomputer has an extremely complex architecture, and efficient usage of its resources is often a very difficult task, even for experienced users. At the same time, the field of high-performance computing is becoming more and more in demand, so the issue of efficient utilization of supercomputers is very urgent. Therefore, users should know everything important about performance of their jobs running on a supercomputer in order to be able to optimize them, and administrators should be able to monitor and analyze all the nuances of the efficient functioning of such systems. However, there is currently no complete understanding of what data are best to be studied (and how it should be analyzed) in order to have a whole picture of the state of the supercomputer and the processes taking place there. In this paper, we make our first attempt to answer this question. To do this, we are developing a model that describes all the potential factors that may be important when analyzing the performance of supercomputer applications and the HPC system as a whole. The paper provides both a detailed description of this model for users and administrators and some interesting real-life examples discovered on the Lomonosov-2 supercomputer using a software implementation based on the proposed model.