<!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>Server hardware resources optimization for virtual desktop infrastructure implementation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>K. Makoviy</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>D. Proskurin</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yu. Khitskova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ya. Metelkin</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Voronezh State Technical University</institution>
          ,
          <addr-line>20 let Oktyabrya str., 84, 394006, Voronezh</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <fpage>178</fpage>
      <lpage>183</lpage>
      <abstract>
        <p>A new model of capacity planning problem applied to Virtual Desktop Infrastructure implementation is proposed. The possibility of applying the methods of integer mathematical programming to the problem of optimizing server set providing the predetermined number of virtual machines operating. Virtualization is a common concept for concealing the real structure that is used for creating virtual hardware and operating system, virtual storage and network resources. Most organizations of different sizes and income have implemented server virtualization over the past 10 years. Server virtualizations is based on the hypervisor technology, which creates a thing interlayer between hardware and guest operation system. On the next step of developing IT infrastructure, organizations address to the technology of centralized desktop execution enhancing end user experience and IT management of desktops. While implementing desktop virtualization it is essential to understand that this solution requires not only adequate planning but also significant financial costs. Value of hardware for physical servers makes considerable contribution for the investment costs [1] whereas optimal configuration of the servers purchased can save considerable funds. We offer a mathematical model for solving the optimization problem of server resources needed for desktop virtualization implementation and present computing results.</p>
      </abstract>
      <kwd-group>
        <kwd>capacity planning</kwd>
        <kwd>virtual desktop infrastructure</kwd>
        <kwd>integer programming</kwd>
        <kwd>server hardware</kwd>
        <kwd>equipment costs</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
    </sec>
    <sec id="sec-2">
      <title>3. Methods</title>
      <sec id="sec-2-1">
        <title>The problem of virtualized server optimization was considered previously in two aspects – static and dynamic. Static Server</title>
      </sec>
      <sec id="sec-2-2">
        <title>Allocation Problem is an approach based on a service concept, the model was introduced in [2] and designed to optimally</title>
        <p>allocate source servers to physically target servers and was proven that this model is NP-hard problem, heuristic solution based
on bin packet problem is offered. Another option of using linear programming methods for virtualized system placement
representing the dynamic aspect of the problem is used for creating application placement controller pMapper [3].</p>
        <p>There are several attempts to solve the problem of dynamic replacement of virtual machines on existed physical server
infrastructure in datacenter to optimize energy consumption, minimize administrative efforts, increasing server utilization. An
approach of dynamic resource allocation for large Internet–oriented data centers bases on queuing theory and Erlang’s loss
formula represented in [4]. On the other hand it is proposed to use a genetic algorithm based approach, namely GABA, to
adaptively self-reconfigure the VMs (Virtual Machines) in large-scale data centers [5]. All the models proposed focuses on the
server virtualization not the desktop virtualization. As for desktop virtualization an allocation algorithm based on a bin-packet
problem is developed [6]. It is mainly focused on achieving a balance between resource usage optimization and user satisfaction.</p>
      </sec>
      <sec id="sec-2-3">
        <title>In this work we concentrated on the problem of server hardware assessment optimization in order to reduce financial costs</title>
        <p>while implementing desktop virtualization at the university. To achieve this goal we have to analyze resource requirements of</p>
      </sec>
      <sec id="sec-2-4">
        <title>VMs that will be used, number of VMs, and range of hardware servers of the vendor then solve optimization problem to choose a set of optimal server models and their configuration to minimize total cost.</title>
        <sec id="sec-2-4-1">
          <title>3.1. Model description</title>
        </sec>
      </sec>
      <sec id="sec-2-5">
        <title>For the model we assume a particular number of the same virtual desktops. We plan to use them for computer labs at the</title>
        <p>university and actually we probably will have a need of several types of virtual machines for different labs but for the first
approximation, we will consider all virtual machines have exactly the same resources requirements.</p>
      </sec>
      <sec id="sec-2-6">
        <title>We consider discrete set of server platform models, each of them may be supplemented by additional RAM (Random Access</title>
      </sec>
      <sec id="sec-2-7">
        <title>Memory) modules. We can extend RAM with additional memory modules that have various amounts and prices. We assume also that performance of the server is acceptable if RAM amount is sufficient for running VMs only in virtual memory not using as a rule a paging file. In this approximation, we do not consider the processor load since the main purpose of this model is minimizing total costs at the very start of VDI implementation project.</title>
      </sec>
      <sec id="sec-2-8">
        <title>For the model description, we introduce the following variables:</title>
        <p>S  S1, S2 Sm – vector of server platform models that can be used for the hardware servers, where m – total number
of server platform models selected for consideration;
С = С1 ,С2 …Сm – vector of values of server platforms S , where Сi - is a value of Si , Si  S , i  1..m ;
N = N1 , N2 …Nm – numbers of servers of server platform model Si   that will be used in a final set;
P = P1 ,P2 …Pm – vector of memory slots in the server Si , this is a maximum number of memory modules that can
be used for the server Si ;</p>
        <p>M = M1 ,M 2 …M m  – vector of maximum RAM amounts that can be added to the server platform Si ;
R = R1 ,R2 …R  – amount of memory module j , j  1k , where k – is the number of types of RAM modules;
k
Cv  Cv1, Cv2 Cvk  – value of memory module j , j  1..k .</p>
      </sec>
      <sec id="sec-2-9">
        <title>Because our goal is to minimize costs then we determine an objective function reflecting the total cost of the hardware server</title>
        <p>set. The total cost of the server consists of the value of based server platform model ( Ci ) and the cost of additional RAM
k
modules ( Сv j n ji ), where nji - number of RAM modules j on the server  Si . Thus, the objective function is the following:
j=1</p>
        <p>n k
F  (Ci  Сv j n ji )Ni</p>
        <p>
          i1 j1
In the following we present constrains for the objective function:
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
where nji - number of RAM modules j on the server Si , j  1..k , i  1..m .
        </p>
        <p>2. The total number of RAM modules cannot exceed the number of hardware server model memory slots:
k
n ji  Pi ,
j1</p>
      </sec>
      <sec id="sec-2-10">
        <title>3. The total amount of RAM memory on all servers out of server set should provide enough memory to run necessary number of VMs:</title>
        <p>n k
([Rj n ji ] / V )  N ,</p>
        <p>
          V
i=1 j=1
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
(
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
(
          <xref ref-type="bibr" rid="ref5">5</xref>
          )
(
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
where NV – is a number of VMs, V – memory needed for one virtual machine.
        </p>
      </sec>
      <sec id="sec-2-11">
        <title>4. To get a solution that makes a sense we will add a constrains for numbers of servers and RAM modules to be integer:</title>
        <p>Ni ,nji  0, i  1..m,  j = 1..k,   Ni , nji - integer</p>
      </sec>
      <sec id="sec-2-12">
        <title>The model proposed makes it possible to solve the problem of selecting the optimal set of server hardware equipment necessary for Virtual Desktop Infrastructure deployment. This model can be refined to allow sets of virtual machines that differs by hardware resources requirements and expand the range of considered hardware resources types.</title>
        <sec id="sec-2-12-1">
          <title>3.2. Model solution.</title>
        </sec>
      </sec>
      <sec id="sec-2-13">
        <title>In order to obtain a solution we divided this problem into two parts:</title>
      </sec>
      <sec id="sec-2-14">
        <title>1. On the first step of calculation, we create optimal filling of the server slots by RAM modules, analyzing filling for 25%,</title>
        <p>
          50%, 75% and 100% of the maximum amount. Objective function Cvp  reflects the cost of RAM added to the  Si  server platform
i
model filled with RAM modules by part equal to p of the maximum and is the following:
k
Cvp  minСv j n ji
i
j1
subject to:
 k
Rj n ji  M i p
 j1
 k , (
          <xref ref-type="bibr" rid="ref7">7</xref>
          )
 n ji  Pi 
 j1
where  p – part of the maximum RAM amount, which can be either 0,25, 0,5, 0,75 and 1. This is linear programming problem,
which was solved by branch and boundary method [7]. For each filling percentage, we get the optimal set of memory modules
for every server platform model. Thus, we get four hardware servers for selection instead of one server platform model.
2. On the second step we form a final set of servers minimizing the following objective function:
m 4
        </p>
        <p>
          p
min(Ci  Cvi j )Nij , (
          <xref ref-type="bibr" rid="ref8">8</xref>
          )
p
where Cv j is a result of (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ), i.e. cost of additional memory of server  Si , filled by memory modules on pj part, subject to (
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
i
and Nij  0, i = 1..m, j = 1..4,   Nij  integer .
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>4. Results and Discussion</title>
      <sec id="sec-3-1">
        <title>In the following, we provide the numerical results of applying this model to a set of servers for deploying different numbers</title>
        <p>of virtual machines. Any set of hardware server platforms by one vendor can be used as an initial set of server platform models.</p>
      </sec>
      <sec id="sec-3-2">
        <title>The servers used in calculation presented in the table 1. These are 11 models of HP ProLiant Servers of ML product line. One of</title>
        <p>the main reasons to use these servers was the fact that HP ProLiant Servers are used in Voronezh State Technical University
ITinfrastructure. The cost and configuration of server platform models were taken from the site of one of the server distributors
[8]. It happens that two models differ only in the processor that is why CPU model is also presented in a table 2.</p>
      </sec>
      <sec id="sec-3-3">
        <title>For the problem solution, we used MatLab realization of the brunch and bound method [7]. As for amount of memory needed</title>
        <p>for one virtual machine we assume it is 4Gb. This the amount recommended by vendors of VDI software is used as a first
approach. Further investigations of the memory amount necessary for one virtual machine should base on performance counters
analysis in a pilot project. Some software products can help to estimate the required amount of memory, for example, VMWare</p>
      </sec>
      <sec id="sec-3-4">
        <title>View Planner.</title>
      </sec>
      <sec id="sec-3-5">
        <title>There are five types of RAM modules available for HP ProLiant Servers: 2Gb, 4Gb, 8Gb, 16Gb, 32Gb value 26, 136, 215,</title>
        <p>315, 840 USD respectively. For each server platform model the problem of optimal memory filling up to 25, 50, 75 and 100% of</p>
        <p>Mathematical Modeling / K. Makoviy, D. Proskurin, Yu. Khitskova, Ya. Metelkin
maximum amount is resolved. It was not always possible to get 100% of maximum possible memory capacity because of the
pre-installed small RAM modules. In this case, the maximum possible amount of memory was considered. The result of optimal
filling the server slots by RAM modules to minimize cost while maximizing the amount of memory is in Table 2.</p>
        <p>Mathematical Modeling / K. Makoviy, D. Proskurin, Yu. Khitskova, Ya. Metelkin</p>
      </sec>
      <sec id="sec-3-6">
        <title>The obtained results are used in the second part of solution that implement selection of optimal final set of servers from the variety of servers determined on the first part of solution. The result of model solution for 500, 700, 900 and 1000 VMs is presented on the figures 1-4.</title>
      </sec>
      <sec id="sec-3-7">
        <title>According to figure 1 for placing 500 virtual machines, it’s optimal to use eight servers ML150 G9 Hot Plug with 50% of memory filling. Table 2 shows that for this filling it is necessary to add to the base model one RAM module of amount of 8Gb, 13 modules of 16Gb and one of 32Gb. Fig.2. Problem resolution for 600 virtual machines.</title>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>5. Conclusion References</title>
      <p>The interest to VDI technology grows fast because of popularity of cloud computing. Desktop virtualization implementation
is a next step in centralizing IT infrastructure that brings both management advantages and academic benefits creating a
convenient integrated educational environment. The new model for the optimizing acquisition costs of server hardware
purchased for VDI implementation is offered. The results for numerical calculation shows also server platforms models with best
price-quality ratio.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Makoviy</surname>
            <given-names>KA</given-names>
          </string-name>
          ,
          <article-title>Khitskova YuV</article-title>
          .
          <article-title>Econiomic basis of VDI deployment in institution of higher education IT-infrastructure</article-title>
          .
          <source>Modern economy: problem and solutions</source>
          <year>2015</year>
          ;
          <volume>2</volume>
          (
          <issue>62</issue>
          ):
          <fpage>75</fpage>
          -
          <lpage>81</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Speitkamp</surname>
            <given-names>B</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bichler</surname>
            <given-names>M.</given-names>
          </string-name>
          <article-title>A mathematical programming approach for server consolidation problems in virtualized data centers</article-title>
          .
          <source>IEEE Trans. Services Comput</source>
          .
          <year>2010</year>
          ;
          <article-title>3(Х</article-title>
          ):
          <fpage>266</fpage>
          -
          <lpage>278</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Verma</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ahuja</surname>
            <given-names>P</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neogi</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <article-title>Mapper: power and migration cost aware application placement in virtualized systems</article-title>
          .
          <source>Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware</source>
          <year>2008</year>
          ;
          <fpage>243</fpage>
          -
          <lpage>264</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Song</surname>
            <given-names>Y</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            <given-names>Y</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sun</surname>
            <given-names>Y</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shi</surname>
            <given-names>W. Utility</given-names>
          </string-name>
          <article-title>Analysis for Internet-Oriented Server Consolidation in VM-Based Data Centers</article-title>
          .
          <source>Proceedings of the IEEE International Conference on Services Computing</source>
          <year>2009</year>
          ;
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Mi</surname>
            <given-names>H</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            <given-names>H</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yin</surname>
            <given-names>G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhou</surname>
            <given-names>Y</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shi</surname>
            <given-names>D</given-names>
          </string-name>
          , Yuan L.
          <article-title>Online self-reconfiguration with performance guarantee for energy-efficient large-scale cloud computing data centers</article-title>
          .
          <source>Proceedings of the IEEE International Conference on Services Computing</source>
          <year>2010</year>
          ;
          <fpage>514</fpage>
          -
          <lpage>521</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Armstrong</surname>
            <given-names>D</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Espling</surname>
            <given-names>D</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tordsson</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Djemame</surname>
            <given-names>K</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Elmbroth</surname>
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Conteztualization</surname>
          </string-name>
          <article-title>: dynamic configuration of virtual machines</article-title>
          .
          <source>Journal of Cloud Computing: Advances, Systems and Applications</source>
          <year>2015</year>
          ;
          <fpage>4</fpage>
          -
          <lpage>17</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Taha</given-names>
            <surname>HA</surname>
          </string-name>
          .
          <article-title>Operation research: An introduction</article-title>
          . Moscow: Publishing House Willams,
          <year>2001</year>
          ; 912 p.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <article-title>[8] Servers and Accessories of Hewlett-Packard</article-title>
          . URL: http://www.proliant.ru/ files/File/HP_proliant_price_
          <volume>09</volume>
          _
          <fpage>15</fpage>
          .xls.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>