An Distributed Virtual Machine Placement Algorithm for Balanced Resource Utilization and Low Energy Consumption

. Virtual machine placement is the process of selecting the most suitable server in large cloud data centers to deploy newly-created VMs. Traditional load balancing or energy-aware VM placement approaches either allocate VMs to PMs in centralized manner or ignore PM’s cost-capacity ratio to implement energy-aware VM placement. We address these two issues by introducing a distributed VM placement approach. A auction-based VM placement algorithm is devised for help VM to find the most suitable server in large heterogeneous cloud data centers. Our algorithm is evaluated by simulation. Experimental results show two major improvements over the existing approaches for VM placement. First, our algorithm efficiently balances the utilization of multiple types of resource by minimizing the amount of physical servers used. Second, it reduces system cost compared with existing approaches in heterogeneous environment.


INTRODUCTION
Cloud computing provides flexible and cost-effective services for enterprises, organization, and individuals running computational and data-intensive application [1].Users can submit their resource (e.g., CPU, Memory, Storage, and Network) request to cloud computing platforms service providers(e.g., Amzon EC2, Microsoft Azure , and Google AppEngine).Thecloud service providers(CSP's) provide the users their required resource in the form of virtual machine(VM, like a real computer).Through an effective VM resource allocation method, it should not only deliver scalable services to satisfy various user requirements in the pursuit of increasing the CSP's profit [2], but also save the energy consumption of the physical machines(PMs) used for running users' application in the pursuit of decreasing the CSP's cost [3].In this paper, we are concerned with developing balanced resource utilization and energyaware resource allocation approach of allocating VMs to PMs for effective using resource and energy cost minimization, which is a hot spot problem in cloud computing systems [4][5][6][7][8][9].
From the CSP's perspective, effective resource allocation in cloud computing systems has a high impact on operational cost.If the owner of cloud data centers cannot effectively deploy different types of VM requests, some resources may become overloaded while the others remain underutilized.Eventually, such unbalanced use of resources may result in the unnecessary activation of physical servers which are not really needed and increase operational costs.
Energy consumption management is another important issue for CSP's.According to [10], most of the time, servers in datacenter operate in low resource utilization(between 10% and 50%).Recent studies have been shown that PMs consume a high percentage of the power in cloud computing systems [11].In order to reduce energy consumption.energy-aware VM placement algorithms have been studied widely, and many approaches has been proposed [8][9][10][11].From these approaches, we find there are mainly two aspects that need to improve.First, simple extensions of well-known VM placement algorithms may cause low resource utilization and unbalance the load.Second, most of existing approaches assume that there is a central resource manager that maintain and monitor information about all PMs and VMs and allocate VMs to PMs in a centralized manner [12][13][14][15].Although centralization can run in high performance, it leads to poor scalability and low robustness, a failure from single point, may create a vulnerable cloud system.
To address the above two issues, this paper introduces a decentralized auction-based virtual machine placement approach.Our approach allocates these VMs to suitable PMs .our major contributions are as follows.
• We design a VM placement criterion by using two metrics, resource balance ratio and cost-capacity ratio.placement algorithm can efficiently reduce the number of required active physical machine in heterogeneous cloud system.The remainder of this paper is organized as follows.In Section 2, we provide a brief review of related work.In Section 3, we formulate the VM placement problem with the objective of balanced resource utilization and energy cost minimization.In Section 4, we analyze the proposed algorithm in detail.In Section 5, we conduct experiments to validate our virtual machine placement approach's effectiveness in balanced resource utilization and energy cost reducing.Finally, Section 6 concludes the article.

RELATED WORK
The CSP prefers to take full of advantage of PM resources to satisfy as many user requests as possible, thereby increasing CSP's revenue.Meanwhile, it also prefers to allocate the VMs to PMs efficiently to use as little energy cost as possible to decrease CSP's cost of running users' application.Therefore In this section, we present relevant approaches proposed in the literature for VM placement in large cloud data center considering the following to objectives:1) allocating VMs optimally to maximize resource utilization and 2) allocating VMs to PMs optimization to minimize the energy cost generated by the PMs.

Vm Placement For Maximization Resource Utilization
Cloud datacenter is composed by multiple physical machines and virtual resources such as CPU, memory, storage, Finding the optimal allocation of physical servers is a well-known NP-complete problem [16].many heuristic algorithms have been proposed to find a feasible solution in a rational time.First-Fit algorithm is one of the well-known mapping algorithm, which allocated each VM request to the first physical machine which can satisfy the demands of VM.Other widely-used heuristic VM placement algorithms include Min-Min and Max-Min.[17] adopt in such way to assign VM to PM.These algorithms take only one dimension resource into account.Solutions that only considering single metric may be efficient for one dimension resource.While under utilizing others, thus requiring more active physical machine than really needed, consequently efficient algorithms are needed to spread the load related to different types of resource.
To reduce the number of required physical machines, multiple resources are taken into account for VM placement.[18] proposes vector-based approach to select appropriate physical machine.[7] proposes a scheme for balancing the utilization of multiple types of resources by minimizing the angle between utilized capacity vector of servers and total resource capacity vector of servers among all physical servers.[19] propose resource balancing ratio method to minimizing the amount of physical servers used meanwhile balancing the utilization of multiple types of resource.Although these algorithms are efficient in resource utilization of each dimension, all of them do not consider the energy cost consumed for running VM or heterogeneity of physical machine.

VM Placement for Energy Consumption Minimization
Energy efficiency is a very important issue to address, considering economical and ecological impact in modern datacenters.An intuitive way of cutting down the energy consumption is to reduce the number of active PMs, which can be called static VM placement.Static energyaware VM placement problem can be modeled as the binpacking problem, where VMs and PMs are be treated as items and bins respectively.[20] presents a multidimensional space partition model, based on which they propose VM placement algorithm called EAGLE to balance the number of running machine.Evolutionary computation algorithms, including particle swam optimization [21] and ant colony optimization have been utilized as another way to tackle energy-aware VM placement problem.Although meta-heuristics algorithms depend much on system parameters, setting up parameters is difficult.[22] devises a multiagent-based VM placement mechanism to reduce system energy, but it only takes one dimension resource into account, resource utilization is unbalance.
Most of existing methods assume that a central resource manager that can monitor and maintain information about all VMs and PMs and allocate VMs to PMs in a centralized manner.Further, these methods are also ignoring the heterogeneous of physical machine in cloud system.
Our proposed scheme selects target physical server by combining both resource balancing discrepancy ratio and cost-capacity ratio.The joint use of these metrics can achieve better resource utilization and energy saving.

PROBLEM FORMULATION
In this section, we first describe the main characteristics of the VM placement problem based on a multipleresource model.Then we present the metrics which Local manger use for choose the most appropriate VM request.

Problem Definition
Let us consider a large cloud system ,which consists of a lot of heterogeneous PMs.Such a cloud system provides computing resources such as CPU, memory, storage and network bandwidth in the form of VM instance.Each PM owns a number of resources and is capable of running we use p = (pi, r d ), d={1,...,|n|} to uniquely identify a physical server of |n| dimensional resource capacity, where pi is a unique identifier of PM; and r d = (r 1 ,r 2 ,...,r |n| ) represents the type and amount of the d-th resource capacity, in which each dimension corresponds to one type of physical resource(e.g., CPU, memory, storage, and network bandwidth).P = (p1,p2,...,pM) denotes a set of M activated physical resources in heterogeneous cloud system.Let V= (v1,v2,...,vN) be the set of N VM request required by users.The VM placement request are represented similar to resource dimensions of PM. v =(vi, r d ) is used to uniquely identify a request.

Metrics for Local manager Choosing Target Virtual Machine
In the following section, we provide the definition of energy-consuming the d-th dimensional resource utilization ratio i RU , the resource balancing discrepancy ratio i a of the i-th physical machine and energy cost ratio i EC .
Although dynamic voltage and frequency scaling(DVFS) technique have been used to develop energy-proportional PMs, PM is far from energyproportional [23].To simulate practical scenarios, we model the energy function of each PM pi as where i  is the maximum energy consumed when pi is fully used, idle u is the fraction of the maximum energy consumed when pi is idle, icpu u is the CPU resource utilization of pi, which can be computed as . when pi is active for hosting VM, its energy consuming (.) The value of i RB metric is lower or equal to one, the case i RB = 1 implies a uniform load distribution among all |n| resources.Definition 3 ( i EC ) In heterogeneous cloud data center , each PM has different energy consumption and computing capacity , Let i  be the maximum energy consumed when pi is fully utilization.Cicpu is the CPU capacity of pi .The i EC metirc of pi is defined as maximum energy consume divided by the CPU capacity of pi as follow:

Formulate VM Placement Problem
Given a set of new coming VM V ={v1,v2,...,vn} and set of PMs P ={p1,p2,...pm}, the aim of the VM Placement problem is to determine the optimal allocation of VMs V to PMs P with maximized resource balancing ratio i RB and minimized energy cost 1 (.) ) .

THE AUCTION-BASED ALGORITHM
In this section, we describe the distributed auction-based algorithm to solve VM placement problem.Each PM has a local manager.These local managers are used to manage resources.Then we devise the coordination mechanism for these local managers to make decisions on which PMs to host which VMs in pursuit of energy cost minimization and load balancing.For a set of newly submitted VMs, an auction-based mechanism is designed to the local manager to decide the allocation of submitted VMs to PMs. i MATEC Web of Conferences 173,

Auction-Based Mechanism for VM Placement
In the market-oriented auction architecture [24],the bidders represent the commodity demanders that have a pressing need for the commodities.Bid the VM 4.

PERFORMANCE EVALUATION
In this section, we validate the performance of the Auction-based VM placement algorithm though simulation experiments.

Simulation Setup
We use CloudSim toolkit to simulate datacenter comprising 200 heterogeneous PMs and evaluate the efficiency of our algorithm.Tree network architecture is used to simulate the underlying topology of these PMs.We compare our algorithm with two centralized VM placement algorithm.1)Bin Packing_Based First Fit algorithm [9]: when VM request submit to datacenter, the central manager scan PMs and assigns it to the first PM that satisfies the demands of all resources for that request.2) VectorDot algorithm [7]:it first compute dot product of the resource requirement vector of VM and utilized capacity vector of PMs, it selects PM who has the lowest product value to assign.We consider two metrics to compare these approaches. 1) resource balance ratio and 2) energy cost.

Simulation Results
Fig. 1 shows resource balance ratio.The related result illustrates our algorithm can obtain the highest resource balance ratio.VectorDot algorithm performs a lower resource balance ratio because it aims at maximizing resource utilization rather than at balancing each dimension of resource.
In our algorithm, each local manager in PM compute resource balance ratio to find suitable PM to host.Instead, VectorDot has to compute cosine values between all the VM requests and selected PM, the select the suitable VM request.Compared to VectorDot and First Fit algorithm, our algorithm is not computational intensive and easy to scale.

CONCLUSIONS
This paper presents a distributed auction-based VM placement approach with the goal of both balancing the resource utilization across multiple dimensions and minimizing cloud system energy cost.The proposed algorithm effectively balances the utilization of multiple types of resources and reduces the number of activated servers by maximizing balancing ratio and cost-capacity ratio.Simulation shows that our approach has better performance than existing schemes in number of activated physical servers used, and energy consumption.
In the future, we would like to evaluate the performance of the proposed algorithm in real-world experiments.

iE
is related to its CPU resource utilization icpu u .Otherwise, when pi is idle, should be turned off to avoiding consuming any energy.Definition 1( d i RU ) Let be the resource usage of the dimension of an already placed set of VMs that are allocated in pi, 1 ( .), ..,| |}, dn  {1,..., }, iM  {1,..., } jN  .xij is a decision variable that satisfies xij = 1 if the j-th VM request (vj) allocated to pi, otherwise 0. Furthermore, d j r is the corresponding the d-th dimensional resource by vj. the d i u metric of pi is defined as the total resource usage of each dimension divided by total resource capacity as follow: ; {1,...,| |}, {1,..., } value of the resource utilization across |n| dimension, i.e., the overall average resource utilization of pi. the i RB metric of pi is defined as follow: 2 {1,...,| |} 1

(Algorithm 1 .
They express their needs by submitting bids on the price they would like to spend on the commodities.our proposed auction-based VM placement mechanism works by modeling local manager as bidders and VMs as commodities，which is described in Algorithm 1.In Algorithm, initially, all newly submitted VMs V are all unallocated.Each bidding round(Step 2-10), each local manager piare only bids for the most let their load balancing unallocated VM that it is capable of hosting(Step 3).After bidding for the target VM Vpi*, each local manager broadcasts its bid Bi to all of the other managers for winner determination.PM identity pi and its sum of reciprocal of resource balancing ratio and cost-capacity ratio Step 5).After all bids are broadcasted, all of the local manager send a winner acknowledgement message <ACK> to the winner local manager that has the minimum sum of reciprocal of resource balancing ration and cost-capacity ratio(Step 9).If the comparison result is, the manager that has the smallest index is selected as the winner.In step 10, the local manager pi that receives acknowledgment from all of the other local manager wins the current round bidding.The winner local manager is responsible for hosting its target VM Vpi* and informing all of the other local managers that Vpi* has been allocated.This bidding process(Step 2-10) proceeds round by round until all VMs are allocated (Step 1).Auction-Based VM Placement V={v1,v2,...vn} the set of VMs that need to be allocated.

Figure 2 .
Figure 2. Experiment results on energy cost.

Fig. 2
Fig.1shows resource balance ratio.The related result illustrates our algorithm can obtain the highest resource balance ratio.VectorDot algorithm performs a lower resource balance ratio because it aims at maximizing resource utilization rather than at balancing each dimension of resource.In our algorithm, each local manager in PM compute resource balance ratio to find suitable PM to host.Instead, VectorDot has to compute cosine values between all the VM requests and selected PM, the select the suitable VM request.Compared to VectorDot and First Fit algorithm, our algorithm is not computational intensive and easy to scale.Fig.2shows energy cost.The figure shows that our algorithm bring lower energy cost in comparison to the In this article, we consider the VM placement problem as to satisfy the submitted VM resource request, some suitable PMs should be selected to host them, which can be called VM placement problem.A feasible VM placement is define as a mapping of PM to a set of VMs, which must satisfy two condition: 1) each VM is allocated to at least one PM and no VM is allocated to more than one PM 2) total resource requirements of it host VMs do not exceed its available resources.The ultimate objective of VM placement is to maximize efficient and balanced use of multiple types of resources and minimize energy cost incurred by PMs.