Abstract
With the rapid development of information technologies and the popularization of Internet applications, more and more companies and developers pay great attention to the cloud computing. As one of the most significant problems in cloud computing, virtual machine allocation has attracted significant attention. However, early studies usually ignore the load balance issue of the resources. In this article, we aim at multidimensional resource load balancing of all the physical machines in the cloud computing platform to maximize the utilization of resources. To achieve this goal, we leverage the ant colony optimization to design an efficient virtual machine allocation algorithm based on the NP-hard feature of this problem. Specifically, we customize the ant colony optimization in the context of virtual machine allocation and introduce an improved physical machine selection strategy to the basic ant colony optimization in order to prevent the premature convergence or falling into the local optima. Through extensive simulations, we demonstrate that our proposed algorithm can effectively achieve load balancing in virtual machine allocation and improve resource utilization for the cloud computing platform.
Introduction
Recently, cloud computing has emgerd as a cost-effective paradigm 1 due to its efficient sharing of resources and gained significant popularity. In cloud computing, one of the significant challenges is how to efficiently allocate virtual machines (VMs) with different kinds of resource demands, termed the VM allocation problem.
VM allocation has attained a lot of attention from the research groups in the last few years. Many related reviews and surveys have been made.2,3 They usually perform the VM placement by live migration using dynamic threshold values 4 or a layered progressive resource allocation algorithm for multi-tenant cloud data centers based on the multiple knapsack problem. 5 However, they ignore the load balance of the multiple heterogeneous resources. Users’ different resource requests and the heterogeneity of physical resources make it hard to achieve load balancing and lead to a very low resource utilization. In fact, considering the NP-hardness 6 of this problem and the practical online VM allocation context, it faces a dilemma of obtaining a suboptimal solution while just needing less time complexity. To address this problem, meta-heuristics emerges due to its smart iteration process and has been widely used in resource allocation problems. Common meta-heuristics include ant colony optimization (ACO), 7 genetic algorithm (GA), 8 particle swarm optimization (PSO) algorithm, 9 and simulated annealing (SA) algorithm. 10 Among many heuristics, we finally select the ACO technique in this study due to the following advantages:
ACO has strong robustness and therefore it can be widely used in many fields;
ACO has a good ability to search solutions, especially in the latter half of the algorithm;
For all ants in ACO, they can search solutions concurrently, which ensures good performance;
ACO can be easily combined with other heuristic algorithms to improve the performance.
In other studies, the ACO technique is widely used to achieve different goals in resource allocation, for example, to maximize the throughput of heterogeneous computing system in a study by Khan and Sharma 11 and to reduce energy consumption in a study by Feller et al. 12 In this article, we study VM allocation in the cloud computing platform, aiming at multidimensional resource load balancing of all the physical machines (PMs).
However, we encounter many challenges to be addressed when leveraging the ACO technique in VM allocation:
How to customize the parameters in ACO in our problem?
How to overcome premature or slow convergence when using ACO?
How to determine the value of each parameter of ACO in our problem?
To address the first challenge, we first construct a mathematical model to describe the problem where each feasible solution is represented by a matrix. In addition, an index called global load imbalanced degree, namely, imbalance degree (
To address the second challenge, we introduce a concept called PM selection expectation
To address the third challenge, we determined the value of each parameter in ACO through a lot of experiments using the control variate method. Moreover, we also analyze the effect of each parameter. Finally, we compare the improved ACO proposed in this article with basic ACO, greedy algorithm, and other heuristic algorithms such as PSO and SA, which shows that improved algorithm can achieve better performance in terms of load balance and utilization.
Next, we summarize the key contributions of this article as follows:
We design a VM allocation algorithm based on ant colony optimization (VMA-ACO) to achieve load balancing of multidimensional resources in the cloud computing platform.
We introduce the concept of PM selection expectation into the algorithm to overcome the shortcomings of basic ACO.
We conducted extensive comparisons among our algorithm, the basic ACO, greedy algorithm, and other heuristic algorithms to demonstrate the efficiency of our proposed algorithm.
The outline of this article is as follows: section “Modeling and formulation” describes and models the problem and puts forward a method to evaluate each solution of this problem. Section “VM allocation based on ACO” presents our algorithm based on ACO. Our simulation results and analysis are presented in section “Experimental results.” An overview of the related work is presented in section “Related work.” Finally, section “Conclusion” presents the conclusion of this study.
Modeling and formulation
Problem description
A VM is an emulation of a particular computer system. In this article, we focus on system VMs, which provide a complete substitute for the targeted real machine and a level of functionality required for the execution of a complete operating system. A shared PM (or a hypervisor) uses native execution to manage hardware and multiple VMs, isolated from each other, can be executed on this shared PM.
VM allocation in the cloud computing platform can be described as follows: put
Notations.
VM: virtual machine; PM: physical machine.
All of the VMs can be represented by an array
To solve this issue, we need to find a mapping from VMs to PMs. Assuming that
Thus,
Performance metrics
For each feasible solution, we need to evaluate its quality and select the best one as the final solution. Load balancing is an important performance metric that measures the balance among each PM overloaded with computing clouds, tasks, or jobs. Through sharing loads across data center infrastructures, load balancing helps to achieve a proficient performance of the systems.
13
For measuring the load balance of all PMs, we propose the definition of global load imbalance degree
where
And even in Amazon EC2, CPU, memory, and network usage are the important metrics to measure VMs.
18
We take all the metrics into consideration and propose
According to the definition of
VM allocation based on ACO
Beloglazov et al. 19 considered that the VM allocation problem can be seen as a bin packing problem with variable bin sizes and prices. Since bin packing is known to be NP-hard in the strong sense, 20 VM allocation in the cloud computing platform is also NP-hard in the strong sense. To address such issues, heuristic algorithms are commonly used in order to reduce the time complexity. In this study, we employ the ACO to solve such a problem. In addition, we also introduce an improved policy into the algorithm to avoid falling into the local optimal solution or slow convergence. First, we need to introduce the basic ACO technique.
Basic ACO
In the real world, ants can always find the best path from their nest to food when they are foraging. The reason lies in that real ants will release pheromone while they are moving. And the other ants’ action will be affected by the concentration of pheromone. A large number of ants can form a positive feedback during their traveling. Finally, the best path can be selected. Inspired by the real ants’ behavior, ACO is proposed to mimic the behavior of the real ants. 21
Customizing ACO in our problem
In one iteration, each ant starts from a random VM and then allocates a VM to a PM one by one. It takes
where
where
In the real-world applications of VMs, the demands of memory and bandwidth may change over time. To simulate such environment, we assume that such demands satisfy the uniform distribution. Therefore, we can express the interval using
At first, we will select a PM with maximum
When one iteration is completed, we need to update the global pheromone. We can get
where
Before calculating the pheromone, we need to initialize it when the algorithm starts. In this article, we will put
Expectation optimization–based improved policy
In the PM selection policy mentioned above, it always selects a PM with maximum
We can easily control the convergence rate of the algorithm using
The VM allocation algorithm based on ACO with the improved policy can be described in Algorithm 1 and the flowchart is shown in Figure 1.

The flowchart of advanced ACO.
At the beginning of the algorithm, it needs to initialize
Time complexity analysis
The time complexity of initialization is denoted by
Experimental results
Experimental setup
There are serval parameters in this algorithm. In this section, we set the value of each parameter through experiments to achieve better performance. We generate 20 PMs and 100 VMs as the input. Their hardware configurations are shown in Tables 2 and 3. In the experiment, if some VM requests cannot be satisfied, we would reject these requests.
Physical machines.
Virtual machines.
There are five parameters in this algorithm, that is,
Experimental results
Comparison to prior art
In this section, we compare our algorithm VMA-ACO with basic ACO and greedy algorithm to evaluate the effectiveness of the algorithm. We test two kinds of basic ant colony algorithms: one is with
Figure 2 shows the changes of

The changes of
Figure 3 shows the final

The final
Parameter sensitivity
We first test the impact of different combinations of

The impact of
Figure 5 shows the impact of

The impact of
Figure 6 depicts the effect of PM selection expectation

The impact of
To achieve the best performance of the algorithm, after these experiments, we finally set the four parameters with the values shown in Table 4.
Parameter values used in our algorithm.
Comparisons of different algorithms
As mentioned above, we have compared basic ACO with our algorithm VMA-ACO and evaluate the impact of different parameters. In order to verify the effectiveness of the proposed algorithm, we further compared it with two classic algorithms, that is, worst fit (WF) algorithm and best fit (BF) algorithm, and two heuristic algorithms, that is, PSO 16 and improved simulated annealing (ISA) algorithm. 22 The PSO focuses on efficient VM allocation to physical servers in order to minimize the total resource wastage. The ISA focuses on improving resource utilization rate in cloud data center. We use the same input mentioned above. The experimental results are shown as follows:
In this experiment, there are three kinds of intelligent algorithms including VMA-ACO, ISA, and PSO. Therefore, it is necessary to determine the values of parameters of the three algorithms. In VMA-ACO, we use the parameter values shown in Table 4 and VMA-ACO performs best under these conditions. In ISA, we should take four main parameters into consideration including
Figure 7 indicates that VMA-ACO performs best on the objective

The final
Related work
VM allocation is a key problem in the cloud computing platform. It has gained a lot of attention from researchers. VM allocation is an NP-hard problem,23,24 and classic scheduling algorithms like “first-in first-out (FIFO)” and “round robin (RR)” are not efficient in solving such a problem. In order to reduce the time complexity and get an ideal solution, many heuristics are employed, which replace the global optimal solution with the suboptimal solution. Common heuristics include ACO, 7 GA, 8 PSO, 9 and SA 10 algorithms.
For example, S Pandey et al. 25 designed a heuristic method based on PSO for task scheduling in cloud computing, taking into account both computational cost and data transmission cost as the main objectives. S Banerjee et al. 26 designed a modified ant colony framework for diversified service allocation and scheduling mechanisms in the cloud environment, the objective of which is to maximize the scheduling throughput to service all the diversified requests. Heuristics are also used in the studies by Goiri et al., 27 Liu et al., 28 and so on.
Among these heuristics, ACO has many advantages as given below compared with other heuristics. Considering the NP-hard feature in VM allocation and the advantages of ACO, we use ACO to solve the problem in this study.
There is a lot of research on ACO to achieve different goals in cloud computing. For example, K Nishant et al. 29 developed an improved ACO in which local pheromone update policy is used to obtain the target of load balancing. Khan and Sharma 11 put forward an algorithm based on ACO framework to maximize the throughput of heterogeneous computing systems. This algorithm modifies the basic pheromone updating formula and gives better utilization of resources but the computational overhead is high. An algorithm based on ACO is presented in a study by Feller et al. 12 which considers VM allocation as a multidimensional bin packing problem. This approach tries to place all items in the minimum number of bins and reduce energy consumption in cloud computing.
In this article, we mainly focus on the goal of load balancing of multidimensional resource utilization, which is significant for the cloud computing platform to provide service-level agreement (SLA) guarantee of multiple resources. However, premature convergence also exists in ACO like other heuristics, and ACO is sensitive to the initial parameters. These two problems are also resolved in this study by introducing PM selection expectation and setting each parameter carefully by many simulations.
Conclusion
VM allocation is one of the significant challenges in the cloud computing platform. In this article, we focus on how to achieve the goal of load balancing of multi-dimensional resources. Specifically, we first establish a mathematical model for this problem. Based on this model, we then address this problem by leveraging the ACO technique. We also design two strategies to further improve the ACO by proposing the concept of load imbalance degree and introducing PM selection expectation. Simulation experiments show that our proposed ACO-based algorithm can achieve better performance compared to the basic ACO technique and other state-of-the-art algorithms.
Footnotes
Handling Editor: Antonio Puliafito
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was supported by the National Natural Science Foundation of China (U1534201).
