<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Meta-monitoring system for ensuring a fault tolerance of the intelligent high-performance computing environment</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>I A Sidorov</string-name>
          <email>ivan.sidorov@icc.ru</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>T V Sidorova</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ya V Kurzibova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Irkutsk State University</institution>
          ,
          <addr-line>Karl Marks St. 1, Irkutsk, Russia, 664003</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Limnological Institute of SB RAS</institution>
          ,
          <addr-line>Ulan-Batorskaya St. 3, Irkutsk, Russia, 664033</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Matrosov Institute for System Dynamics and Control Theory of SB RAS</institution>
          ,
          <addr-line>Lermontov St. 134, Irkutsk, Russia, 664033</addr-line>
        </aff>
      </contrib-group>
      <fpage>7</fpage>
      <lpage>15</lpage>
      <abstract>
        <p>The high-performance computing systems include a large number of hardware and software components that can cause failures. Nowadays, the well-known approaches to monitoring and ensuring the fault tolerance of the high-performance computing systems do not allow to fully implement its integrated solution. The aim of this paper is to develop methods and tools for identifying abnormal situations during large-scale computational experiments in high-performance computing environments, localizing these malfunctions, automatically troubleshooting if this is possible, and automatically reconfiguring the computing environment otherwise. The proposed approach is based on the idea of integrating monitoring systems, used in different nodes of the environment, into a unified meta-monitoring system. The use of the proposed approach minimizes the time to perform diagnostics and troubleshooting through the use of parallel operations. It also improves the resiliency of the computing environment processes by preventive measures to diagnose and troubleshoot of failures. These advantages lead to increasing the reliability and efficiency of the environment functioning. The novelty of the proposed approach is underlined by the following elements: mechanisms of the decentralized collection, storage, and processing of monitoring data; a new technique of decision-making in reconfiguring the environment; the supporting the provision of fault tolerance and reliability not only for software and hardware, but also for environment management systems.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The development of a comprehensive monitoring system that would ensure the collection of data from
a large number of heterogeneous components included in modern intelligent high-performance
computational environment (IHPCE) is a difficult task because of the lack of appropriate standardized
formats and protocols for obtaining the necessary information. There is a large number of software
solutions that allow us to separately monitor the necessary components of IHPCE. In this regard, the
most expedient and promising direction of research in creating integrated monitoring systems for
IHPCE is the integration of existing local monitoring systems within a unified meta-monitoring
system [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. At the same time, the local monitoring system acts as a supplier of data. The data
collecting and unification, expert analyzing the obtained information, and defining the necessary
control actions are assigned to the meta-monitoring system.
      </p>
      <p>The monitoring of the IHPCE components can be conventionally divided into the following
categories:</p>
      <p> Monitoring and analysis of the software execution efficiency in IHPCE (control of the current
state of computational processes and their individual copies, evaluation of the efficiency of the
allocated resource use, etc.),
 Monitoring, testing, and diagnostics of hardware components of nodes (disks, processors,</p>
      <p>RAM, network interfaces, etc.),
 Monitoring of the IHPCE engineering infrastructure (uninterruptible power supply systems,
climatic equipment, fire-fighting systems, etc.),
 Monitoring of the IHPCE computing infrastructure (monitoring of the current load of
computing nodes, control of communication, control of transport and service networks, data
storage systems, etc.),
 Monitoring of the IHPCE firmware (monitoring of the functioning of system services, task
queues, agents, various subsystems, etc.).</p>
      <p>
        The paper suggests an approach to complex monitoring of the IHPCE with multiagent control of
computations [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ]. It is based on collecting and analyzing data received from a set of local
monitoring systems that control the operation of hardware and software components of the
environment. In addition, control effects on the IHPCE functioning are developed within the proposed
approach.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Related work</title>
      <p>
        Tools for monitoring and analyzing the effectiveness of a program implementation in distributed
computing environments. A large number of systems have been accumulated in this category. They
include program profilers, tools for monitoring the utilization of computational resources by means of
copies of programs executed in distributed computing environments nodes, and tools for monitoring
the utilization of network components. The description of these systems is represented in Table 1.
Their comparative analysis is given in details in [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ].
      </p>
      <p>Description
A system for analyzing the performance of a parallel
program with the ability to provide data on its
individual blocks. It implemented in the Python
programming language.</p>
      <p>A parallel, multi-threaded, and sequential profiler that
provides comprehensive analysis on a specific set of
metrics. It allows to analyze C, C ++, and Fortran
programs.</p>
      <p>Tools for multidimensional analysis of dynamic
characteristics of programs focused on
supercomputers. It provides various types of graphical
reports.</p>
      <p>Lightweight profiler of MPI-programs. It enables to
analyze programs in C, C ++, and Fortran.</p>
      <p>Advanced profiler of parallel programs with the ability
to analyze data transfer processes, memory access,
communication network, and disks. It supports various
implementations of the MPI library.</p>
      <p>Commercial software for analyzing the program
performance. Its supports the analysis of the
performance and scalability of programs,
communication network bandwidth, and data caching.</p>
      <sec id="sec-2-1">
        <title>Reference</title>
        <p>https://github.com/EMSLMSC/NWPerf
https://www.arm.com/pro
ducts/developmenttools/server-andhpc/forge/map
http://hpc.msu.ru/node/84
http://mpip.sourceforge.ne
t/
http://ipmhpc.sourceforge.net/
https://software.intel.com/
en-us/intel-vtuneamplifier-xe</p>
        <p>Tools for analyzing and visualizing the execution of
parallel programs. It allows to analyze programs in C,
C ++, Fortran, UPC, Java, and Python.</p>
        <p>Tools for the automatic detection of inefficient blocks
of a parallel program with the reference to its source
code. It focuses on the use in computing environments,
including tens and hundreds of thousands of nodes.</p>
        <p>A program performance analyzer based on event
tracing and allowing detailed analysis of changes and
distribution of a specific set of metrics. It supports the
prediction of program behavior in different scenarios.</p>
        <p>Tools for optimizing parallel programs by measuring
and analyzing their behavior during the execution. The
main emphasis in identifying inefficient blocks is
given for the synchronization of parallel programs.
http://tau.uoregon.edu
http://hpctoolkit.org
http://www.bsc.es/paraver
http://www.scalasca.org</p>
        <p>From the author's point of view, NWPerf and Paraver open-source packages are the most functional
and perspective solutions for analyzing the efficiency of the parallel program execution in distributed
computing environments.</p>
        <p>Monitoring, testing, and diagnostics of hardware components of computational nodes.
Unfortunately, only a small number of systems intended for detecting defects in the hardware
components of distributed computing environments nodes are known. The description of these
systems is represented in Table 2.</p>
      </sec>
      <sec id="sec-2-2">
        <title>System Description</title>
        <p>Disparity A software package that launches an MPI program on
target nodes in order to detect possible malfunctions. It
supports multiple modes of testing nodes (fast,
advanced, etc.).</p>
        <p>Coordinated The system implements consistent processes for
Infrastructure exchanging information about faults between nodes in
for Fault order to develop a holistic picture of their state as a
Tolerant whole.</p>
        <p>Systems</p>
        <p>The most interesting of them is the Disparty software tool, which allows to detect malfunctions of
the components of the computing node during the downtime between the runs of instances of
computational processes.</p>
        <p>Systems for monitoring the engineering infrastructure of distributed computing environments. The
systems represented in Table 3 are used to monitor the engineering infrastructure of supercomputer
and data processing centers. However, almost all of them are proprietary and tied to the specialized
equipment. Thus, they usually do not have the sufficient flexibility for monitoring the IHPCE
infrastructure.</p>
        <p>Description
A resource management system that supports
automatic shutdowns of equipment in the event of a
failure of hardware and software components. The
description of the monitored components is performed</p>
      </sec>
      <sec id="sec-2-3">
        <title>Reference</title>
        <p>http://www.tplatforms.com/
products/software/clustrx
productfamily/clustrxwatc</p>
      </sec>
      <sec id="sec-2-4">
        <title>EMC ViRP SRM Bright Cluster</title>
        <p>in the Erlang scripting language.</p>
        <p>Software for monitoring a corporate storage of
information resources and automating the generation
of reports about their status. It designed to monitor
specialized equipment only.</p>
        <p>A toolkit of automating the creation and control of
compute clusters in data centers or cloud platforms. It
provides a variety of reports.</p>
        <p>Resource management system for supercomputers. It
supports automation of planning, control, monitoring,
and reporting.</p>
        <p>Software management complex of large-scale
computing clusters. It used predominantly on
computing clusters manufactured by IBM.
h.html
http://russia.emc.com/data
-center-management/viprsrm.htm
http://www.brightcomputi
ng.com/products
http://www.adaptivecomp
uting.com/moab-hpcbasic-edition/
https://www01.ibm.com/common/ssi/c
gi-bin/ssialias</p>
        <p>
          At present, non-commercial software products which could provide universal description of
heterogeneous engineering equipment of a supercomputer center, creation of new objects, and setting
the rules of their monitoring are not known to the author. Monitoring systems Nagios [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] and Zabbix
[
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] provide a set of tools for monitoring the engineering infrastructure of distributed computing
environments, which in each case should be significantly improved.
        </p>
        <p>Monitoring the computation infrastructure of distributed computing environments. Today, there are
a large number of complex solutions in this category. The most popular complex systems are
represented in Table 4.</p>
        <p>Description
Scalable distributed monitoring system of computing
cluster resources and cloud platforms with a
hierarchical structure. It is the most common system
used in computer centers.</p>
        <p>A monitoring system for computing systems and
networks that supports a wide range of functional
capabilities for notifying an operator of possible
malfunctions. It is often used to monitor
telecommunication networks.</p>
        <p>A system for monitoring and tracking the state of the
software and hardware of telecommunication
networks, including network servers and services. It
supports various databases for the data storage.</p>
        <p>Monitoring software package that supports the
automatic detection and configuration of monitoring
parameters of various systems. It focused on cloud
applications.</p>
        <p>A comprehensive monitoring system that provides
high scalability and integration with other monitoring
tools.
http://ganglia.sourceforge.
net
https://www.nagios.org
https://www.zabbix.org
https://www.zenoss.com/
http://ovis.ca.sandia.gov/</p>
        <p>The most popular system in this category is Ganglia. However, its standard set of functions does
not meet the growing needs for monitoring the computation infrastructure of distributed computing
environments. Often, the limited set of functions leads to the need for additional monitoring systems,
such as Zabbix or Nagios. The most promising system in this category, from the author’s point of
view, is Ovis2, which provides high scalability and wide possibilities for connecting various data
sources.</p>
        <p>Monitoring middleware of distributed computing environments. This category includes Nagios and
Zabbix monitoring systems described above, as well as more specialized tools represented in Table 5.</p>
        <p>Description
Software complex for monitoring the process of
functioning of the system services of computing
systems. The basic principle is to check the availability
of network ports.</p>
        <p>Toolkit for testing applications in the cloud
environment. It allows testing in the framework of
continuous integration.</p>
        <p>System for testing microservice applications for cloud
platforms. It enables to identify failures in individual
segments of cloud programs.</p>
      </sec>
      <sec id="sec-2-5">
        <title>Reference http://xymon.sourceforge. net/ [9]</title>
        <p>
          [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]
        </p>
        <p>In addition to the aforementioned systems, environment administrators usually develop specialized
utilities to track the correct functioning of individual subsystems included into middleware. Such
utilities are often implemented in the form of scripts running on schedule using the CRON service.</p>
        <p>The results of a comparative analysis of the functionality of the developed meta-monitoring system
with the capabilities of the key local monitoring systems described above is represented in Table 6.
These results show the obvious advantages of the meta-monitoring system.
3. Scheme of the environment component control
The general scheme of the IHPCE component control using the meta-monitoring system is shown in
Fig. 1. In this scheme, the IHPCE component acts as a control object. The administrator configures the
operation of the job management system, which handles the flow w of user tasks, using the vector c
configuration parameters. He also creates affects u1 on the control parameters of the IHPCE
component. The task management system determines the computational load l of the component in
accordance with the flow w . The external disturbances d of the environment arise because of the
actions of local users of the environment or events that occur during the operation of the engineering
infrastructure.</p>
        <p>The monitoring system collects the information i about the IHPCE component and computation
management system with the help of measuring tools and local monitoring systems. This information
is formed on the basis of the characteristics h1 of component status and the information h2 about
functioning the computation management system. Based on the collected information, the
metamonitoring system assesses the current computational situation, predicts its development, and forms
the control effects u2 and u3 on the IHPCE component and the computation management system in
order to prevent or partially eliminate failures of hardware and software. In the event of a critical
situation when such actions cannot be performed automatically, the meta-monitoring system sends the
corresponding notification s to the environment administrator.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>4. Meta-monitoring system architecture</title>
      <p>
        The meta-monitoring system architecture is based on the principles of organization of multagenic
systems [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and includes the following main components:
 Interface for the user access to components of the meta-monitoring system, which allows to
work with them in batch or interactive modes,
 Access level subsystem, which performs the differentiation of the access to the requested data,
 Agents that operate on the IHPCE nodes and carry out the data collection and processing. In
addition, they interact with other agents.
      </p>
      <p>A software agent installed in the IHPCE nodes is a program executed in the background mode. The
agent collects data from the local monitoring systems, unifies the received data, and saves it in the
local DBMS. It includes a subsystem for the failure diagnostics and environment reconfiguration. In
addition, the agent has control subsystem that performs the execution functions of control actions and
interaction with the agents of upper levels.</p>
      <p>The possibility of data analysis and making necessary decisions on the side of the computing node
is a key difference between the presented approach and existing solutions. In the well-known
monitoring systems, the client installed in the nodes performs the functions of data collection and their
periodic transmission to the control node. The centralized processing and analysis of the collected data
are performed on the control node. This creates an additional extra load on the network protocol stack,
which also requires CPU time, and has problems with scalability.</p>
      <p>Agents of the developed meta-monitoring system consume about 37% less processor time in
comparison with the Ganglia agents at the same frequency of interrogation of sensors. They transfer
data to the central node of IHPCE or neighbouring agents only if necessary or on request. The
processor time spent for the data analysis on the node is less the time spent on formation of network
packets and control of their integrity. Thus, this reduces the load on the network stack and the central
node of the monitoring system. In addition, it is possible to reduce the negative impact of the
monitoring agent on the computational tasks performed in the nodes.</p>
      <p>
        The measurement of node state metrics (processor, memory, etc.) is implemented by the functions
of the SIGAR library [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. This library is cross-platform. It allows unified access to the necessary
information.
      </p>
      <p>
        Integration of the meta-monitoring system with local monitoring systems is carried out in the
specialized language that is a subset of the ECMA Script language [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. This specialized language
supports the call of external commands, network interaction, processing of output stream, regular
expressions, and a number of other mechanisms for rapid implementation of non-standard sensors.
      </p>
      <p>The subsystem of the data collection and processing is based on the principles of Round-robin
Database. A volume of such databases does not change with time. Their fixed size is achieved due to
the predefined number of records used cyclically to store data.</p>
      <p>Nowadays, there are many implementations of cyclic databases (MRTG, RRDtools, etc.). At the
same time, the performed tests have revealed a number of drawbacks in such systems related primarily
to unacceptable performance in reading/writing data. We tried to create a cyclic database prototype of
on the basis of the lightweight embedded relational database SQLite. However, the conducted
experiments have shown its lower performance in comparison with RRDtools.</p>
      <p>In this regard, we have made a decision to create own implementation of the cyclic database, which
uses the specialized XML based format for storing structured information. We developed the
mechanisms of data reading and writing, aggregation of data for a certain time interval, displacement
of outdated data, data sampling in accordance to determined criteria, and means of data caching in
memory. The developed database has demonstrated its efficiency in comparison with MRTG and
RRDtools.</p>
    </sec>
    <sec id="sec-4">
      <title>5. Practical application</title>
      <p>
        The developed methods and tools for meta-monitoring IHPCE have been successfully tested in the
Irkutsk Supercomputer Center of SB RAS [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. IHPCE included three pools of nodes:
 20 computational nodes with Intel Xeon E5-2695 v4 "Broadwell" processors with a total
number of 720 cores,
 10 computing nodes with AMD Opteron 6276 "Bulldozer"/"Interlagos" processors with the
total number of cores 320,
 20 computing nodes with Intel Xeon 5345 EM64T 2.33 GHz "Clovertown" processors with
the total number of cores 160.
      </p>
      <p>During the study of IHPCE by the meta-monitoring system, a list of hardware and software
resources whose components were in a state close to critical or functioning with errors was revealed.
The list of nodes, diagnostic messages of the meta-monitoring system, and node state description
corresponding to the detected faults are given in Table 7.</p>
      <p>Diagnostic message</p>
      <sec id="sec-4-1">
        <title>Node status description</title>
        <p>«warning node-4.matrosov.icc.ru
loadavg5 43»
«critical node-13. matrosov.icc.ru
cpu-sys-p 77»</p>
      </sec>
      <sec id="sec-4-2">
        <title>The average node load for the last 5 minutes</title>
        <p>exceeded 43 points.</p>
        <p>At the node, the loading of processor cores by
the tasks of the operating system prevails.
f«icleristyicsatel msm/h1o1m2.emwattriomseov5.8ic3c8.r1u6» Writing to the /home directory is too slow.
«deorwronr»node-14.matrosov.icc.ru Node not available.
«ucseridti-cteanl s9m7»102.tesla.icc.ru memory- On the node RAM is used by 97%.
«error node node-7.blackford.icc.ru The node has run out of free disk space in the
filesystem /store du-free 0» /store directory.</p>
        <p>
          The analysis of data on the state of the IHPCE hardware and software resources collected by the
meta-monitoring system revealed the inefficient operation of user applications, optimized the load of
computing resources, and improved the reliability of the IHPCE operation. For example, when solving
an important practical task of annotating the Synedra acus genome with the help of the MAKER
software package [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], the prevalence of read-write operations in the network directory over
computational operations performed on processor cores was revealed. In accordance with the detected
inefficient use of resources, the package parameters indicating the location of directories for writing
the results of calculations were automatically corrected. Local directories of nodes (for example, /tmp)
were assigned as such directories, which allowed to significantly increase the efficiency of using
processor cores in this package by more than 30%.
        </p>
        <p>Another illustrative example of the successful applying of the developed meta-monitoring system is
a significant improvement in power saving for one of the IHPCE pools, the nodes of which are
outdated, but continue to be operated by users. These users solve their problems with the help of
applications specialized in software and hardware features of the nodes in this pool.</p>
        <p>
          The PBS Torque [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] system is used to control the completion of tasks in this pool. In order to
automate the power consumption control in pool nodes the following meta-monitoring operations and
rules have been developed:
 Operations to collect data from the sensors of the PBS Torque system about the used resources
and tasks set in the queue, to enable and disable pool nodes, to change the pool configuration
parameters,
 Set of output rules for the expert subsystem that define the conditions for applying these
operations.
        </p>
        <p>When a task is added to the PBS Torque queue on the pool's management node, the number of
nodes in the pool required to solve it is automatically enabled using the Intelligent Platform
Management Interface (IPMI) protocol. Then they are quickly tested and computational processes in
these nodes are launched. After the task solution is completed, new tasks are waited for a specified
period of time (usually 1-2 hours). In the case of their absence, the nodes are automatically switched
off using the same IPMI protocol. As a result of automation in this pool with the help of
metamonitoring system, their daily power consumption was reduced by 34%.</p>
        <p>
          The meta-monitoring system is great importance for evaluating the efficiency of the processes of
functioning of the multi-agent system of distributed computing management [
          <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
          ]. Permanent
monitoring of the work of this multi-agent system has shown its higher fault tolerance to failures of
software and hardware resources of IHPCE in comparison with other similar systems [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>6. Conclusions</title>
      <p>The paper addresses the relevant problem of monitoring the high-performance computing systems and
ensuring their fault tolerance. We proposed a new approach to monitoring IHPCE (the environment
with multi-agent management of distributed computing) and developed the specialized
metamonitoring system. The developed meta-monitoring system provides control, diagnostics, localization,
and troubleshooting of the IPCE components. In addition, automatic reconfiguration of IHPCE in a
finite number of steps enables minimizing the time of diagnosis and troubleshooting through the
parallel execution of their operations. The fault tolerance increase of nodes by means the preventive
diagnosis and troubleshooting improves the reliability and efficiency of IHPCE.</p>
      <p>The novelty of the presented approach includes the following elements:
 Special mechanism of decentralized collection, storage, and processing of monitoring data,
 Decentralized decision-making for the environment reconfiguration,
 Ensuring the fault tolerance and reliability for both the hardware and software of the
environment, and the environment management system itself.</p>
      <p>Acknowledgment. The study is supported by the Russian Foundation of Basic Research, project
no. 19-07-00097 (reg. no. АААА-А19-119062590002-7). This work was also supported in part by
Basic Research Program of SB RAS, project no. IV.38.1.1 (reg. no. АААА-А17-117032210078-4).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Bychkov</surname>
            <given-names>I V</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oparin</surname>
            <given-names>G A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Novopashin A P 2015 Agent-Based Approach</surname>
          </string-name>
          to Monitoring and
          <source>Control of Distributed Computing Environment Lecture Notes in Computer Science 253-257</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Bychkov</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feoktistov</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sidorov</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kostromin</surname>
            <given-names>R</given-names>
          </string-name>
          <source>2017 Job Flow Management for Virtualized Resources of Heterogeneous Distributed Computing Environment Procedia Engineering</source>
          <volume>201</volume>
          <fpage>534</fpage>
          -
          <lpage>542</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Feoktistov</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sidorov</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tchernykh</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Edelev</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zorkalzev</surname>
            <given-names>V</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gorsky</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kostromin</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bychkov</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <article-title>Avetisyan A 2018 Multi-Agent Approach for Dynamic Elasticity of Virtual Machines Provisioning in Heterogeneous Distributed Computing Environment Proc</article-title>
          .
          <source>of the Int. Conf. on High Performance Computing and Simulation</source>
          (IEEE) pp
          <fpage>909</fpage>
          -
          <lpage>916</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Benedict</surname>
            <given-names>S 2013</given-names>
          </string-name>
          <article-title>Performance issues and performance analysis tools for HPC cloud applications: a survey Computing 89-108</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Mohr</surname>
            <given-names>B 2014</given-names>
          </string-name>
          <article-title>Scalable parallel performance measurement and analysis tools - state-of-the-art and future challenges Supercomputing frontiers and innovations 1(2</article-title>
          )
          <fpage>108</fpage>
          -
          <lpage>123</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Desai</surname>
            <given-names>N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bradshaw</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lusk</surname>
            <given-names>E</given-names>
          </string-name>
          2008 Disparity:
          <article-title>Scalable Anomaly Detection for Clusters Proc</article-title>
          .
          <source>of the 37th International Conference on Parallel Processing</source>
          pp
          <fpage>116</fpage>
          -
          <lpage>120</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Josephsen</surname>
            <given-names>D 2007</given-names>
          </string-name>
          <string-name>
            <surname>Building</surname>
          </string-name>
          <article-title>a Monitoring Infrastructure with Nagios p 255</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Zabbix</surname>
          </string-name>
          . Available at: https://www.zabbix.
          <source>org (accessed: 19.06</source>
          .19)
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Haryadi</surname>
            <given-names>S G 2011</given-names>
          </string-name>
          <article-title>FATE and DESTINI: a framework for cloud recovery testing Proc. of the 8th USENIX conference on Networked systems design</article-title>
          and implementation pp
          <fpage>238</fpage>
          -
          <lpage>252</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Savchenko</surname>
            <given-names>D</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Radchenko</surname>
            <given-names>G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taipale</surname>
            <given-names>O 2015</given-names>
          </string-name>
          <article-title>Microservices validation: Mjolnirr platform case study Proceedings of the 38th International Convention MIPRO</article-title>
          (IEEE) pp
          <fpage>248</fpage>
          -
          <lpage>253</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Wooldridge</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jennings</surname>
            <given-names>N</given-names>
          </string-name>
          <source>1995 Intelligent Agents: Theory and Practice</source>
          .
          <source>The Knowledge Engineering Review</source>
          <volume>10</volume>
          (
          <issue>2</issue>
          )
          <fpage>115</fpage>
          -
          <lpage>152</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <article-title>System Information Gatherer and Reporter API</article-title>
          . Available at: https://github.com/AlexYaruki/sigar (accessed:
          <fpage>19</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Standard</surname>
            <given-names>ECMA</given-names>
          </string-name>
          -262
          <string-name>
            <surname>: ECMAScript Language Specification</surname>
          </string-name>
          . Available at: http://es5.javascript.ru/ (accessed:
          <fpage>19</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <article-title>Irkutsk Supercomputer Center of SB RAS</article-title>
          . Available at: http://hpc.icc.
          <source>ru (accessed: 19.06</source>
          .
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <article-title>MAKER - genome annotation pipeline</article-title>
          . Available at: http://gmod.org/wiki/MAKER (accessed:
          <fpage>19</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>PBS</given-names>
            <surname>Torque</surname>
          </string-name>
          . Available at: https://github.com/adaptivecomputing/torque (accessed:
          <fpage>19</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Bychkov</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feoktistov</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kostromin</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sidorov</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Edelev</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gorsky</surname>
            <given-names>S 2018</given-names>
          </string-name>
          <article-title>Machine Learning in a Multi-Agent System for Distributed Computing Management Data Science</article-title>
          .
          <source>Information Technology and Nanotechnology</source>
          <year>2018</year>
          (
          <string-name>
            <surname>CEUR-WS Proceedings</surname>
          </string-name>
          )
          <volume>2212</volume>
          <fpage>89</fpage>
          -
          <lpage>97</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>