<!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>Prediction of Cluster System Load Using Artificial Neural Networks</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Y.S. Artamonov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Samara National Research University</institution>
          ,
          <addr-line>34 Moskovskoe Shosse, 443086, Samara</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <fpage>59</fpage>
      <lpage>63</lpage>
      <abstract>
        <p>Currently, a wide range of high-performance environments is available for a researcher to perform computations. It is a really difficult task to select an environment in which the computations will be completed as soon as possible. To solve this, you need to analyze the load of the environment computing resources, and also to predict their availability in the future. In this paper we describe a solution for prediction of computing resources load in a cluster environment using neural network models. We considered a process of configuring the neural network architecture: selection of activation functions, algorithms of initialization and updating of the weights of neurons. Training and testing was performed on a set of data for the load of the cluster "Sergey Korolev" for the period from November 2013 to December 2016.</p>
      </abstract>
      <kwd-group>
        <kwd>load prediction</kwd>
        <kwd>cluster</kwd>
        <kwd>neural network</kwd>
        <kwd>model</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
    </sec>
    <sec id="sec-2">
      <title>2. Neural network prediction models</title>
      <p>Neural network prediction models are based on the use of neural networks that can be trained in regression problems and
produce the output value, based on some input parameters, approximating the unknown functional dependencies of the output
data on the input.</p>
      <p>
        Neural network models were used in papers [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] to predict the load of resources with different nature: CPU servers and
electrical networks. In both problems, neural network models showed good results and were recognized as effective and
adequate to the prediction problem. Given these results, let's look at how well neural network models are suitable for predicting
the number of loaded cluster nodes.
      </p>
      <p>Neural network models were chosen for this study because of peculiarities of the task and historical data collected by us. We
took into account the following aspects:
 time series of resources load are non-stationary,
 there are templates and periodic components in historical data, as well as segments with low and high load,
corresponding to weekends, holidays and work days,
 time series have known minimal and maximum value.</p>
      <p>
        To predict values of time series of this nature we can use neural networks, in fact solving the approximation problem of an
unknown function. Taking into account the papers [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] that apply neural networks for solving forecast problems of
similar in nature time series (load of computational resources of cluster / cloud environments), we chose to study the model of a
multilayer perceptron (MLP) with single (SL MLP) and two hidden layers (DL MLP).
      </p>
      <p>
        MLP consist of neurons and connections between them (fig. 1). Neurons have a special transformation function – activation
function, each connection has characteristic called weight. Output signal of a neuron in a layer Z of MLP is determined using
equation 1[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]:
      </p>
      <p>N
z j  f ( wijui ) (1)
i1
where ui – output signals of the layer Z, wij – weights of connections between i neuron of the previous layer and j neuron of the
layer Z, f – activation function, zj – output signal of a neuron. In this paper, we used hyperbolic tangent function as an activation
function for neurons of hidden layers.</p>
      <p>Data Science / Y.S. Artamonov</p>
      <p>The training of a neural network is a process of changing the weights of the neuron connections. The main goal of a learning
algorithm is to find a configuration of the weights of all the links where the error function is minimized. In the task that we solve
we use MSE (Mean Squared Error) as a criterion for model training using gradient descent method, as a final benchmark of a
model we use MAE (Mean Average Error) since time series contains a lot of segments with zero value or sequential equal
values, that is why we cannot use MASE (Mean Average Scaled Error) and MAPE (Mean Absolute Percentage Error).</p>
      <p>Fig. 1. Structure of MLP with one hidden layer.</p>
      <p>
        We use DeepLearning4j library for training and testing models based on MLP. This library provides battle proven tools and
algorithms for training and usage of various artificial neural networks, including the most popular neural network architectures,
learning and optimization algorithms. The library is written in Java and uses native extensions for computations on the CPU and
GPU to provide the required performance [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The DeepLearning4j library is licensed under the Apache License 2.0, this
enables us to use it in any applications including commercial, the open source development approach attracts a large number of
researchers and improves the quality of the library.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Configuring network architecture and learning parameters</title>
      <p>
        To train neural MLP networks the method of back propagation of the error is used with various modifications. The method is
an iterative gradient algorithm that is used to minimize the MLP error and to obtain the desired output values. The essence of the
method consists in propagation of error signals from the outputs of the network to its inputs, back to direct propagation of
signals in the usual mode of operation [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>Primary parameters of the method and its modifications are:
 learning epochs count,
 learning rate,
 weights initialization algorithm,
 weights update algorithm,
 optimization algorithm,
 learning momentum.</p>
      <p>In the task, we need to predict the number of occupied cluster nodes in several of the most intensively used groups of nodes.
Target prediction interval – 12 hours, we need to predict 12 points of a time series, one mean value of cluster group load per one
hour. We chose qdr_tmp and ddr_tmp cluster groups for training and prediction of a group load. Their load is of the greatest
interest because of a large regular load.</p>
      <p>To compare the learning methods with different modifications we chose the training parameters presented in Table 1. We
compared the training of SL MLP and DL MLP models in the prediction task with 12 points of cluster load (each point – mean
load of a cluster group for 1 hour). In training and forecasting, only time series data were considered and passed to neural
network inputs. The optimal number of inputs, selected experimentally, is 6.</p>
      <p>In the process of training, we fed to the input of the neural network various sets of consecutive 6 values of the series; we used
random order of data sets. For each test set, 12 values were generated at the output of the neural network, which were compared
with 12 values from the test set. Parameters i = 6, k = 12.
The backward propagation of errors method is subject to the following problems:
Hidden layer
neurons count
15
1st: 20
2nd: 10


</p>
      <p>Modifications to the method of back propagation of errors with momentum and various updating algorithms of the link
weights, such as Adadelta, enable us to fix or partially fix the above problems, accelerate training and reduce the error of MLP
based prediction models.</p>
      <p>In the study of neural network models we considered various configurations of training neural networks by the method of
back propagation of errors. As parameters of the configuration in the training we used: the algorithm for initializing the weights
of neurons, the algorithm for updating the weights of neurons and the optimization algorithm.</p>
      <p>
        We tested 2 options for initializing the balance: uniform distribution (Uniform) and using the Xavier method. The following
algorithms for updating the weights of neurons were tested: Nesterov Accelerated Gradient (Nesterovs), adaptive gradient
descent (Adagrad), Adaptive learning rate (Adadelta), adaptive momentum estimation (Adam). Two optimization algorithms
were tested: linear gradient descent (LGD) and stochastic gradient descent (SGD). These optimizations and the parameters of
the gradient descent method and the back propagation of errors algorithm are described in paper [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>The test used a training sample of length 6000 points and a test sample with a length of 1000 points, the sample data were
obtained for the period from January 1, 2015 to January 1, 2016. The results of testing models with different learning parameters
for solving the task of forecasting the cluster load are presented in Table 2, the RMSE (Root Mean Square Error) error values
are given to estimate the dispersion of the forecast values.
UNIFORM
XAVIER
UNIFORM
XAVIER
UNIFORM
XAVIER
UNIFORM
XAVIER
UNIFORM
XAVIER
UNIFORM
XAVIER
UNIFORM
XAVIER
UNIFORM
XAVIER</p>
      <p>NESTEROVS
NESTEROVS
NESTEROVS
NESTEROVS
ADADELTA
ADADELTA
ADADELTA
ADADELTA
ADAGRAD
ADAGRAD
ADAGRAD
ADAGRAD</p>
      <p>ADAM
ADAM
ADAM
ADAM</p>
      <p>LGD
LGD
SGD
SGD
LGD
LGD
SGD
SGD
LGD
LGD
SGD
SGD
LGD
LGD
SGD
SGD</p>
    </sec>
    <sec id="sec-4">
      <title>4. Comparison of model errors</title>
      <p>An example of forecasting cluster load data for a neural network with a single hidden layer is shown in fig. 2, a neural
network with two hidden layers - in fig. 3. The dashed line shows the forecast values of the series. The graphs of the forecast
values were obtained by calculating the forecast every 12 points.</p>
      <p>As the final error metric, the mean absolute error (MAE) is selected, because the relative forecast error (MAPE) can not be
used in series that include values close to or equal to zero. The distribution of MAE errors in the SL MLP and DL MLP models
is shown in fig. 4, the distribution of errors of both models is close to normal.</p>
      <p>
        Previously, the task of forecasting 12 cluster load points was solved by the time series prediction method using the maximum
resemblance sample (EMMSP) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The MAE prediction errors for method comparison are given in Table 3.
      </p>
      <p>In addition to direct comparison of models, we tried to use all three models (EMMSP, SL MLP, DL MLP) together . In order
to do this, we put forward a hypothesis: Each of the models is the best (shows the smallest MAE error) in a certain length of data
L &gt; M, where M is the number of prediction points. We tested this hypothesis for the data on which MLP models were tested.
Each of the models retains its leadership at the average on a section of 24 to 36 points in length, which corresponds to a time
interval of 1 to 1.5 days.</p>
      <p>
        The error value for a simple adaptive selective model [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] was obtained for a model that selects the best model for predicting
future values by a simple heuristic rule: If one of the models was better in the previous section of the data, then it should be used
to predict again. Data for testing were collected between November 2013 and December 2016. The open load monitoring data of
the "Sergey Korolev" cluster is available in JSON machine-readable format at: http://templet.ssau.ru/wiki/открытые_данные.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgements References</title>
    </sec>
    <sec id="sec-6">
      <title>5. Conclusion</title>
      <p>The prediction algorithms based on neural network models with one and two hidden layers are integrated into the Templet
Web service, which enables users to estimate the task launch time. The forecast graphs and cluster load history are available to
registered users of the system. In the future, we plan to provide users with an interactive hint about the number of available
resources and the estimated time to start the task based on the task requirements (nodes, groups, software licenses) specified at
the time of adding task to a batch queue.</p>
      <p>The results of the cluster load forecasting can be applied to solve several types of tasks:
 increase the efficiency of cluster use (energy efficiency, load efficiency),
 selection of optimal environments and parameters for computations,
 planning of cluster growth and maintenance periods.</p>
      <p>Methods of forecasting the loading of computing resources are most in demand now in cloud environments where they can
enable commercial companies to reduce server maintenance costs or, on the contrary, to effectively adapt to the growing
demands of customers.</p>
      <p>This work is partially supported by the Russian Foundation for Basic Research (RFBR#15-08-05934-A), and by the Ministry
of Education and Science of the Russian Federation within the framework of the State Assignments program
(№ 9.1616.2017/ПЧ).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Naseera</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rajini</surname>
            <given-names>GK</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sunil Kumar Reddy P. Host CPU</surname>
          </string-name>
          <article-title>Load Prediction Using Statistical Algorithms a comparative study</article-title>
          .
          <source>International Journal of Computer Technology and Applications</source>
          <year>2016</year>
          ;
          <volume>9</volume>
          (
          <issue>12</issue>
          ):
          <fpage>5577</fpage>
          -
          <lpage>5582</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Di</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kondo</surname>
            <given-names>D</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cirne</surname>
            <given-names>W.</given-names>
          </string-name>
          <article-title>Host load prediction in a Google compute cloud with a Bayesian model</article-title>
          .
          <source>Proceedings of the International Conference on High Performance Computing</source>
          ,
          <article-title>Networking, Storage and Analysis</article-title>
          . IEEE Computer Society Press,
          <year>2012</year>
          ; 21 p.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Artamonov</given-names>
            <surname>YS</surname>
          </string-name>
          .
          <article-title>Application of the EMMSP model to predict available computing resources in cluster systems</article-title>
          .
          <source>Bulleten of the Samara Scientific Center RAS</source>
          <year>2016</year>
          ;
          <volume>18</volume>
          (
          <issue>4</issue>
          ):
          <fpage>681</fpage>
          -
          <lpage>687</lpage>
          . (in Russian)
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Naseera</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rajini</surname>
            <given-names>GK</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Amutha Prabha</surname>
            <given-names>N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abhishek</surname>
            <given-names>G.</given-names>
          </string-name>
          <article-title>A comparative study on CPU load predictions in a computational grid using artificial neural network algorithms</article-title>
          .
          <source>Indian Journal of Science and Technology</source>
          <year>2015</year>
          ;
          <volume>8</volume>
          (
          <issue>35</issue>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Kalaitzakis</surname>
            <given-names>K</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stavrakakis</surname>
            <given-names>G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Anagnostakis</surname>
            <given-names>EM</given-names>
          </string-name>
          .
          <article-title>Short-term load forecasting based on artificial neural networks parallel implementation</article-title>
          .
          <source>Electric Power Systems Research</source>
          <year>2002</year>
          ;
          <volume>63</volume>
          (
          <issue>3</issue>
          ):
          <fpage>185</fpage>
          -
          <lpage>196</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Chandini</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pushpalatha</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boraia R. A</surname>
          </string-name>
          <article-title>Brief study on Prediction of load in Cloud Environment</article-title>
          .
          <source>International Journal of Advanced Research in Computer and Communication Engineering</source>
          <year>2016</year>
          ;
          <volume>5</volume>
          (
          <issue>5</issue>
          ):
          <fpage>157</fpage>
          -
          <lpage>162</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Engelbrecht</surname>
            <given-names>HA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>van Greunen</surname>
            <given-names>M.</given-names>
          </string-name>
          <article-title>Forecasting methods for cloud hosted resources, a comparison. Network and Service Management (CNSM)</article-title>
          .
          <source>11th International Conference on IEEE</source>
          <year>2015</year>
          ;
          <fpage>29</fpage>
          -
          <lpage>35</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Hajkin</surname>
            <given-names>S. Nejronnye seti. M.</given-names>
          </string-name>
          : Vil'jams,
          <year>2006</year>
          ; 1104 p.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <issue>Deeplearning4j</issue>
          :
          <article-title>Open-source distributed deep learning for the JVM</article-title>
          . URL: http://deeplearning4j.org (
          <volume>01</volume>
          .
          <fpage>01</fpage>
          .
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Osovskij</surname>
            <given-names>S.</given-names>
          </string-name>
          <article-title>Nejronnye seti dlja obrabotki informacii</article-title>
          .
          <source>M.: Finansy i statistika</source>
          ,
          <year>2002</year>
          ; 344 p.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Ruder</surname>
            <given-names>S.</given-names>
          </string-name>
          <article-title>An overview of gradient descent optimization algorithms</article-title>
          ,
          <year>2016</year>
          . ArXiv preprint arXiv:
          <volume>1609</volume>
          .
          <fpage>04747</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Lukashin</given-names>
            <surname>JuP</surname>
          </string-name>
          .
          <article-title>Adaptive methods of short-term forecasting of time series</article-title>
          .
          <source>M.: Finansy i statistika</source>
          ,
          <year>2003</year>
          ; 415 p.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>