Thermal-Aware Virtual Machine Allocation for Heterogeneous Cloud Data Centers

: In recent years, a large and growing body of literature has addressed the energy-efﬁcient resource management problem in data centers. Due to the fact that cooling costs still remain the major portion of the total data center energy cost, thermal-aware resource management techniques have been employed to make additional energy savings. In this paper, we formulate the problem of minimizing the total energy consumption of a heterogeneous data center (MITEC) as a non-linear integer optimization problem. We consider both computing and cooling energy consumption and provide a thermal-aware Virtual Machine (VM) allocation heuristic based on the genetic algorithm. Experimental results show that, using the proposed formulation, up to 30% energy saving is achieved compared to thermal-aware greedy algorithms and power-aware VM allocation heuristics.


Introduction
Cloud computing has emerged as a new and popular computing paradigm for providing on-demand hosted services over the Internet [1,2]. The computing and storage capacity of data centers have increased rapidly as the demand for Internet-based services has increased [3][4][5][6]. The continuous increase of energy consumption and power density is one of the serious side effects of such rapid growth in the data center facilities and imposes a significant cost on Cloud data centers that reduces the marginal profit of Cloud providers and leads to a growth in the rate of carbon dioxide emissions. Thus, energy efficiency has become a major economic and environmental issue in data centers, which has attracted the attention of researchers and industries [7][8][9].
A considerable amount of literature has been published on energy-efficient computing in data centers [10,11]. One of the most significant parts of the energy consumption in data centers appears to be the energy consumed in the cooling system [12,13]. Recent cooling technologies, such as in-rack, in-row, and container-based cooling, have been proposed to improve data centers' energy efficiency. However, the majority of data centers are still restricted to older cooling technologies, such as chilled-water air cooling [14]. Thus, it seems that there is still room for further improvement in energy efficiency by applying resource management techniques [15,16].
To the best of our knowledge, most works into minimizing cooling energy consumption have proposed optimization algorithms to maximize the temperature of the cooled air supplied by data centers' Computer Room Air Conditioning (CRAC) unit [17]. The maximum allowable temperature is determined by the lowest red-line temperature of the installed servers in a data center. More efficient cooling processes allow higher temperatures for supplied cooled air without exceeding the red-line temperature in each server for a given workload. These temperature-based optimization methods reduce the recirculating heat in the data center [18]. The recirculation of exiting hot air from devices' air outlets back into their air inlets increases inlet temperatures and consequently decreases the maximum allowable temperature of the supplied cooled air.
Several studies have parametrized heat recirculation and heat flow fields based on the temperature distribution in the data center [19,20]. The most detailed thermal model of a flow field to predict temperature distribution is a Computational Fluid Dynamics (CFD) model [21]. Similarly, thermal maps of data centers can predict the temperature distribution for a given CPU utilization pattern [22]. However, these models are not suitable for on-line resource management due to their high computational costs. Thermal models with lower complexity, such as Supply Heat Index (SHI), Recirculation Heat Index (RHI) [23], and Heat Recirculation Factor (HRF) [23], have been proposed in the literature.
In addition to the above-mentioned traditional techniques, recent advances in virtualization methodology have made it possible for designers to reduce the idle power costs of modern data centers by improving system manageability [24][25][26]. A Virtual Machine (VM) is a software abstraction of an actual physical computing system which is machine-independent and easily portable [27]. Virtual Machines have many benefits; for example, they keep the users separate from the underling infrastructure and isolate the workloads that share common facilities. A VM benefits its user by improving performance and scalability and reducing hardware and software requirements, as well as manageability and fault tolerance. Moreover, it improves resource utilization, reduces the energy consumption through the consolidation of multiple workloads on fewer servers, and enables live migration [28][29][30]. It can also provide load balancing between servers by enabling Virtual Machine migration to eliminate thermal hotspots in data centers.
In this paper, we formulate the problem of thermal-aware Virtual Machine allocation in a heterogeneous data center as a non-linear integer optimization problem. To the best of our knowledge, our proposed formulation is the first to mathematically formulate the problem of how to allocate Virtual Machines in a thermal-aware manner among the computing nodes in order to minimize the total energy consumption of the data center (the formulated problem is named MITEC). We provide a novel heuristic approach to solve the MITEC problem based on a genetic algorithm. Furthermore, we compare the performance of the proposed heuristic with thermal-aware greedy algorithms and power-aware VM allocation heuristics.
The main contributions of this paper are the following: • Creating a formal definition of optimal thermal-aware VM allocation by considering both computing and cooling energy consumption and providing a novel heuristic based on a genetic algorithm to obtain a near-optimal solution in less computing time; • Designing a trade-off between the power-aware consolidation techniques and thermal-aware load balancing approaches to obtain higher energy savings in Cloud data centers; • An extensive simulation-based evaluation and performance analysis of the proposed algorithm.
The remainder of this paper is organized as follows: we address the related work in Section 2. The general physical description of the data center and the power and the total energy consumption models are described in Section 3. Section 4 presents the thermal-aware VM allocation problem formulation, while a genetic heuristic approach is provided in Section 5. Simulation results are provided in Section 6. Finally, Section 7 concludes the paper.

Related Work
Recently, there has been a large volume of published studies carried out on energy-efficient resource management in data centers [7][8][9]11]. One of the most significant discussions aimed at minimizing the total power consumption in data centers is the Dynamic Voltage/Frequency Scaling (DVFS) of servers [31][32][33]. Pakbaznia et al. [34] formulate the total data center power consumption and propose an efficient algorithm which reduces the server power by appropriately allocating tasks to servers and choosing the optimal voltage-frequency level for servers. The algorithm also considers the cooling power and chooses the proper supplied cold air temperature value in order to minimize the cooling cost. Dynamically "right-sizing" the data center [35] by turning off inactive servers is another technique which can be applied to achieve more energy savings. In [36], the authors consider the problem of server provisioning and DVFS control at hosting centers. The paper formulates this problem and presents three main techniques based on steady-state queuing analysis, feedback control theory, and a hybrid between the two.
Due to the fact that a considerable reduction in the cooling energy requirements of data centers can be achieved by thermal-aware resource management, several studies have been conducted to explore different techniques in this area. As explained by [5,37], common designs for cooling systems for data centers result in an inefficient and limiting phenomenon called heat recirculation. Heat recirculation is caused by the mixing of the two hot and cold air flows and prevents ideal cooling efficiency. In a study by HP Labs and Duke University, Sharma et al. [23] introduced two scalar and dimensionless parameters, the Supply Heat Index (SHI) and Recirculation Heat Index (RHI), as the metrics that can be used to evaluate the thermal efficiency of a data center by assessing of heat recirculation.
The study presented in [38] includes a detailed thermo-fluid analysis of a typical data center to resolve temperature distribution for a given steady-state power density. This paper uses steady-state and transient CFD techniques and proposes a method describing the provisioning of data center cooling resources based on CFD simulation. Studies prior to [39] explored efficient methods of provisioning cooling resources for data centers [40][41][42]. However, Moore et al. propose a thermal-aware workload placement algorithm based on the minimization of the cooling energy needed at the facilities level [39]. They first introduce a parameter to assess the heat recirculation phenomenon, called the heat recirculation factor (HRF), which resulted from thermodynamical considerations. Then, they propose Zone-Based Discretization (ZBD) and Minimize-Heat-Recirculation (MinHR) algorithms for workload placement based on the HRF metric to minimize the effects of heat recirculation on cooling inefficiency.
Tang et al. [43] introduce an abstract heat flow model to characterize the heat recirculation phenomenon in data centers. This model can also predict the inlet air temperature of each chassis based on the supplied cooled air temperature and workload distribution faster than CFD simulations and is fairly accurate. The main idea in this work is profiling a matrix, called the cross interference matrix, using the measurement or prediction of the inlet and outlet temperature of each chassis by on-board and ambient sensors or via CFD simulations. In [44], Tang et al. developed a new, low-complexity, linear heat recirculation model based on the cross interference matrix introduced in [43] to minimize the peak inlet temperature within a data center. They presented two heuristic methods, called XInt-GA (genetic algorithm) and XInt-SQP (Sequential Quadratic Programming) algorithms, to solve the optimization problem in a reasonable time.
Further optimization strategies have been developed based on abstract heat recirculation models in recent years. In [45], the authors proposed a Power and Thermal Management (PTM) engine which determines the number and placement of ON servers and adjusts the supplied cold air temperature simultaneously. Using this method, the total power consumed by servers and CRACs has been minimized. Abbasi et al. [46] developed a method for a thermal-aware dynamic server set provisioning and introduced a thermal-aware workload distribution algorithm among the active servers.

System Model
In this section, we provide the general physical description of the data center and present the power and the total energy consumption models.

Layout of Data Center
The data center room generally contains several rows of racks; each rack consists of few chassis in which a number of blade servers are assembled. Current data centers are designed with hot/cold aisles, as shown in Figure 1. Each row is placed between a hot and a cold aisle. Chilled air for room cooling is supplied by the CRAC unit through the floor tiles. Each server sucks the chilled air into the rack to cool the servers, and the hot air is blown out by the fans into hot aisles formed by the data center flow pattern. Then, the accumulated hot air is extracted by the CRAC vents on the ceiling. The important duty of the CRAC unit is to keep the inlet temperature of each chassis under the red-line temperature (T red ), which otherwise would degrade performance or harm the data center facilities.

Heat Recirculation Phenomena
The air circulation system in a data center provides coolant flow for chassis i at its inlet with temperature T i in and transfers the exhausted hot air from its outlet with temperature T i out . After extracting server-generated heat, the CRAC supplies chilled air of temperature T sup via floor tiles.
The key optimization idea is to isolate the cold aisles as much as possible, reducing heat leakage into coolant cold aisles. Obviously, such leakage increases the differences between T i in and T sup and consequently decreases the maximum T sup that can be supplied given a certain workload pattern.
In order to isolate the cold aisles, the thermal-aware workload placement formulation can be used to minimize the heat recirculation in a certain flow pattern. In this formulation, the data center can be considered an open system with a cold air feed (temperature T sup ) that is affected by the chassis, which are heat sources. T i in and T i out denote inlet and outlet temperatures of ith chassis. The enthalpy change in each chassis is stated by K i (T i out − T i in ) in which K i =ṁ i c P whereṁ i is mass flow rate of chassis i and c P is the specific heat capacity of air. A workload distribution is described by vector P, which quantifies the power dissipated by servers in each chassis. From P, we determine the corresponding inlet and outlet temperatures T in and T out . As explained by [43], the contribution of the flow pattern on heat recirculation can be characterized by a cross interference coefficient (CIC) matrix denoted by A. In fact, A is a matrix representation of the heating contribution of all chassis outlet flows on each others' inlet temperatures in a certain flow pattern. Using the CIC matrix, the inlet temperatures of each chassis can be calculated as follows: in which the heat distribution matrix, D is defined by where T in and T sup are the corresponding inlet temperature and the cold air supply vectors. The former contains T i in for each chassis. The latter is a vector with identical components equal to the cool air temperature supplied by the CRAC unit.

Cooling Efficiency of the CRAC Unit
Traditionally, the energy efficiency of a cooling system is characterized by the coefficient of performance (CoP). The CoP is defined as the ratio of the amount of heat that is removed by the cooling system (Q) to the total amount of energy (E) that is consumed in the cooling system to remove that amount of heat from the system: In the current study, the proposed coefficient is based on a typical water-chilled CRAC unit utilized in an HP Utility data center [39]. In this model, the CoP is a function of T sup :

VM Allocation and Power Model
We consider a large computing facility, consisting of N chassis. Each chassis i ∈ {1, . . . , N} contains a set of servers which provide the total computing capacity of M i cap million instructions per second (MIPS). We denote the VM set as V = {VM j (M j req , L j )|j = 1, . . . , M}, where jth VM requests M j req million instructions per second and a task of L j million instructions (MIs) is executed on jth VM. We consider that each VM executes a single task with a length of L j . Thus, the task execution time is equal to the task instruction length (L j ) divided by the VM processing capacity (M j req ). The total power consumption of the ith chassis with a CPU utilization of u i can be calculated as [47] where α i and β i represent the idle power consumption of the ith chassis and the extra power consumption from CPU utilization, respectively. The computing energy consumption of ith chassis can be defined as where t i max , V i , u ij and t j represent the maximum time that ith chassis is active, the set of VMs that are allocated to ith chassis, the utilization of jth VM on ith chassis (i.e., M j req /M i cap ) and the fraction of time that jth VM is active (i.e., L j /M j req ), respectively.

Total Energy Consumption
The total energy consumption of a data center is defined as the sum of chassis energy, E comp , and the cooling energy of the CRAC unit, E CRAC [47]. The cooling energy consumption of the CRAC unit can be computed as E CRAC = E comp /CoP(T sup ). Thus, the total energy consumption of a data center can be written as In order to prevent performance degradation or damage to the data center facilities, the CRAC unit must keep the inlet temperature of each chassis under the red-line temperature T red . Thus, considering Equation (1) we have Thus, the maximum supply temperature from the CRAC unit is T sup = T red − max 1≤i≤N {D P}. Now, we can rewrite Equation (7) as

Problem Formulation
In this subsection, we provide the non-linear integer formulation for the problem of thermal-aware VM allocation. We define an integer variable x ij , which is set to 1 if the jth VM is allocated to ith chassis. Then, we define another integer variable y i , which indicates whether the ith chassis is ON or OFF as follows: The computing power consumption of the ith chassis can be modeled as We define P comp = [P 1 comp , . . . , P N comp ] T as a column vector, representing the computing power consumption of each chassis and t i max = max 1≤j≤M {x ij · t j } as the maximum time that ith chassis is active. The mathematical optimization problem is defined as subject to ∀j : ∀i : ∀i, j : The objective function (14) tries to minimize the total energy consumption of a data center including the computing and cooling energy consumption. In practice, there is a trade-off between consolidating VMs on fewer servers to save the idle power consumption and the load balancing of VMs on a higher number of servers to avoid thermal hotspot creation. Our objective function accurately has taken these conflicting objectives into account.
The first constraint (15) ensures that each VM must be allocated to exactly one chassis. The second constraint (16) states that the requested MIPS of all VMs allocated to ith chassis must be less than or equal to the capacity of the chassis. In the third constraint (17), C is a significantly large number (that is, at least as large as the number of VMs). If for the ith chassis, ∑ M j=1 x ij equals 0 (i.e., no VM is allocated to ith chassis), then (16) implies that y i must be 0. If ∑ M j=1 x ij is bigger than 0 for the ith chassis, then (16) states that y i must be 1. The proposed non-linear integer formulation can obtain optimal VM placement solutions; however, it is an NP-hard problem and impractical for large-sized data centers. We therefore use a heuristic approach offering a comparably fast running time and still yielding near-optimal solutions.

The MITEC-GA Algorithm
In this section, we provide a genetic algorithm (MITEC-GA) to solve the VM allocation problem formulated in the previous section. Our proposed heuristic uses a vector of integer numbers, c, in order to implement the chromosome encoding. Each chromosome c represents a solution for the VM allocation problem. The allocation of jth VM to the ith chassis can be expressed by c j = i. Thus, we have the following: Let us define the available MIPS of ith chassis as A chromosome is a feasible solution for the problem if r i is greater than or equal to 0 for all chassis; that is, no allocation exceeds chassis capacity.
Algorithm 1 details the proposed heuristic. The MITEC-GA begins by generating a pool of random population and calculating the fitness function for each candidate solution (lines 2-5). The algorithm uses E total in Equation (7) as the fitness function. Our genetic algorithm runs in an iterative manner and repeats the following steps in each iteration: • Selection: The roulette-wheel selection method is used to randomly select two parents from current population; We define a weighting factor w j for jth VM in a candidate solution c which is directly proportional to M j req , β c j while inversely proportional to r c j . The higher the value of w j , the more likely the allocation of jth VM changes in the solution c. We define w j as This weighting factor represents the importance of dynamic energy consumption. When the remaining capacity of a chassis decreases, the utilization of the chassis increases; as a consequence, the dynamic energy consumption of the chassis increases. Similarly, when the requested MIPS of a VM is large, it means that this VM affects the dynamic energy consumption of the chassis more than other VMs. Thus, a large VM has a higher chance to be placed on another chassis resulting in higher load balancing and lower consolidation, which can avoid hot-spot thermal issues and consequently reduce cooling energy costs. In order to mutate chromosomes, the MITEC-GA first sorts VMs according to their weighting factor in descending order. The algorithm then substitutes the allocation of randomly selected VMs with lower weighting factors for the allocation of VMs with higher weighting factors. for i = 1 to num_o f _iter do 7: selParents ← select two solutions from CurPop 8: using roulette-wheel selection 9: crossParents ← call CROSSOVER(selParents) 10: mutateSol ← call MUTATE(crossParents) 11: Apply the fitness function on mutateSol.

12:
CurPop ← select n solutions from CurPop 13: and mutateSol with low energy consumption 14: FinalSolution ← the solution within CurPop with best fitness 15: function CROSSOVER(selParents S 1 and S 2 ) 16: Select two random numbers, (rand1 < rand2) 17: for i = rand1 to rand2 do 18: for all VM j do Calculate weighting factors 27: 28: Sort w 1 in descending order 29: for all VM j in the first half of w 1 do 30: selPart ← set of all VMs in the last tenth of w Increment the selPart s space by one 38: until selPart s space reach to VM j 39: Do the same things for w 2 and S 2

Simulation Results
In this section, the details of our simulation study and the performance results are presented.

Simulation Setup
In order to evaluate the the proposed scheme, CloudSim is modified and used to simulate thermal-aware VM allocation policies. We consider that a data center consists of two rows of five racks, each containing 50 chassis with 10 servers. The servers are HP D1080 and D2050. There are 35 chassis of D1080 and 15 chassis of D2050 servers. The D1080 server has a power consumption of 2020 W when idle and 2520 W at 100% CPU utilization. Similarly, the D2050 server has a power consumption of 1590 W at the idle state and 2490 W at 100% CPU utilization. The CRAC supplies chilled air at 20 • C into the data center through the raised floor vents (Figure 1). Thermal intervals of 15 min (that is, sufficient time for data center thermal stability) are added to the simulator. In each interval, we calculate the maximum supply temperature from the CRAC unit ,T sup , based on Equation (10) and measure the energy consumption based on Equation (7).
In order to characterize the workload model, we use Amazon Elastic Compute Cloud (EC2) Standard Instances: Small Instance with one EC2 compute unit (1000 MIPS); Medium Instance with two EC2 compute units (2000 MIPS); Large Instance with four EC2 compute units (4000 MIPS); and Extra Large Instance with eight EC2 compute units (8000 MIPS). We consider different numbers of VMs in our simulations to achieve different data center utilizations (i.e., from 300 VMs to 620 VMs, which means from 48% data center utilization to 98% data center utilization). In the simulations, we assign one job with a random MIs to each VM. The MIs of each job follows a normal distribution from 750, 000 MIs to 4, 500, 000 MIs [48,49]. We vary the mean of the normal distribution for each type of instances. For example, for Small Instance VMs, the mean is 1, 500, 000 MIs, and for Extra Large Instance VMs, it is 3, 750, 000 MIs. All the results are averaged over 50 runs for randomly-generated VMs.
We compare our heuristic with four thermal-aware greedy algorithms and one power-aware heuristic. Minimum Inlet Temperature (MinTinlet) is a greedy algorithm which allocates each VM to a chassis with the minimum inlet temperature. Minimum of Maximum Inlet Temperature (MinMaxTinlet) is a greedy algorithm which allocates each VM to a chassis which causes the minimum increase in the maximum inlet temperature. The third greedy algorithm is Minimum Summation Differential Inlet Temperature (MinSumDTinlet), which allocates each VM to a chassis which causes a minimum increase in the sum of inlet temperatures of all chassis (before and after allocation) within the data center. The main objective is to cause a minimum change in the inlet temperature of all chassis. LRH [50] is another greedy algorithm that assigns VMs to idle servers based on the chassis' contribution to heat recirculation. Finally, we use one of the implemented VM allocation policies in the CloudSim, "PowerVmAllocationPolicySimple" [51], which allocates each VM to the first chassis with sufficient MIPS capacity.

Simulation Results
The performance of our proposed heuristic is depicted in Figure 2. On average, more than 30% energy savings are achieved by our heuristics in higher utilizations in comparison with other greedy VM allocation heuristics. This is due to the fact that using the consolidation technique may have an effect on heat recirculation phenomena and increase the total energy consumption. The numbers of powered-off chassis for greedy algorithms are considerably greater than the numbers of powered-off chassis for MITEC-GA; thus, powered-on chassis are over-utilized in these greedy algorithms. MITEC-GA turns on more chassis; however, powered-on chassis are not fully utilized, resulting in less of an effect on the heat recirculation phenomena and consequently less dynamic energy consumption.
As shown in Figures 3 and 4, MITEC-GA can efficiently reduce both computing and cooling energy. It can reduce more cooling energy especially when the utilization of servers is high (i.e., VM number = 620). This is because MITEC-GA turns on more chassis to obtain load balancing within the system, avoiding the creation of hotspots. This load balancing allows higher temperatures for supplied cooled air without exceeding the red-line temperature in each server for a given workload.
The supply temperatures of different algorithms are also shown in Figures 5 and 6. Thermal-aware greedy algorithms provide higher supply temperatures; however, they are not as efficient as MITEC-GA, which considers both thermal and computing power simultaneously. Simulation results also suggest that using a consolidation technique may have an effect on heat recirculation phenomena and increase the total energy consumption. As depicted in Table 1, the numbers of off-chassis for greedy algorithms are greater than the numbers of off-chassis of MITEC-GA; thus, on-chassis are over-utilized in these greedy algorithms. The effect of over-utilizing the chassis can be seen in Figure 2, where their energy consumption is significantly higher than MITEC-GA. MITEC-GA turns on more chassis; however, on-chassis are not fully utilized, they consume less dynamic energy consumption, and they have less effect on heat recirculation phenomena.

Number of VMs
Total Energy (KWh) In terms of the cost-benefit analysis, reducing energy consumption can reduce the power capacity-related costs as well as the energy costs. Assuming $0.12 energy cost per kWh [52], by the energy saving of up to 30% which is achieved compared to thermal-aware greedy algorithms and power-aware VM allocation heuristics, MITEC-GA can save around 131,400-254,040 kWh of energy yearly, meaning $15, 768 to $30, 484 savings on energy bills per year.

Conclusions
In this paper, we formulated the problem of minimizing the total energy consumption of a heterogeneous data center (MITEC) as a non-linear integer optimization problem. We provided a thermal-aware VM allocation heuristic, MITEC-GA, based on the genetic algorithm. The MITEC-GA is a meta-heuristic optimization technique, which randomly searches the feasible solution space and finds a near-optimal solution for the allocation of thermal-aware VMs. The algorithm operates in an iterative manner. In each iteration, the MITEC-GA tries to generate the solutions that are a better fit than the current solution based on the total energy consumption of a data center. By the repeated modification of the existing solution, the MITEC-GA evolves the current solution toward the optimal solution. Experimental results reveal the effectiveness of our proposed heuristic and demonstrate that, on average, more than 30% energy savings are achieved by our heuristic in comparison with other greedy VM allocation heuristics. In future works, we will consider an on-line thermal-aware VM allocation problem and use VM migration techniques to achieve more energy savings. We will also consider the dynamic effect of fan speeds on heat recirculation phenomena and try to provide an on-line fan speed control mechanism.