<!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>DATA MINING TO IMPROVE THE EFFICIENCY OF USING THE HYBRILIT HIGH-PERFORMANCE HETEROGENEOUS COMPUTING PLATFORM</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>E. Polegaeva</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>D. Priakhina</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>O. Streltsova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>D. Podgainy</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dubna State University</institution>
          ,
          <addr-line>Russia, Moscow region, Dubna, 141980, 19 Universitetskaya</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Ekaterina Polegaeva</institution>
          ,
          <addr-line>Daria Priakhina, Oksana Streltsova, Dmitry Podgainy</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Joint Institute for Nuclear Research</institution>
          ,
          <addr-line>Russia, Moscow region, Dubna, 141980, 6 Joliot-Curie</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <fpage>5</fpage>
      <lpage>9</lpage>
      <abstract>
        <p>The HybriLIT heterogeneous computing platform is part of the Multifunctional Information and Computing Complex of the Meshcheryakov Laboratory of Information Technologies of the Joint Institute for Nuclear Research. An analysis of data on the use of the HybriLIT platform is carried out: special attention is paid to the study of information about the resources used when starting tasks by various users and the time of their implementation. The relevance of this study lies in the ability to predict the further workload of the platform based on the analysis obtained, which will enable the more rational and efficient use of not only the available computing resources, but also the resources of data storage systems. This paper presents models for predicting the usage of the HybriLIT resources based on data through analysis. Several machine learning methods are compared to choose a model that gives the best prediction accuracy.</p>
      </abstract>
      <kwd-group>
        <kwd>heterogeneous computing platform</kwd>
        <kwd>data analysis</kwd>
        <kwd>machine learning</kwd>
        <kwd>data prediction</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The HybriLIT heterogeneous platform is part of the Multifunctional Information and
Computing Complex, the Meshcheryakov Laboratory of Information Technologies of JINR, Dubna
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The platform consists of the “Govorun” supercomputer and the HybriLIT training and testing
polygon, which have a single software and information environment. The HybriLIT platform is
designed for resource-intensive and massively parallel calculations and has both central processors and
graphics accelerators of different types.
      </p>
      <p>
        Various services are being developed on the HybriLIT platform, they allow monitoring the
load of system components (compute nodes, storage systems, virtual machines, etc.), and obtaining
aggregated data for analyzing the efficiency of resource use. An important addition to the development
of services would be an analytical system that will make it possible to predict the use of various types
of resources and enable deeper data analysis. This paper presents a study, a direction for the
development of algorithms for such a system using machine learning methods to analyze data on user
tasks both for the resources used and for various user groups, as well as to solve the problem of
predicting the requested resources and their types. The study was carried out on the data of user tasks
of the HybriLIT training and testing polygon, full information about which is collected by the SLURM
scheduler and resource manager [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] installed on the platform.
      </p>
      <p>The database contains data from April 2018 to August 2020 (29 months), based on which deep
data analysis was performed and machine learning models were trained and tested. The work was
carried out in the Python language in the Jupyter notebook development environment deployed on the
HybriLIT resources. Modules used were pymysql, numpy, pandas, matplotlib, sklearn.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Data Analysis</title>
      <p>Data analysis and visualization are necessary for a more convenient perception by users of
information about the platform load.</p>
      <p>It is noteworthy that the data collected in the SLURM database for the period under review
contains thousands of rows, information about the CPU cores used and the number of GPU
accelerators involved is collected for each task. At the same time, on the HybriLIT testing polygon,
computational nodes contain different types of CPU and GPU. For this study, performance differences
between different CPUs and GPUs are not considered.</p>
      <p>
        Data analysis was carried out earlier, its results are described in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Analysis and visualization
were prepared for the following tasks:
● Number of nodes used on various resources;
● Number of logical cores used on different nodes;
● Number of running tasks on different nodes;
● Duration of tasks running on nodes;
● Duration of tasks launched by each user group;
● Number of logical cores used by each user group;
● Total number of resources used on the platform;
● GPU resources usage;
● Number of logical cores used when performing tasks on GPU resources;
● Number of compute nodes and logical cores used over time;
● Number of logical cores used on CPU and GPU resources for the entire period of time;
● Number of running tasks for the entire period of time;
● Duration of launched tasks for the entire period of time;
● Use of GPU resources for the entire period of time;
      </p>
      <p>These tasks for analysis were selected to see the workload of computational nodes, to identify
the most and least active user groups, and track changes in the resource load over time. The latter
criterion will be used in the future as the basis for predicting the further workload of the platform.</p>
      <p>Further predictions will be based on the results of the analysis of the problem concerning the
number of CPU cores and GPU resources used by all users for all the time [fig. 1].</p>
    </sec>
    <sec id="sec-3">
      <title>3. Prediction and Verification</title>
      <p>Predicting future resource use is a regression task. To obtain correct values, it is necessary to
use relatively homogeneous data, as peak jumps introduce large errors. Since the identification of
anomalies is not included in the presented task, such data is not taken into account. The maximum
peak in resource utilization occurred in December 2018 and subsequent months. Therefore, for making
predictions, data is not used for the entire period.</p>
      <p>To build predictions and verify them, the data were split into training and test data. The
training data was taken from April 2018 to March 2020. The predictions were based on the period
from April 2020 to August 2020. Metrics such as mean absolute error (MAE), mean square error
(MSE) and mean absolute percentage error (MAPE) were used to evaluate the accuracy of the
predictions. The accuracy was estimated both for the first month of predictions and for the entire
period. Machine learning models such as linear regression, polynomial regression, classification and
regression trees, random forest, and XGBoost were chosen to build the predictions.</p>
      <p>
        Since the task under study is regression, the models of classical supervised learning were first
considered. The first machine learning model used was linear regression, which is described in more
detail in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Despite the fact that it is obviously not suitable for this task, its use was necessary to
confirm the nonlinearity of the data. The results of the model showed that it could not be used in this
task [fig. 2]. Next, we used polynomial regression, which handles non-linear data much better [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
However, it did not give a satisfactory result either [fig. 3].
      </p>
      <p>
        Then a model of classification and regression trees [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] was built. With an excellent result on
the training set, the predictions did not give the best result [fig. 4].
      </p>
      <p>
        Proceeding from the fact that the models of classical learning did not give a satisfactory result
and showed an accuracy of less than 90%, ensemble methods were applied. The random forest model,
which refers to bagging models [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], was used. It gave a more than satisfactory result and showed an
accuracy of 94%. The peculiarity of the random forest model is that it is based on decision trees, but
randomly selects features for further division and does not go too far, excluding the possibility of
overfitting the model [fig. 5]. In search of the best result, the XGBoost boosting model [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] was
applied. As expected, its results exceeded the accuracy of the random forest and gave predictions with
an accuracy of 99%, which makes this model the most suitable for solving the task [fig. 6].
      </p>
      <p>For each model built, data was collected to assess the accuracy of the predictions. A
comparison of the predicted and actual values was carried out, the accuracy of predictions for short
and long-term periods was estimated, and the average prediction accuracy for April 2020 was given
[tab. 1].</p>
      <p>April 2020
96%
11%
83%
11%
96%
78%
93%
95%
100%
99%</p>
      <p>Accuracy</p>
      <p>Apr. 2020 –
Aug. 2020
27%
0%
76%
0%
28%
71%
42%
51%
34%
58%</p>
      <p>Average
accuracy
April 2020
53%
47%
87%
94%
99%</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>Deep data analysis was carried out, it enables to assess the current resource load. A study was
also conducted to select a machine learning model that best suits the task at hand. As a result, an
algorithm was obtained, it makes it possible to get predicted values on the use of CPU and GPU
resources for the next month with an accuracy of 99%. Thus, the presented work is of great practical
importance. The resulting predictions will allow system administrators to make decisions on load
redistribution, as well as on the purchase of new equipment, if required.</p>
      <p>The analysis and prediction of the platform load is a relevant topic and has recently been taken
into development, therefore, the field of activity on this issue is wide. Plans for further work include,
for example, improving prediction algorithms in order to enhance the accuracy of long-term
predictions. It is planned to predict the use of platform resources not only in general, but also
separately for each user group. In addition, in the future, users will be clustered to identify their
nonobvious groups. The obtained algorithms will be applied on other computing platforms of JINR, in
particular, on the “Govorun” supercomputer.
Available at:</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>[1] HybriLIT heterogeneous platform</article-title>
          . Available at: hlit.jinr.ru
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>[2] SLURM workload manager</article-title>
          . Available at: https://slurm.schedmd.com/documentation.html
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Polegaeva</surname>
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Priakhina</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Streltsova</surname>
            <given-names>O.</given-names>
          </string-name>
          <article-title>Analysis of data on the loading of high-performance platforms by user tasks on the example of the heterogeneous computing platform HybriLIT,</article-title>
          <year>2021</year>
          ;(2):
          <fpage>67</fpage>
          -
          <lpage>76</lpage>
          (In Russian). Available from: http://sanse.ru/download/437
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Demidenko</surname>
            <given-names>E.Z.</given-names>
          </string-name>
          <string-name>
            <surname>Lineinaya</surname>
          </string-name>
          i nelineinaya regressii // M.:
          <string-name>
            <surname>Finansy</surname>
            <given-names>I statistika.</given-names>
          </string-name>
          1981. P.
          <volume>302</volume>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Pant</surname>
            <given-names>A.</given-names>
          </string-name>
          <article-title>Introduction to Linear Regression and Polynomial Regression [towards data science]</article-title>
          . Available at: https://towardsdatascience.com/introduction-to
          <article-title>-linear-regression-and-polynomialregression-</article-title>
          <source>f8adc96f31cb (accessed 05.05</source>
          .
          <year>2021</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Brownlee</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Classification</surname>
          </string-name>
          <article-title>And Regression Trees for Machine Learning [Machine Learning Mastery]</article-title>
          . Available at: https://machinelearningmastery.com/classification-and
          <article-title>-regression-trees-formachine-learning/</article-title>
          <source>(accessed 23.10</source>
          .
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Donges</surname>
            <given-names>N.</given-names>
          </string-name>
          <article-title>A complete guide to the random forest algorithm [Data science]</article-title>
          . Available at: https://builtin.com/data-science/random-forest-algorithm
          <source>(accessed 23.10</source>
          .
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Brownlee</surname>
            <given-names>J.</given-names>
          </string-name>
          <article-title>XGBoost for Regression [Machine Learning Mastery] https://machinelearningmastery.com/xgboost-for-regression/</article-title>
          <source>(accessed 20.06</source>
          .
          <year>2021</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>