Hybrid Best-Fit Heuristic for Energy Efficient Virtual Machine Placement in Cloud Data Centers

Cloud Service Providers (CSPs) offers Information Technology services like infrastructure and software to users on a pay as you go basis. Energy consumption is one of the significant challenges faced by Cloud Service Providers (CSP). Virtual Machine (VM) placement is an energy-efficient practice performed in the cloud datacenters. Best-Fit Decreasing (BFD) is a VM placement and is known to give a near-optimal solution in a reasonable time by sorting the VMs in decreasing order. We propose a Hybrid Best-Fit (HBF) Heuristic for VM placements. Experimental results show that HBF is consuming 2.516% and 3.392% less energy compared to Best-Fit and BFD heuristics.


Introduction
Cloud computing is a growing technology which allows Cloud Service Providers (CSPs) to satisfy on-demand resource requests.Acquiring Resources is a tedious process in a computing environment; cloud computing eases this process.CSPs provide resources.These resources can be accessed anytime and anywhere by users through the Internet at a minimum cost.This scalability is one of the reasons why many users prefer cloud computing.Users need not worry about maintenance cost since CSPs take maintenance care.Also, other advantages include portability, increased storage, backup, recovery, etc.
There are four different types of clouds which can be deployed according to the needs of the user: Private cloud, Community Cloud, Public Cloud and Hybrid Cloud.A particular organization uses private cloud whereas a community of users uses community cloud.More substantial groups use public Cloud.Hence its resources are owned by government sectors or larger business sectors.Hybrid Cloud is a combination of the other three types.
The three primary services provided by Cloud are Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (Iaas) [1].SaaS allows Cloud Service Providers (CSP) to deliver software applications to users.Users can use the software for a specific amount of time for which they will be charged.PaaS allows CSPs to rent out the environment to users for developing applications.PaaS can also be used testing, monitoring and managing software applications.IaaS allows CSPs to rent out infrastructure components like servers, storage, Virtual Machines, databases, etc. Users can subscribe to these services according to their necessity and cost.While providing services through Virtual Machines, several factors affect the performance of the system.Virtual Machine Placement is critical for system performance.Physical Machines should not be overloaded with Virtual Machines because it results in performance degradation.This is called overutilisation of a resource.Moreover, PM should not be underutilised since it leads to wastage of resources.There are several capacity planning tools like VMWare Capacity Planner1 , Lanamark Suite2 , etc. to monitor resource utilisation.
When a user makes a request, the request will be satisfied by a Cloud Service Provider (CSP) through instances which users can use for a certain amount of time and a certain charge.Failure to place VMs effectively increases operating costs, wastage of resources.Sometimes overloading will lead to SLA violation.Also, the underutilisation of PM causes an increase in the number of active PMs.This causes an increase in energy consumption.Hence Hybrid-Best-Fit (HBF) heuristic reduces energy costs.
The organisation of the paper is as follows.Section 2 briefs about the existing algorithms.Section 3 briefs about the proposed HBF, Section 4 discuss experimental setup and discussions.Section 4 provides experimental results and Section 5 provides a conclusion and future works.

Related work
VM placement can be either static or dynamic.In static VM placement, a set of VM requests are submitted.A set of PMs with known capacities is already known.Then each VM is tried to place in a suitable PM.Here the number of active PMs is tried to reduce during allocation.In Dynamic VM placement, VM requests are not known in advance.Hence the requests are placed on arrival.[2] VM placement problem can be categorised into two: Power-based approach and QoS-based Approach.In the Power-based approach, during VM placement importance is given to power consumption reduction whereas in QOS-based Approach, SLA regulations are given importance.[3] The variable-sized bin packing problem (VSBPP) is solved using an enhanced levy based particle swarm optimisation algorithm (PSOLBP) in [4].OpenStack Neat is using Modified Best-Fit Decreasing (MBFD) algorithm for VM placement.A novel bin-packing heuristic Medium-Fit (MF) is proposed in [5] to reduce SLA violation and to run PMs.
Two VM placement algorithms based on chemical reaction optimisation algorithm were proposed in [6], namely CVP and CVV.These algorithms exhibited better results in terms of resource consumption and resource utilisation.SLA-aware Modified Best Fit Decreasing (MBFD) algorithm, an energy and SLA Aware resource allocation heuristic algorithm is proposed in [7].MBFD reduces the power consumption of VMs using minPower and maxUtilization VM migration policies.
A hybrid genetic algorithm for minimising the running PMs is designed in [8].Best Fit Multi-Valued Bin-packing Algorithm is designed in [9] for optimum allocation of resources like RAM, CPU and network bandwidth.Best Fit Sharing and Power-Aware (BFSPA) Algorithm for VM placement designed in [10] find the VM and PM combinations that will minimise the PMs used.Space aware best fit decreasing (SABFD) heuristic policy proposed in [11] for the management of Hybrid Best-Fit Heuristic for Energy Efficient Virtual Machine Placement in Cloud Data Centers host-overload detection, migration and VM placement.The whale optimisation algorithm is improvised with the levy and applied for VM placement as a variable-sized bin-packing algorithm for bandwidth optimisation [12].
LIFE-MP (Lowest Interdependence Factor Exponent Multiple Resources Predictive approach) for online VM placement is proposed in [13].The particle swarm optimisation is used in [14] to reduce the active physical servers for energyefficient management of data centres.
In our recent works, we proposed the following VM placement heuristics FFD-Aggregated rank [15], MCBVP [16], PMNeAR-Vector [17], BBPMM [18] and ENSEMBLE-HIDE-SPADE [19].Best Fit Decreasing algorithm sorts the VM requests in descending order and allocates the largest VM first to active PM that gives the minimum residue.It reduces the number of active PMs by temporarily pushing the inactive PMs to rest mode.It tries to fit the VM request with the active PMs [20].
Initially, the VMList is sorted in decreasing order.This results in <30, 24, 22, 22, 19, 18, 16, 8, 8>.Then the VM at the first of the list (here 30) is selected to find a suitable PM.The first VM if placed at PM4 leaves minimum residue comparatively.Hence VM1 is allocated to PM4.The process is iterated until the entire list of VMs is allocated to some PM in the PMList.Figure 1 shows the results of Best-Fit decreasing.

Figure 1. VM placement by Best-Fit Decreasing
Modified Best Fit Decreasing algorithm sorts the VM request in the decreasing order based on utilisation.It allocates VM to a PM, which gives a minimum rise in power consumption for that PM.On the VM request, active PMs are checked first.If a VM cannot be allocated in any of the active PMs, then the one of the PMs which is in sleep mode is activated and the VM is allocated [21].In the Next Fit Algorithm, the last allocated PM is checked.If a new VM cannot be placed in last-placed PM, then it is placed in new PM.
In the First Fit Algorithm, all the previously allocated PMs are checked.If none PM can satisfy the VM request, then it is placed new PM [22].
In resource ratio based MCBVP, The VM with resource ratios near to residual resource ratios of PM is placed first.

Proposed Hybrid-Best-Fit (HBF) heuristic
The main aim is to achieve minimum energy consumption after resources are allocated.The order in which the VMs are processed is manipulated to achieve better results.The VMs are processed in increasing, decreasing and in the given order.Temporary allocation is simulated.The allocation which gives the minimum energy consumption is taken into account.Figure 2 presents the workflow of the proposed HBF heuristic and Figure 3 presents the HBF algorithm.
The algorithm works as follows: For each VM in the VMList, each PM is checked whether it is suitable to host the VM.If suitable, the residue fragment after the allocation is found out.The PM which leaves the least residue after that particular VM allocated is chosen to host in that PM.A temporary allocation list is generated.The process is iterated again until all VM requests are satisfied and energy consumption of PMs is calculated.The process is repeated for increasing and decreasing order of VM requests and each time the energy consumption of PMs are calculated.The order which results in minimum consumption is finalized and correspondingly the VMs are allocated to the PMs.
After initial placement, all PMs are checked to see if it hosts at least one PM.If a PM does not host any VM then that particular PM is shut down.This reduces the energy consumption.In case of dynamic environments, if a new VM requests arrive which cannot be satisfied by the existing active PMs, then the PMs in rest mode is checked.If a suitable PM is found, it is activated.

Experimental Setup
The simulation experiments were developed in Java programming language.Java SE Development Kit (JDK) 8 is used.The experiment is run on 2.30 GHz Intel Core i36100U processor within a 64-bit Windows operating environment.

Simulation Results
PM capacities, PM energy requirements and VM requests are generated randomly.A comparison is made between BestFit, BestFit Decreasing, and Hybrid Best-Fit algorithms.The process is done for 100 times.The total energy consumption produced by the three heuristics is tabulated.Table 1 presents the results and Figure 4  Saikishor Jangiti, Vijayakumar V and Subramaniyaswamy V

Conclusion and Future work
We discussed energy-efficient resource allocation in cloud data centres using HBF heuristic algorithm.Here one type of resource is considered for allocation.In future, our work is to be extended to support VM placement and migration for VMs with multiple types of resources.Migration techniques allow VMs after initial placement to move from one PM to another PM.This can be done in case of underutilization or overutilization of PMs.In case of overloaded PMs, SLA violations may occur.Hence to avoid this situation, VMs should be migrated to bring the overloaded PM to normal state.In case of underloaded PMs, the VMs on the PM can be migrated to another PM so that the underloaded PM can be moved to sleep mode.Experimental results shows that the proposed HBF is consuming 2.516% and 3.392% less energy compared to Best-Fit and BFD heuristics.

Table 1 .
highlights the energy savings by the proposed HBF heuristic compared to BF and BFD.Fit Heuristic for Energy Efficient Virtual Machine Placement in Cloud Data Centers A comparison of energy consumption by heuristics Figure 4. Proposed HBF heuristic saves energy compare to the existing heuristics BF and BFD EAI Endorsed Transactions on Energy Web Online First