<!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>OPTIMIZATION OF THE JINR CLOUD'S EFFICIENCY</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>N. Balashov</string-name>
          <email>balashov@jinr.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Baranov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>S. Belov</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>I. Kadochnikov</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>V. Korenkov</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>N. Kutovskiy</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Nechaevskiy</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>I. Pelevanyuk</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Laboratory of Information Technologies, Joint Institute for Nuclear Research</institution>
          ,
          <addr-line>6 Joliot-Curie, Dubna, Moscow region, 141980</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Plekhanov Russian University of Economics</institution>
          ,
          <addr-line>36 Stremyanny per., Moscow, 117997</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>2017 Nikita Balashov</institution>
          ,
          <addr-line>Alexandr Baranov, Sergey Belov, Ivan Kadochnikov, Vladimir Korenkov, Nikolay Kutovskiy, Andrey Nechaevskiy, Igor Pelevanyuk</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <fpage>88</fpage>
      <lpage>91</lpage>
      <abstract>
        <p>Clouds built on Infrastructure-as-a-Service (IaaS) model (such as JINR Cloud) gave us new universal and flexible tools and ways to use computing resources. These new tools may help scientists speed up their research work, though at the cost of a significant drop (compared to the more traditional systems in science such as grid) of the overall utilization efficiency of an underlying infrastructure. The talk covers Smart Cloud Scheduler project aimed at optimizing the performance of the IaaS-based clouds, including its architecture, development status and plans. The project includes development of a software framework that would allow one to implement custom schemes of dynamic reallocation and consolidation of virtual machines. The resulting system will give a possibility to dynamically rebalance the cloud workload in an automated fashion in order to increase the overall infrastructure utilization efficiency.</p>
      </abstract>
      <kwd-group>
        <kwd>cloud computing</kwd>
        <kwd>virtualization</kwd>
        <kwd>self-organization</kwd>
        <kwd>intelligent control</kwd>
        <kwd>datacenters</kwd>
        <kwd>VM consolidation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Cloud technologies gave us a convenient and universal way to organize and use large
computing infrastructures. The JINR Cloud [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is an example of such an infrastructure which is built
on OpenNebula platform and is based on Infrastructure as a Service model. The JINR Cloud was
initially born in the Laboratory of Information Technologies as a small project with the main goal to
facilitate the deployment of virtual infrastructures which were used to conduct trainings for Grid users
and system administrators. Eventually, the project evolved into a general-purpose cloud service which
was made available for all JINR employees and which is now widely used by more than 150 users
(including students, researchers, system administrators and software developers) for a variety of
different activities ranging from hosting production services to using virtual machines as personal
computers.
      </p>
      <p>
        In our previous works [
        <xref ref-type="bibr" rid="ref2 ref3 ref4">2-4</xref>
        ] we showed the possibility of optimizing JINR Cloud efficiency
and suggested a possible solution in the form of a software framework – SmartScheduler. In this paper
we give a status report of this project.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. SmartScheduler overview</title>
      <p>The SmartSchedulder project contains a software framework which can be extended with
custom interfaces and algorithms, and it also contains example interfaces and algorithms developed
specifically for the JINR Cloud environment. The main components of the system are depicted on
figure 1 and include:
1. Administrative interface based on Django web framework which helps control and configure
custom scheduling policies and algorithms.
2. Relational database which can be any database supported by Django and is used to store
configuration parameters and additional data.
3.</p>
      <p>A library providing interfaces for interacting with the cloud. Right now it is highly dependent
on the OpenNebula data format but we will work out a more general approach to ease the
development of other cloud platforms support.</p>
      <p>Monitoring and statistics collection system based on Icinga2 with custom sensors, InfluxDB
and Grafana.</p>
      <p>A simple daemon used to execute the scheduling strategies and keep them running.</p>
      <p>The light yellow boxes on figure 1 show the components that are not included in the
framework and can be represented by different solutions. In the next two sections we give an example
of how these components are implemented for the JINR cloud environment.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Cloud platform</title>
      <p>The cloud platform could be any platform implementing IaaS model. The minimal
requirements to the cloud platform are the following: it must provide API to create and delete VMs, to
migrate a VM from one host to another and it also has to expose interfaces for getting monitoring
information (which is covered in more details in the next section).</p>
      <p>The testing of the SmartScheduler framework will be conducted on the testbeds of the JINR
Cloud and will eventually be put into operation in the JINR Cloud production infrastructure. Since this
infrastructure is based on OpenNebula platform the framework will include interfaces for interacting
with OpenNebula-based clouds. These interfaces then could be used as an example to start with when
developing other platforms support, e.g. OpenStack.</p>
      <p>One of the features of the JINR Cloud is that it supports two types of hypervisors: KVM and
OpenVZ. Taking this into account, the SmartScheduler must be able to distinguish different
hypervisors and to treat them independently.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Monitoring module</title>
      <p>Monitoring and statistics collection is one of the most important parts of any complex
computing infrastructure including clouds. Nevertheless, there is no “one size fits all” solution to build
monitoring systems for complex computing infrastructures. Moreover, the monitoring systems for
complex computing infrastructures in most cases are based on a set of different software solutions,
each solving one particular task: data collection, issue detection, creation of reports, visualization, etc.
The JINR cloud monitoring system is also comprised of a number of different software solutions and
its scheme is shown on figure 2.
The JINR Cloud monitoring system is composed of the following software solutions:
 Icinga 2 which is used for collecting performance metrics and can be used for alarming.
 InfluxDB and Graphite are used for storing those metrics collected by Icinga sensors.
 Grafana is used for visualizing the JINR Cloud operation.</p>
      <p>The SmartScheduler project will include all necessary interfaces to interact with the
monitoring system described above and a set of guides and recommendations on how to deploy such a
system. Nevertheless, it is possible to use other monitoring solutions and the SmartScheduler can be
adjusted to fit with other possible architectures of monitoring systems.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>
        Presently, the basic software framework of the SmartScheduler project is designed, a
functional prototype is fully implemented and is being tested on the JINR Cloud’s testbeds. In the next
stage the scheduling policies will be developed based on algorithms suggested in our previous works
[
        <xref ref-type="bibr" rid="ref2 ref3 ref4">2-4</xref>
        ].
      </p>
      <p>
        In this paper we gave an overview of the SmartScheduler project. To get more technical
details, refer to our GitHub repositories [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for all the source-code and manuals.
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Acknowledgements References</title>
      <p>The project was supported by the RFBR grant 15-29-07027.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Baranov</surname>
            <given-names>A.V.</given-names>
          </string-name>
          et al.
          <source>JINR cloud infrastructure evolution // Physics of Particles and Nuclei Letters, ISSN 1547-4771</source>
          , eISSN:
          <fpage>1531</fpage>
          -
          <lpage>8567</lpage>
          ,
          <year>2016</year>
          , vol.
          <volume>13</volume>
          , No.
          <issue>5</issue>
          , pp.
          <fpage>672</fpage>
          -
          <lpage>675</lpage>
          . DOI:
          <volume>10</volume>
          .1134/S1547477116050071.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>N.</given-names>
            <surname>Balashov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Baranov</surname>
          </string-name>
          ,
          <string-name>
            <surname>V.</surname>
          </string-name>
          <article-title>Korenkov “Optimization of over-provisioned clouds</article-title>
          ” // Physics of Particles and
          <string-name>
            <given-names>Nuclei</given-names>
            <surname>Letters</surname>
          </string-name>
          .
          <article-title>-</article-title>
          <year>2016</year>
          . - Vol.
          <volume>13</volume>
          , No. 5. - P.
          <fpage>609</fpage>
          -
          <lpage>612</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Kadochnikov</surname>
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balashov</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baranov</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pelevanyuk</surname>
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kutovskiy</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Korenkov</surname>
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nechaevskiy</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <article-title>Evaluation of monitoring systems for metric collection in intelligent cloud scheduling /</article-title>
          / CEUR Workshop Proceedings, Vol.
          <volume>1787</volume>
          ,
          <string-name>
            <surname>Pages</surname>
          </string-name>
          279-
          <fpage>283</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>N.A.</given-names>
            <surname>Balashov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.V.</given-names>
            <surname>Baranov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.S.</given-names>
            <surname>Kadochnikov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.V.</given-names>
            <surname>Korenkov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.A.</given-names>
            <surname>Kutovskiy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.V.</given-names>
            <surname>Nechaevskiy</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.S. Pelevanyuk</surname>
          </string-name>
          <article-title>Software complex for intelligent scheduling and adaptive selforganization of virtual computing resources based in LIT JINR cloud center // Izvestiya SFedU</article-title>
          .
          <source>Engineering Sciences</source>
          , Vol.
          <volume>12</volume>
          (
          <issue>185</issue>
          ), pp.
          <fpage>92</fpage>
          -
          <lpage>103</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <article-title>[5] “Homepage of SmartScheduler project's code repositories”</article-title>
          , https://github.com/jinr-lit,
          <source>accessed on: 26.10</source>
          .2017
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>