Energy and Carbon Efficient VM Placement and ... - IEEE Xplore

1 downloads 0 Views 808KB Size Report
efficiency; Green Cloud Computing; Virtualization; Carbon. Footprint ..... FACT. SHEET, http://www.iea.org/weo/docs/weo2009/factsheetsWEO2009.pdf.
Energy and Carbon Efficient VM Placement and Migration Technique for Green Cloud Datacenters Bharti Wadhwa

Amandeep Verma

University Institute of Engineering and Technology Chandigarh-160014, India Email: [email protected]

University Institute of Engineering and Technology Chandigarh-160014, India Email: [email protected]

Abstract— One of the most popular emerging technologies in today's world is Cloud Computing and it is being used widely all over the world by many IT companies as it provides various benefits to the users like cost saving and ease of use. But with the growing demands of users for computing services, cloud providers are encouraged to deploy large data centers which consume very large amount of energy and contribute to high operational costs. Carbon dioxide emission rate is also increasing day by day due to huge amount of power consumption. Therefore, we require to develop techniques which will help to get more environment friendly computing i.e. Green Cloud Computing. Some of the techniques being used in cloud data centers for reducing the operational costs, power consumption and CO2 emission are resource allocation, virtualization and VM migrations. In this paper, we propose a new technique to reduce the carbon emission and energy consumption in the distributed cloud datacenters having different energy sources and carbon footprint rates. Our approach uses the carbon footprints of all the datacenters in distributed cloud architecture and the concept of virtual machine allocation and migration inside each datacenter for reducing the carbon emission and energy consumption in the federated cloud system. Keywords—Cloud Computing; Data Center; Energy efficiency; Green Cloud Computing; Virtualization; Carbon Footprint

I. INTRODUCTION Cloud Computing is one of the most useful and popular technique in the present world. It is a new and promising paradigm which delivers computing as a utility [1]. It provides data access, software, storage services and computation as services to the consumers through Internet. Platform as a Service (PaaS), Software as a Service (SaaS) and Infrastructure as a Service (IaaS) are the three main services provided by Cloud Computing to the consumers. It provides significant benefits to the IT companies as they are relieved from making the setups for hardware and software infrastructure and thus reducing the cost of those companies. However, the growing demands of consumers for computing services are encouraging the computing service providers e.g., IBM [2], Facebook [3], Yahoo! [4], Google[5], Microsoft [6], etc. to deploy large number of

978-1-4799-5173-4/14/$31.00 ©2014 IEEE

data centers all over the world that consume very large amount of energy [7]. Consequently, the energy consumption of information industry is increasing. The total power consumption of the data centers in 2012 was about 38 Giga Watt (GW) and this is around 63% more than the power consumption of 2011 [8]. It was estimated that this total power could have been enough for fulfilling the energy requirements of all residential households of United Kingdom [8]. The fact that electricity consumption is set to rise 76% from 2007 to 2030 [9] and data centers are the main contributors of an important portion of this increase, emphasizes the importance of reducing energy consumption in clouds. Increase in the level of carbon dioxide in our ecosystem is another major problem which comes due to this large and growing amount of use of power and energy by the datacenters. As stated by Gartner, the Information and communication industry produces 2% of global carbon dioxide emission [10]. Hence, there is a great requirement of making use of more environmentally friendly computing called “Green Cloud Computing” to minimize operational and energy consumption costs and also to reduce the environmental impact. Green Computing refers to the attempts to maximize the use of power consumption and energy efficiency and to minimize the cost and CO2 emission [11]. Development of new computing models, computer systems, and applications having low cost and low energy consumption are the primary purposes of Green Computing [12] [13]. Fig.1 [14] gives an idea about amount of energy consumption and carbon dioxide emission in one Google search and the amount of carbon dioxide emission and energy consumption in one month is shown in the Fig. 2 [14]. Cloud data centers make use of the technology known as of virtualization [15] which make it possible to share the physical resources of server between various virtual machines. It provides the flexibility to configure various virtual machines, on the same physical machine. Multiple VMs can be initiated and terminated on a single host dynamically. Every VM has its own characteristics and consumes different amount of energy depending upon the

usage of resources and thus produce different carbon footprint. The total carbon footprint of the data center depends on the energy consumption by each host.

reduce the energy consumption of each datacenter in the cloud. The remainder of this paper is organized as follows. In Section II related work is discussed. Section III describes our proposed approach and Section IV concludes the paper. II. RELATED WORK

Fig. 1 Energy consumption in one Google search [14]

Fig. 2 Energy consumption in monthly Google search [14]

As an idle server consumes almost half of the power than its peak power state [16], by using dynamic migration of VMs, it is possible to consolidate the workloads on lesser number of machines and unused machines can be made to run in a low-power mode, can be turned off or can be operated at other low-performance levels e.g. using DVFS [17]. Therefore, VM allocation and migration techniques can be useful for saving energy and thus reducing carbon emission rate. Our proposed technique focuses on the reduction of the carbon emission rate and energy consumption in the distributed cloud datacenters having different energy sources and carbon footprint rates. It uses the carbon footprint rate of each datacenter in the cloud and also the concept of virtual machine allocation and migration inside each datacenter of the federated cloud system in order to

The research community has provided a range of software and hardware solutions to the problem of achieving energy efficiency and minimizing the carbon dioxide emission in the cloud operation. Turning on and shutting down the servers and putting them to sleep are some simple energy saving methods used for servers in Clouds. Other techniques for saving energy include use of Dynamic Voltage/Frequency Scaling (DVFS) [17] and use of virtualization techniques for better resource utilization. Virtualization technique is used to get better resource utilization and also to reduce the energy consumption through live migration [18] and resource consolidation. A technique for efficient management of the network resources by allocating workload as a function of application traffic volume and speed of server is proposed in [19]. The authors proposed that optimization can be achieved by selecting the servers which can process the workloads at speed matching the packet arrival rate. In order to improve efficiency, the authors in [20] had presented an approach to schedule workload across servers selected as a function of their cost to operate which focused to achieve the maximum utilization in a cost-efficient manner. Using queuing theory principles and also the relationship between packet arrival rate, service rate and response time, an exponential relationship between power cost and server utilization was found which was used for selection of the server to achieve maximum efficiency. The energy aware provisioning approach [21] used a model with a component called trigger engine which uses preprocessed data for automatic live migration of virtual machines in order to achieve energy efficiency. The technique proposed in [22] was capable of performing the scheduling of VMs in non federated, homogeneous and heterogeneous data centers and focused on minimizing energy consumption by efficiently scheduling virtual machines in the system. DVFS and active cooling are the main parameters that had been focused. Other features that were also used like shutdown of underutilized machines and migrations of workloads from the machines that are operating below a specific threshold. The idea of continuous optimization in order to dynamically place the applications in power aware virtualized heterogeneous systems was proposed in [23]. The placement of VMs is optimized at each time frame in order to achieve minimum power consumption and maximum performance. In our previous work, we have reviewed and summarized various techniques proposed for reducing energy consumption and carbon emission to make Cloud Computing green [24].

A combination of two algorithms: allocation algorithm used for allocating the jobs and a migration algorithm for optimal migration of VMs is proposed in [25] and it had been shown that by using this approach of combining the allocation algorithm with migration algorithm in a linear integer program, a noticeable and significant amount of energy can be saved which depends upon load of the system. In [26], authors have formulated the problem of workload(i.e. VM) consolidation as an instance of Multidimensional Bin Packing Problem (MDBP) and used Ant Colony Optimization (ACO) for optimizing the problem. The algorithm was compared with the commonly used greedy algorithm, First Fit Decreasing (FFD) for bin packing problem and found to achieve better energy savings comparatively and also it was able to work in a fully distributed environment and required lesser machines. Another technique that used Ant Colony Optimization (ACO) for energy conservation and allocation of VMs in clouds was proposed in [27] that used a centralized approach for providing information based on expected behavior of each user. Some efficient methods of live migration, and switching idle nodes to the sleep mode have been proposed in [28]. In this, authors have tried to minimize the energy consumption for dynamic adjustment of the VM allocation at run-time according to the current utilization of resources. The proposed algorithms can be used in heterogeneous infrastructure for VM allocation and migration. These can effectively handle strict SLAs, and heterogeneous VMs. Also, they are not dependent on a particular type of VM requests and do not require the information about applications which are running in those VMs. All the above mentioned approaches intend to reduce the energy consumption, but they do not considered carbon emission. In [29], the authors considered reduction of carbon footprint of Cloud data center sites by proposing a carbon-aware green Cloud architecture and the algorithm proposed in [30] also focussed on minimum carbon emission by efficiently using the renewable energies, such as solar energy and wind energy, in different places. Multiple data center sites for reducing the carbon footprint were considered. In [31], the authors considered data centers that are distributed and have different carbon footprint rates and energy sources. For reducing the power consumption and carbon dioxide emission, they proposed a VM placement algorithmic approach. Different types of VM requests, data center’s power usage effectiveness (PUE), and physical server’s proportional power usage are the main parameters that had been taken into account. This approach was found to be able to reduce a significant amount of carbon footprints and also power consumption. The system architecture of this technique is presented in Fig. 3.

Fig. 3 Energy and Carbon-Efficient(ECE) Cloud Architecture [31]

Thus, we see that various research works have been done to attain energy efficiency and reduce power consumption. But a very few researchers have tried to focus primarily on reduction of carbon footprint as discussed above. To the best of our knowledge none of the above mentioned techniques have considered both the factors together, i.e. reduction of carbon emission in federated cloud datacenters and also minimization of energy consumption inside each data center of cloud by focusing on current utilization of each host. Consideration of utilization of hosts inside the datacenters, during the execution of VMs, is an important factor for minimizing the power consumption [28]. And the optimal utilization can be achieved by using migration techniques whenever required. We propose a new approach, called Energy and Carbon Efficient VM Placement and Migration Technique, which is different from all the above mentioned techniques as we have tried to optimize the problem of VM placement in the federated cloud data centers having different carbon footprints , according to the current utilization of the severs in each datacenter and performing migration of VMs whenever required in order to achieve maximum energy efficiency. III. PROPOSED APPROACH Our proposed technique follows the distributed cloud architecture in which datacenters are federated over different geographic locations. Each data center in the distributed cloud architecture has its own carbon footprint rate depending upon its energy resource. The carbon footprint of the Cloud for a time interval [0,t] with d datacenters having c number of clusters each, and each cluster having h number of hosts is calculated as in following equation [31]:

,, ,

(1) where, CF is the carbon footprint of the cloud, PUE indicates power usage effectiveness and is described as the ratio of datacenter's total power consumption to the power consumption by the IT devices and ht represents holding time for VM vm. Whenever a VM request is received it can be allocated to any host from all of the hosts of the cloud which fulfill the service requirement of the VM, i.e. to the host having enough ram, storage, cpu core and processing units. The whole process of our proposed approach can be accomplished following a two step process described as follows: The two step process: The overall process is divided into two parts: i) Initial placement of VM to a suitable host from the datacenter having minimum carbon footprint rate among all the available hosts from different distributed data centers. ii) Optimization of current VM allocation inside every datacenter. First step: In the first step, when a new VM request is received by the cloud broker, the broker selects the host from most carbon efficient data center available by looking into the centralized database of all the data centers maintained at the broker site. This centralized data maintains the list of all the available hosts in every datacenter and also the carbon footprint rate of each datacenter in the cloud. From all the suitable hosts which fulfill the requirements of the VM request, the host is selected from the datacenter having the minimum carbon footprint rate from the available datacenters. The algorithm for this step is described in Fig.4 Algorithm: VM allocation to a host in most carbon efficient datacenter. 1. Receive the request for a VM. 2. Get the information of datacenters from the central database. 3. Get the list of all the available hosts from all the datacenters in the cloud. 4. From the available hosts, make a list of all the hosts which fulfill the service requirements of the VM. 5. Get the host belonging to the most carbon efficient datacenter from the list of selected hosts. 6. Allocate the host to the VM. 7. If there are more than one host from the list of suitable hosts, which belong to most carbon efficient datacenter select the host having maximum utilization among them. Fig.4 VM allocation to a host in most carbon efficient datacenter

Second Step: In the second step, we execute the migration process in order to minimize energy consumption inside each data center. The VMs are migrated to other hosts of the datacenter from those hosts which are either over utilized or underutilized depending upon two predefined threshold values of the utilization. This process is divided in two parts: i) VM Selection for the Migration Process and, ii) Placement of the Selected VM To carry out the first part, i.e. VM selection, we follow the Minimization of Migration (MM) Policy presented in [28] which selects the minimum number of VMs needed to migrate if the CPU utilization of a host is above the upper threshold. It also selects all the VMs from a host having utilization below the lower threshold. As mentioned in [28], this policy selects the VMs based on the following constraints: R={ S|S P( ), R=

, if if

-∑