1. Introduction
With the rapid development of cloud computing, the scale of data centers becomes larger and larger, and a large number of hosts around the world consume a huge amount of power every day, resulting in high CO
2 emissions [
1]. Studies have shown that the average CPU utilization of physical hosts in cloud data centers is only 15–20%, and the energy consumed by an idle server is 70% of the peak energy [
2,
3], which not only wastes energy and resources but also greatly increases the operating costs of cloud service providers. In addition, VMs perform data intensive applications by accessing physical networks and communicating with interdependent VMs on different servers, which not only increases the network traffic but also reduces the overall performance of the data center’s network [
4]. For users, this seriously hinders the customer’s experience, while for cloud service providers, a QoS may not be guaranteed, leading to SLAv. Therefore, considering the interests of cloud service providers and users, the above issues generate a complex and challenging multi-objective resource management problem in cloud computing.
The cloud computing resources are provided to users in the form of a VM. Therefore, the core problem of resource management in cloud computing is the VMs management, and VM consolidation technology is the main method used to solve this problem. The key to VM consolidation is to dynamically obtain the optimal mapping between VMs and hosts, so as to minimize the energy consumption and resources waste to reduce the operating costs while ensuring a QoS for customers.
The main process of VM consolidation is to first determine the host load, then decide whether to migrate the VMs according to the host load status, and finally migrating the VMs to a new host. However, a dynamic cloud environment brings more challenges to an effective VM consolidation. First, in a dynamic cloud environment, especially in a cloud data center with thousands of hosts, detecting the host load state effectively and accurately has been an important problem to be solved. Some related studies [
3,
5,
6] determine the host load status based on static thresholds, which lack the awareness of dynamic workloads in the data center. The current resources utilization cannot objectively and truly reflect the real load of hosts, which will lead to an excessive consolidation. The literature [
7] proposes a dynamic threshold method, which considers the workload changes in the source host and target host after the VMs migration, but does not consider the resource load balance, which will lead to a large resources waste. In addition, some of the existing methods determine the host load state only based on the CPU resource [
3,
4,
5,
6,
7,
8,
9,
10], ignoring the impact of memory, network and other resources, which are also key factors affecting the QoS. Some studies [
11,
12,
13,
14] consider the impact of multi-dimensional resources, but mostly focus on the optimization of energy consumption and SLAv, ignoring the VM migration overhead and the network communication overhead. For example, during the process of a VMs migration, the performance of the VM will be reduced, and placing two interdependent VMs at a long distance will cause a large communication delay [
15].
VM consolidation is a well-known NP-hard problem [
16]. Some studies have used heuristic algorithms to solve this question [
3,
17,
18,
19]. Heuristic algorithms are widely used in VM consolidation because of their simple implementation and low complexity. However, traditional heuristic algorithms are prone to fall into local optimal solutions. In the existing research, meta-heuristic algorithms are used to solve the VM placement problem [
16,
20,
21,
22], such as ant colony optimization (ACO), artificial bee colony, genetic algorithm, etc. These algorithms can effectively avoid local optimal solutions when solving large-scale model problems. The ant colony system (ACS) is a classical method of ACO. It can get a better solution for complex combinatorial problems in an appropriate time. Because of its excellent performance in solving NP-hard and combinatorial optimization problems [
23,
24], it has attracted more and more attention in solving VM consolidation problems. In this paper, the VM consolidation is considered to be a multi-objective combinatorial optimization problem. Therefore, the ACS is selected as the solution. However, with the increasing size of the data centers, some studies [
25,
26,
27] using the ACS to solve the VM consolidation problem have resulted in too long an execution time due to the increasing search space of the ACS as well. Therefore, it is necessary to further optimize the search performance.
To solve the above problems, this paper proposes a VM consolidation algorithm based on the dynamic load mean and multi-objective optimization in cloud computing, in which the host load status is comprehensively measured based on multi-dimensional resources, and the dynamic characteristics of the system load are considered. Then, the optimized ant colony algorithm is used to obtain the optimal mapping between the VMs and the hosts so as to realize the multiple objectives optimization of the resource utilization, energy consumption, migration and communication overhead. Our main contributions are as follows:
- (1)
A host load detection method based on the dynamic load mean is proposed which uses multi-dimensional resources to comprehensively measure the host load status and considers the impact of load fluctuations to avoid an excessive consolidation.
- (2)
A network-aware model is proposed to optimize the network communication overhead of interdependent VMs and the overall network traffic of the data center.
- (3)
An improved ant colony optimization algorithm is proposed to obtain a better solution and execution efficiency through the optimization of the heuristic factors and execution process.
The rest of the paper is organized as follows.
Section 2 describes the related work.
Section 3 introduces the relevant models.
Section 4 introduces the host load detection method based on the dynamic load mean.
Section 5 introduces the DLMM-VMC algorithm in detail.
Section 6 gives the experimental results and performance evaluation.
Section 7 concludes the paper and discusses the future work.
2. Related Work
A VM consolidation mainly solves three problems. That is, how to determine the host load status which mainly involves the host load detection methods, how to select the migration VMs which mainly involves the migration overhead calculation and how to select the placement hosts which mainly involves the best target host selection for the migration of the VMs.
For how to determine the host load status, some studies [
3,
5,
6,
28,
29] used static thresholds of CPU utilization to determine whether a host was overloaded or underloaded, keeping the CPU utilization of the host between two fixed thresholds. However, in a cloud data center, resource utilization is constantly changing in multiple resource dimensions. In such as dynamic cloud environment, setting static thresholds or using the current utilization of a single resource is not an effective approach, which leads to an excessive consolidation. Therefore, some dynamic threshold algorithms were proposed. Beloglazov et al. [
17] proposed an adaptive upper and lower thresholds method that sorted hosts based on the historical CPU data statistical analysis and CPU utilization prediction, which improves the ability to sense the dynamic changes in the host load. However, the load fluctuation was not considered. Chen et al. [
30] proposed a host load detection method based on the time sliding window, which recorded the host CPU utilization in a certain time window through a regular sampling. When the host CPU utilization continuously exceeded the predefined threshold, the host was determined to be overloaded. Yadav et al. [
31] proposed two adaptive methods based on robust regression to dynamically set the thresholds. Zhou et al. [
32] proposed a dynamic adaptive three threshold host load detection method, using a K-Means clustering algorithm to divide the hosts into four types. However, these methods use CPU utilization as the main criterion to determine the host load. Therefore, it is not possible to accurately describe the load status of the hosts with multi-dimensional resource characteristics, which ultimately leads to an unnecessary migration and resources waste.
For how to select the migration of VMs, in [
17,
33], the authors proposed several migration VM selection strategies, which have been widely used. These strategies include the maximum utilization (MU) strategy, which selects a VM that has the highest CPU usage; the random selection (RS) strategy, which selects a VM randomly based on a uniformly distributed discrete random variable; the maximum correlation (MC) strategy, which selects a VM with the highest correlation with other VMs; and the minimum migration time (MMT) strategy, which selects a VM with the shortest migration time. Li et al. [
34] used the similarity between memory contents of VMs to select a migration VM. This method aimed to select a VM with the highest similarity in memory contents from different hosts to reduce the migrated data and time. Masoumzadeh et al. [
35] proposed a VM selection strategy based on fuzzy Q-learning, where multiple VM selection technologies were integrated, and the VM selection strategy was selected dynamically based on the fuzzy logic theory according to the current state of a host. Laili et al. [
36] proposed a selection mechanism based on the iterative prediction algorithm, which used a reverse selection mechanism to select the most suitable VM from the candidate VM set for each randomly selected host. However, these studies only consider the migration overhead when selecting migration VMs, ignoring the impact on the host load. For overloaded hosts, the overload status should be quickly and accurately eliminated with the minimum migration overhead, while for low loaded hosts, the resources usage should be quickly reduced to shut down the host as soon as possible to reduce the energy consumption.
For how to select the placement hosts, the literatures [
3,
18] studied how to use the heuristic greedy algorithm to solve the VM placement problem. For instance, with the first fit (FF), first fit decreasing (FFD), best fit (BF) and best fit decreasing (BFD) algorithms [
30,
31], which aim to reduce the number of running hosts and the VM migration number. However, classical heuristic algorithms are not convenient for VM consolidation, so many subsequent studies have improved these algorithms to make them applicable to VM consolidation. Beloglazov et al. [
17] proposed a power-aware best-fit decreasing (PABFD) VM placement algorithm, which selects a host with the least energy consumption increase as a placement host. Li et al. [
37] proposed virtual switch aware BFD and FFD algorithms, which comprehensively considered the traffic between VMs and the CPU overhead generated by virtual switches. Moges et al. [
38] proposed a modified best fit decreasing (MBFD) algorithm to improve SLAv and active hosts. Zhang et al. [
39] further optimized the MBFD algorithm by combining FF and MBFD to achieve a better energy efficiency.
The heuristic greedy algorithm has a low complexity, but it is not suitable for solving large-scale problems and cannot be well applied to large-scale data centers. The meta-heuristic algorithm has significant advantages in solving such problems. Li et al. [
13] proposed a QoS-aware and multi-objective dynamic VM consolidation (QMOD) based on improved the genetic algorithm, which optimizes the three objectives of the load balancing, migration overhead and QoS. Li et al. [
20] constructed the VM consolidation problem as a multi-objective optimization problem with multi resource constraints and solved the problem based on the artificial bee colony algorithm. They also proposed a VM consolidation method based on differential evolution (DE) [
22]. However, in these methods, only the energy consumption and host overload risk are considered. Al-Moalmi et al. [
40] proposed a VM placement method based on grey wolf optimization (GWO), which can use the CPU and RAM resources more effectively and reduce the number of active hosts, energy consumption and SLAv. Aryania et al. [
26] proposed an energy-aware VM consolidation based on the ACS, which takes the energy consumption caused by VM migration as an important optimization goal. Farahnakian et al. [
27] proposed an ACS-based VM consolidation approach that aims to maximize the number of dormant hosts and minimize the number of VM migrations. However, the above VM consolidation algorithms based on ant colony optimization take too long to execute for larger-scale data centers due to the large search space. Xiao et al. [
25] proposed an improved ACS to solve the VM consolidation problem; they used the design heuristic factors to select both migration VMs and placement hosts and limited the search space of ants according to the type of host load state, thus reducing the blindness of the ant search and optimizing the execution efficiency. However, they ignore the optimization of selecting migration VMs, and the selection of migration VMs and placement hosts in VM consolidation jointly determines the search performance and execution efficiency of the ACS. Moreover, the above algorithms do not consider resources waste and network overhead. To some extent, the unbalanced resources utilization will greatly increase the resources waste, leading to an increase in the active hosts, thus increasing the energy consumption. In addition, the increase in the network overhead will greatly delay the response time of the application in the VM, which is easy to lead to a QoS degradation. Therefore, VM consolidation should comprehensively consider the interests of both the cloud service providers and the users to ensure that the cloud service providers minimize the operational costs while also ensuring a QoS for the users.
5. The Proposed DLMM-VMC Algorithm
The following describes the main ideas of the DLMM-VMC. First, according to the DLM-HLD method, the hosts are divided into three categories: the overload, normal load and underload. Then, selecting the migration VMs and placement hosts based on the optimization ant colony algorithm. On the one hand, when selecting migration VMs, prioritize the VMs that make the greatest reduction in the overloaded resource utilization on the host, which effectively reduces the migration VMs number. In addition, to save energy, migrate as many VMs on underload hosts as possible to shut down more hosts. On the other hand, when selecting placement hosts, prioritize the hosts that make the best utilization of the resources on the host, which effectively reduces the resources waste. Finally, based on the multi-objective function proposed in Equation (8) and the optimized ant colony algorithm, the optimal solution is obtained. Define the mapping tuple set of migration VMs and placement hosts as , where is a VM to be migrated and is a placement host for migration VMs to be placed. The elements in the collection are used as food for the ants. Ants search for solutions from and use objective function (8) to evaluate the solutions, and finally get the optimal solution.
To reduce the time complexity of this method, we optimized the execution process of the ACS, as shown in
Figure 1. This method restricts the solution search space of the ACS to a certain range of hosts instead of all the hosts based on the host load types output by the DLM-HLD algorithm. During the VM consolidation process, select the overloaded hosts and the underloaded hosts in turn, and when selecting the placement hosts for migration VMs, select the normal host, underloaded host and new host in turn. Therefore, compared with the original ant colony optimization algorithm, this method reduces the search range of the ants. In addition, to further optimize the execution efficiency for the VM consolidation problem, the heuristic factor takes into account both the migration VMs selection and placement hosts selection. On the one hand, the optimized heuristic factor selects a different migration VM selection heuristic factor based on the source host load type, which ensures minimizing the migration overhead when selecting the migration VMs. On the other hand, the optimized heuristic factor selects a different placement host selection heuristic factor based on the target host load type, which ensures a maximum resource utilization when selecting the placement hosts. The heuristic factor comprehensively considers the two key processes of the migration VMs selection and placement hosts selection, which helps to ensure the solution quality while reducing the blindness of the ant search to improve the execution efficiency of the ACS. In the following, detailed definitions of these factors are given.
5.1. Pheromone Definition
Pheromone
is the medium that ants communicate with each other. Ants find food sources by sensing other ants’ pheromones, and the higher the pheromone concentration, the greater the preference. Suppose that
denotes the pheromone on the combination
of VM
and host
, the pheromone
value changes due to the new pheromone accumulation and the old pheromone volatilization. The local pheromone update rule is as follows.
where
is the pheromone volatility coefficient and
is the initial pheromone that is a constant. Updating the local pheromone will reduce the pheromone concentration to avoid a premature convergence to suboptimal solutions.
After all the ants have constructed their solutions, the global optimal solution is obtained according to the objective function and the global pheromone is updated using the global optimal solution to enhance the experience of the global optimal solution. The global pheromone update rule is as follows.
where
is the global optimal solution.
5.2. Definition of Heuristic Factor
In addition to the pheromone, the heuristic factor
is another very critical factor in an ant colony algorithm. The heuristic factor represents the expectation that the VM
is assigned to host
. The larger the heuristic information is, the greater the corresponding behavior probability is. Therefore, a reasonable setting of the heuristic factor can reduce the search blindness and improve the search efficiency of the ant colony. This paper comprehensively considers the service performance and energy consumption, and sets the heuristic factor as shown in the following equation, which consists of two parts: the selection of migration VMs and placement hosts.
where
is the migration VMs selection heuristic factor, which indicates that the VM
is migrated from the host
, and
is the placement hosts selection heuristic factor, which indicates that the VM
is migrated to the host
.
is the relative weight to measure the relative importance of the two. The settings of
and
are described in detail below.
5.2.1. Migration VM Selection
For overloaded hosts, any kind of resource overload may affect the QoS and result in SLAv. In addition, an improper policy for selecting migration VMs will cause too many VMs to be migrated, which increases the migration overhead. Therefore, for overloaded hosts, the main strategy for selecting a migration VM is to minimize the VM migration number and time under the premise of comprehensively considering multi-dimensional resources, and quickly restores the host from the overload state to the normal state. Therefore, we define the migration VM selection heuristic factor for the overload hosts as follows.
where
is the utilization of the resource
of the overloaded host
,
is the utilization of the resource
after the host
migrating out of the VM
,
is the load’s comprehensive descending gradient of the host
after the VM
is migrated out from the host
and
is the weight value obtained based on Equation (18); the greater the descent gradient, the greater the probability of the VM
being selected. Additionally, considering the migration time
as a migration VM selection factor, this paper uses the migration time evaluation model proposed in the literature [
41] to calculate
, which evaluates the VM migration time based on the current memory usage, dirty page and data transfer rate.
comprehensively considers the VM migration number and time. When selecting a migration VM, the faster the host overload state decreases and the shorter the migration time, the more likely the VM will be selected.
For underload hosts, in order to minimize the underload host number, preference is given to VMs that can significantly reduce the host’s resources utilization after migration to shut down the host. Therefore, we define the migration VM selection heuristic factor on the underload hosts as follows.
5.2.2. Placement Host Selection
When any resource usage of a host is overloaded, the host performance will drop rapidly. Therefore, when the normal load host is selected as the placement host, the one with more remaining resources is preferred. Additionally, consider resources waste and choose the one with the less resources waste. We comprehensively consider the QoS and resources waste and set the heuristic factor for normal load hosts in the following formula.
where
and
are the remaining comprehensive load and resources waste of host
after deploying VM
. The larger the
, the greater the remaining comprehensive load, and the less resources waste there is.
For the underload hosts, their resources utilization are low and resources competition are weak, which can guarantee a QoS but cause a waste of resources and energy. Therefore, when selecting underload hosts as the placement hosts, the hosts with a higher resource utilization after deploying VMs are preferred to fully utilize the resources. The corresponding heuristic factor is defined as follows.
5.3. Pseudo-Random Proportion Rule
According to the heuristic factor and pheromone information, the ants construct the solution according to the following pseudo-random proportion rule.
where
is a uniformly distributed random number and
is a fixed parameter determining the relative importance of cumulative experience and random selection. The
and
indicate the importance of the pheromone and heuristic factor. When
is called an exploitation, it is helping the ants to converge quickly to a high-quality solution, otherwise it is called an exploration, in which ants randomly select a tuple
according to the probability distribution defined in the following equation, helping the ants to discover more new choices.
where
denotes the set of tuples that ant
is allowed to traverse, and
denotes the probability that ant
selects the tuple
next.
5.4. VM Consolidation Algorithm
The pseudo-code of the DLMM-VMC is shown in Algorithm 2. The input host sets are obtained by Algorithm 1. The algorithm initializes the iterations number
, ants number
and
(line 1). In each iteration,
ants traverse the overloaded and underloaded hosts in turn, calculate heuristic factors based on the source and target host load types and reconstruct new mapping relationships between the VMs and hosts (lines 3–38). First, the VM consolidation is performed for the overloaded hosts (lines 4–20), and heuristic factors are calculated according to the overload host type (lines 7 and 11). Then, a VM consolidation is performed for the underload hosts (lines 21–36), and the heuristic factors are calculated according to the underload host type (lines 23 and 28). When selecting placement hosts, this algorithm selects the normal host and the underload host in turn (lines 5, 10, 22 and 27). After each ant constructs the solution, the local pheromone is updated (lines 19 and 35), and when all the ants have constructed the solutions, all ant-specific solutions are added to the solution set
(line 37). The solution set in
is evaluated using the objective function to obtain the global optimal solution
(line 39), and then the global pheromone (line 40) is updated using
. When all the iterations are executed,
is the final optimal solution.
Algorithm 2 VM consolidation algorithm DLMM-VMC |
Input: overloaded host set , normal host set and underloaded host set . Output: Initialize: , , , , and . for to do for to do while do Based on Equations (21), (22) and (24), compute heuristic and . Based on Equation (27), compute and . Based on Equation (26), select . If then . Based on Equations (21), (22) and (25), compute heuristic , . Based on Equation (27), compute and . Based on Equation (26), select . If then Break End if End if Update mapping relation matrix . Update local pheromone using (19). End while while do Based on Equations (21), (23) and (24), compute heuristic and . Based on Equation (27), compute and . Based on Equation (26), select . If then Based on Equations (21), (23) and (25), compute heuristic and . Based on Equation (26), select . If then Break End if End if Update mapping relation matrix . Update local pheromone using (19). End while End for . Based on Equation (20), update global pheromone using . End for
|
As shown in Algorithm 2, we can conclude that the maximum time complexity of this algorithm is . Where is the number of iterations, is the number of ants, is the number of VMs and is the number of hosts. In line 4 and line 21, the while loop traverses the overloaded and underloaded hosts with the number of traversals less than , and then in line 5, line 10, line 22 and line 27, the VMs on the overloaded and underloaded hosts are traversed in turn to construct the solution space with the number of traversals less than . Because we handle overloaded hosts and underloaded hosts separately, select normal load hosts and underloaded hosts sequentially when selecting the placement hosts. Therefore, the number of VMs and hosts traversed each time is less than and , respectively, and the final complexity of the DLMM-VMC is less than or equal to .
7. Conclusions
This paper focuses on how to optimize the energy consumption, resource utilization, QoS, migration overhead and network communication overhead in cloud data centers, and thus proposes a DLMM-VMC algorithm to do so. The DLMM-VMC constructs the VM consolidation problem as a multiple-objective optimization problem. Fist, a host load detection method based on the dynamic load mean is proposed to objectively and accurately evaluate the real load state of the hosts, which avoids the deficiency of only considering single-dimensional resources in VM consolidation and also optimizes the problem of unnecessary VM migrations caused by system load fluctuations. Then, the optimized ant colony algorithm is proposed to obtain the optimal mapping scheme between the hosts and the VMs. In this process, the heuristic factor and the execution process of the ACS are optimized to achieve the improvement in the multiple objective optimization and execution efficiency. Finally, the experimental results show that the DLMM-VMC is effective in reducing the energy consumption, optimizing resources utilization, guaranteeing a QoS and reducing a migration overhead and network communication overhead compared with other algorithms.
This paper ignores the energy consumption generated by other devices in the data center and the impact on the system’s performance, such as the network elements and refrigeration equipment. In the future, we will comprehensively consider various factors to conduct VM consolidation research to further optimize the energy consumption.