Cascade Effect Of Energy Reduction

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

Abstract

Virtualization enables one Physical server to host multiple virtual machines, and allows moving of Virtual machines from one machine to another machine, using which we can effectively utilize Hardware. However virtualization introduces new problem like resource provisioning and management. In large Datacenter, underutilization of resources results in need for more number of physical machines and thus increases energy consumption. And further, reducing of power required for computational purposes like CPU, memory etc will leads to automatic reduction in power required for non computational things like cooling, lighting. So utilizing Resources more effectively in a datacenter result in, need of minimum number of Physical machines. This reduces Total energy consumption in a datacenter by greater extent. In this paper we developed a Genetic algorithm for virtual machine placement and load balancing which uses previous history of the physical machines to effectively utilize the resources.

Key words

Virtualization, Energy, Crossover, Mutation, SPEC

Introduction

Virtualization in computing is the creation of a virtual version of something, such as a hardware platform, operating system, and storage device or network resources [14]. The recent advancements in virtualization tend to centralized monitoring of administrative tasks and also improve the hardware resource utilization. With virtualization one can run multiple operating systems on a single physical machine. These operating systems may run on different virtual environments called virtual machines. Virtual machines acts like a physical machine and one host can have more number of virtual machines or one virtual machine can run on multiple physical machines.

In general a Datacenter contains large number of servers and datacenter operators can create large number of virtual machines for different types of workload they are getting. Improper use of resources in cloud result in more physical machines and thus more power wastage. Power saving in datacenter becomes an important problem now a day because of large amount of electricity consumption. Peter Gross who designed hundreds of Datacenters said" A single Datacenter can consume more power than medium-size town". But in such a large amount of energy very less percent of energy is used in computation and remaining is used for other purposes like cooling the datacenter, lighting and building switchgear. Mckinsey & Company a consulting firm analyzed and stated that on an average 6 to 8 percent of total datacenter electricity power is used by their servers to perform computations. The energy dissipation leads to the other power usages like cooling the datacenter. The energy used for non computational purposes like cooling the datacenter is dependent on the energy used for computational purpose. One watt reduction at the computational level( processor, memory, hard discs) results in additional 1.84 watt saving in non computational purposes like power supply, power distribution system, ups system and cooling system a white paper from the Experts in Business-critical Continuity said(See Figure 1)[19] . We can see the effect of such a reduction of 1 watt power on server component leads to further reduction of energy in various non computational parts of the datacenter. This signifies the importance in reducing energy at server component level by properly utilizing the physical servers in the datacenter. Virtualization technology which consolidate multiple virtual machines to lesser number of physical machines, have been used to make better use of resources and reduce energy.

Figure 1: Cascade effect of energy reduction

The effect of using virtualization is, lesser number of physical machines with higher per-machine utilization, increasing adaptability and availability, while reducing Hardware costs and costs incurred in non computational components related to power, cooling and physical space. However virtualization introduces new and the most important challenge resource provisioning and management. In Datacenter the number of servers sometimes interns of hundreds to thousands and the virtual machines on these servers varies based on the demand and sometimes it is interns of multiple of number of physical servers. So monitoring such a large datacenter and allocating new virtual machine on some physical machine by a human operator in timely fashion is not possible. So an automated process is requires for this purpose of monitoring the datacenter and decide where to place new virtual machine. It also needs to balance the load among physical machines so that it can avoid some of the machines from over utilization while other machines are underutilized. There are so many such automated processes exist for placing the new virtual machines and balancing the load among physical machines. Most of the algorithms considers present state of the datacenter such as available resources on physical machines and current demand of the virtual machines and based on that they will take decisions for placing virtual machines or for load balancing. But if we consider only the current state of the datacenter, sometimes it leads to unnecessary migrations like migration immediately after placement. This is happened because we are only considering minimum availability of a resource on a particular machine but not its past behaviour like what is the load effect on that physical machine because of already existing virtual machines. Consider a situation where load of one of the physical machine is varying and its resources used are approximately nearer to machines capacity, now if a new virtual machine request came and its requirements are still satisfied by that particular machine. But if we place that Vm on that machine, after some time the previously allocated virtual machines demand may increases and causes one of the virtual machine to migrate. If we consider machines past behaviour as a parameter in placement decisions we can avoid those immediate migrations.

In this paper we used machines usage history while placing virtual machines and load balancing among machines. We developed a genetic algorithm and placed new virtual machines more effectively on physical machines and balanced load among all physical machines. The developed algorithm also used 80 percent threshold value to reserve 20 percent resources for already existing virtual machines on that particular physical machine.

Literature survey

VM placement is an important aspect of datacenter resource management. The general approach for handling this problem is to have a mathematical representation or a metric of resource utilizations by different VMs and PMs and maintain the balance using this metric. This metric is typically a function of resource utilization of individual resource types. These metrics vary greatly in terms of their usefulness. Some approaches use metric which is a weighted sum of the resources while some others use a more complex mathematical function of resources. A least cost-effective global solution which satisfies all the vm’s needs is required in placement and load balance problems. Some of the researches used this metric of finding global solution for achieving load balancing and Vm placement[15][16][17]. Least effective solution can be found by, ahead computing the influence it will have on the system after deployment of Vm on to each host [18].Various types of metrics are used in virtual machine placement problem depending on type of optimization it required. [1] Resources are associated with certain costs. Based on the resources usage a metric called profit utility which is a difference to the money get from the consumers for resources they consumed to a operating cost, is calculated and place the virtual machines in such a way that it always tries to maximize the global utility function. Another metric Demand risk is used [2] in which non satisfied demand of a VM is considered and based on that that particular VM is placed. But these approaches won’t consider history in consideration.

The problem of VM placement and migration consists of two distinct parts. The first part is to correctly estimate the VM resource requirements. Once the resource requirements of VMs are properly estimated, the next part is to use a VM placement strategy to achieve efficient resource utilization of PMs. To solve the Virtual machine placement problem the System can be represented either in Bin packing problem or knapsack problem. Then solve this particular problem using one of the optimization algorithms. Representation of Bins or knapsack is the important thing in solving these problems. [4] Bin can be represented as a set contains real numbers as objects in it. In 0/1 knapsack problem [8] the author used a data structure, called cell, with two fields (benefit and volume) to represent every item. Then they used an array of cell type to store all items in it.

There are many genetic algorithms for Bin packing. In one of the method [7] Solution can be represented as a string contains alphabetical characters as bins. In this they considered first objet is belonging to first alphabetical character bin, second belongs to the second character bin etc. Problem with This representation is, it gives importance to the objects not to the bin. In virtual machine placement some of the vim’s may shutdown at particular time and in that case this representation is not meaning full. The set representation [4] is useful in VM placement algorithm. As a set can represent Physical machine and set elements represent virtual machines.

Generally in datacenter there will be continuous stream of virtual machine requests so there is a need of periodic optimization of load among physical machines [2]. In this paper we developed a

System Architecture

The system is a large datacenter consisting of various physical machines having different resource capacities. Each machine is characterized by CPU resource defined in Million instructions per Second (MIPS), and memory (RAM), bandwidth and disc storage. A global resource manager manages the resources among virtual machines. A user can request virtual machine at any time and the global resource manager using genetic algorithm searches resource availability among all physical machines and places the virtual machine on that physical machine. It also balances the load among available physical machines at regular interval of times. It also uses an upper threshold value to satisfy the sudden increasing demands of already existed virtual machines on the particular physical machine. The global resource manger maintains host history table for each physical machine for storing the resource usage of that physical machine as history. It regularly collects resource usage from all the physical machines and it saves those values to respected resource usage history table. In this paper we used Cpu usage history in placing vm’s onto the physical machines. From these tables the global resource manger which executes the developed genetic algorithm will calculate average resource utilization from past t time intervals and uses those values in the algorithm for placing new virtual machines and also in load balancing.

We developed a genetic algorithm for placing new virtual machines using past history from physical machines which avoids migrations which are occur immediately after placing the virtual machines. The algorithm always tries to minimize the energy consumption in datacenter by estimating the datacenter energy after placing particular virtual machine in the datacenter. The Complete description of the algorithm is given in the next section.

Algorithm

Generally a genetic algorithm starts with some initial set of population. Here the solution or individual is represented as a mapping from each machine to the placed virtual machines on that respective machine. For every such mapping it estimates the total energy consumption in the datacenter. The population consist of previously allocated mappings of virtual machines to physical machines and datacenter energy for that mapping between some time interval and the future mappings of virtual machines to physical machines and their estimated energy values. From this population the algorithm will select two virtual machine mappings which are having less energy values associated with them, and then apply genetic operators (Mutation and Crossover) on them one after other. The resulting mapping from virtual machine to physical machines is added to the population based on the fitness value which is nothing but the estimated datacenter energy value. The pseudo code of the algorithm is given below

Algorithm VmPlacementAndLoadBalance

// data structures used

// finishedVms - the list of Vm’s completed execution in previous time interval

// newVms – the list of Vm’s which are instantiated in current time interval

//vmsleftfromChild – the list of Vm’s which are not present in child mapping (in Crossover)

1 Initially places the virtual machines requiring more CPU resource onto different hosts.

2 parentVmMap1 = previous time interval Vm’s to Host allocation map.

3 do

4 partialChildMap = Crossover ( crossover probability)

5 childVmMap =Mutation (PartialChildmap, probability pm)

6 population. add (childVmMap)

7 Until best childVmMap found

8 MigrationMap = childVmMap – previousVmMap

Using migration map the global resource manger issues the migrations.

The genetic operators used in the algorithm are explained below

Crossover

Generally Crossover operator works on two parent individuals and produces a new individual. In our algorithm the crossover operator selects hosts with best utilization from previous virtual machine mappings based on its crossover rate or probability.

Algorithm Crossover with probability pr

1 ParentVmMap1 = previousVmMap

2 ParentVmMap2 = findBestVmMap()

3 for all hosts in parentVmMap1

4 if ( Host i, Utilization >= pr)

5 hostsinChild.add(Host i)

6 end for

7 vmsleftfromChild = VmList - vmsinChild

8 if (newVms is not Empty)

9 vmsleftfromChild.add( newVms)

10 HostsnotInChild = hostsinParentVmMap2 – hostsinChild

11 while ( vmsleftfromChild is not Empty)

12 Vm i = maxCpudemandAmong(vmsleftfromchild)

13 isVmPlaced = False

14 for each host in hostsinChild

15 Host j = maxUtilizationAmong(hostsinChild) // remove Host j temporarly

16 if ( Host j, avgUtilization < Threshold

&& ((afterPlacing Vm i to Host j) Host j, Utilization < Threshold) )

17 Assign Vm i to Host J

18 isVmPlaced = True

19 end for

20 if ( isVmPlaced == false)

21 select one swithcedoff host Host k from datacenter

22 Assign Vmi to Host k

23 hostsinChild.add(Host k)

24 end while

Mutation

Generally Mutation operator randomly interchanges the positions in a partial child. In our algorithm it tries to reduce the number of physical machines needed by removing one of the physical machines if there is ant two hosts with utilization less than 0.5

Algorithm Mutation(partialChildMap, probability pm)

1 select 2 hosts i and j such that

Host i, presentUtilization < pm && Host i, presentUtilization < pm

2 from host i and j choose one host s and other as r such that

Host s, avgUtilization < threshold

&& Host s, presentUtilization > Host r, presentUtilization

3 remove all Vm’s from Host r and place in Host j

The selection of individual from the population is as follows

Selection function

Datacenter i ,energy = Σ Host j, energy where Hostj Є hosts in datacenter

Select i’th solution from the population such that minimum (Datacenter i, energy)

Where "i" is the individual solution number from the population.

The Power can be estimated from the utilization of all hosts using Standard Performance Evaluation Corporation (SPEC) Benchmark. With the use of these power values from past time interval to present time interval we can find the datacenter energy at that particular time by applying Linear interpolation.

The algorithm not only places the virtual machines it also balances the load among physical machines using same crossover and mutation operators. It uses the threshold value over host utilization so that if there is any sudden demand for already existing virtual machines it will use that remaining resources. The algorithm is called regular intervals of time presently but we can latter change this behaviour by calling this algorithm whenever there is a new virtual machine request or when a physical machine crosses the threshold value.

Experimental Setup

We have simulated the implemented algorithm using CloudSim toolkit. CloudSim toolkit is a simulation framework which is intently developed for simulation of cloud environments. We created 5 physical servers (HP ProLiant ML110 G4 (1 x [Xeon 3040 1860 MHz, 2 cores], 4GB) ), we created virtual machines with different resource demands and placed these virtual machines using our algorithm.

Results

We created 10 to 20 virtual machines and each time we placed those virtual machines using our developed algorithm. We also achieved the load balancing among physical servers in the datacenter. We also compared our algorithm performance with already existing BestFit with 0.8 threshold load balancing algorithm for the respective number of virtual machines.

Initially virtual machines are placed in such a way that the vm’s with more resources need are placed onto different physical machines.

Figure 2: initial placement

Algorithm will try to utilize the each physical machine effectively such that the number of physical machines needed is minimized and unused physical machines are kept in power of mode, so their energy consumption is limited.

Figure 2: Best placement resulted.

At any time a new Virtual Machine request will allow and it can be assigned with a particular physical machine results from genetic algorithm.

Conclusion and Future work

Virtual machine placement is the one of the main thing in the cloud computing to properly utilize the resources in the cloud. In large scale cloud computing environments monitoring the status of each individual resource and take placement decisions by an administrator is not possible and an automated process is needed to balance the load among virtual machines and placement of new virtual machine. By considering history of physical machines we developed a genetic algorithm for virtual machine placement which gave the energy consumption less than existing BestFit with migration threshold 0.8. The power can be minimized by effectively utilizing the physical machines and keep the other machines in power saving mode. The algorithm also balances the load among the physical machines. We can impose constraints on dependant virtual machines as future work so that the most communicated virtual machines are always placed on to the same to reduce communication delay between them



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now