2. Related Works
VMP is a research problem with various optimization objectives and has garnered significant attention in both industrial and academic fields. Numerous optimization algorithms have been developed to address this problem, aiming to find effective solutions. The following provides an overview of relevant research achievements in this field.
High-level comprehensive surveys on VMP problems have been discussed in [
2,
7]. The research conducted by Alashaikh et al. [
2] emphasized the pivotal role of preferences in VMP decisions. They demonstrated how preferences influence the solutions to the VMP problem by conducting a detailed analysis of the specific applications of preferences in various scenarios, such as considering communication costs between VMs, resource utilization, and the specific needs of users or administrators. Study [
7] conducted a comprehensive review and in-depth exploration of optimization methods for VMP and migration. This work encompassed approaches based on various optimization objectives such as cost, QoS, and energy efficiency, and discussed VMs management strategies in distributed and decentralized architectures.
Study [
15] addressed the issues of task scheduling and load balancing in cloud computing by proposing two hybrid scheduling strategies based on genetic algorithms, one combining the genetic algorithm with First-Come-First-Serve, and the other with Round Robin. By integrating classical scheduling policies, the proposed approach enhances the quality of the initial population and accelerates the convergence of the genetic algorithm. Using real-world asymmetric workload traces, simulation experiments demonstrated the superiority of the proposed methods in terms of scheduling efficiency, resource utilization, and system throughput.
The work of [
16] emphasized load balancing within cloud data centers, aiming to evenly allocate tasks and resources across all PMs to prevent any node from becoming overloaded or underutilized. It solved the problem of insufficient efficiency in reducing response time, energy consumption, and execution cost in existing load-balancing methods. This study proposed a load balancing model and used a hybrid optimization algorithm to solve it.
Study [
17] primarily focused on the issue of energy consumption optimization in VM allocation within cloud data centers, particularly addressing the demands of Internet of Things (IoT) applications. It proposed a novel framework called AFED-EF, which classifies servers into five types by setting four thresholds and dynamically adjusts VM allocation and migration strategies based on these categories, aiming to jointly tackle the challenges of load fluctuations in VM configurations and enhance energy efficiency.
In their latest study [
18], Hasanein D. Rjeib and Gabor Kecskemeti focused on optimizing energy consumption and minimizing resource wastage through reducing active PMs. They proposed models for energy consumption and resource wastage, defining PM energy usage as linearly proportional to CPU utilization. Additionally, they quantified the potential cost of unused resources within the servers and defined SLA violations as instances where the host fails to provide services to VMs during specific resource-request periods.
The research in [
19] modeled the VMP problem as a multi-dimensional bin-packing task. Considering resources like CPU, memory, and disk, it designed a novel fitness function to optimize load balancing, resource utilization, and active PMs. The constraint of this problem ensures that the resource demands of VMs assigned to each PM remain within the PM’s capacity limits.
The study in [
20] addressed the VMP problems by formulating a multi-objective VMP model aimed at minimizing energy consumption while maximizing load balancing, resource utilization, and robustness. To tackle these challenges, the study proposed an improved algorithm named energy-efficient KnEA, which builds on the Knee point-driven evolutionary algorithm (KnEA) and incorporates a population initialization strategy focused on energy efficiency.
Ma et al. [
21] proposed a PSO-based algorithm for joint network selection and service deployment, called PSO-JNSSP. In this algorithm, the network selection and service deployment of each particle are treated as potential solutions, and the speed and position of the particles are iteratively updated to converge to the optimal solution. Firstly, this study addressed the contradiction between the continuous updates of particle positions and the discrete nature of base station locations by introducing a transition probability mechanism, where a transition probability is defined based on the distance between the particle’s calculated continuous pseudo-position and each base station as well as the current queue length of each base station, comprehensively considering both distance and load. Secondly, the fitness function was also improved by not simply optimizing delay or energy consumption alone but by combining both through weighted summation, allowing particles to balance task execution delay and energy consumption during the search process.
Study [
22] proposed an innovative algorithm based on Quantum PSO to optimize service placement. The goal was to achieve optimal service placement while improving system throughput, energy consumption, delay, and load. Specifically, this paper improved particle representation by introducing the concept of quantum particles where each particle can represent multiple potential solutions simultaneously through quantum superposition, thereby enhancing the coverage of the search space. This paper also designed a double hashing technique to ensure that the encoding observed from the quantum state can be uniformly and effectively mapped to the actual edge node identifiers.
In [
23], the service placement problem for IoT applications on fog resources was formulated as an optimization problem, with a hierarchical structure consisting of fog cells and fog orchestration control nodes. Additionally, the study introduced a heuristic approach based on the genetic algorithm (GA) to address the service deployment problem, and it evaluated the performance of the GA, the exact optimization method, and the greedy algorithm on the service deployment problem.
Study [
24] proposed an Availability-aware Virtual Cluster Allocation algorithm based on Biogeography-based Optimization. In this study, the calculation methods for risk cost and total bandwidth usage were defined, and a joint optimization function was constructed for evaluating the performance of various virtual cluster allocation schemes.
Unlike previous works, we aimed to achieve the joint optimization of energy consumption, resource utilization, load balancing, and robustness in the VMP problem, addressing the limitations of most existing research that considers fewer than three objectives, which is often insufficient for many practical applications. Moreover, we improved existing models and used real-world test data as much as possible to ensure that the experimental results are more applicable to real scenarios. In terms of algorithm design, the proposed EA-CPSO algorithm effectively handles constrained multi-objective optimization problems and enhances population optimization through energy-aware Cauchy mutation.
4. Algorithm
In this section, we propose an improved algorithm based on PSO, namely EA-CPSO. The improvements focus on two aspects. Firstly, an efficient particle encoding method is designed based on the characteristics of the VMP problem. Secondly, an energy-saving-oriented particle mutation and population iteration strategy is proposed.
Table 2 complements related notations about the algorithm description:
4.1. Particle Swarm Optimization
Particle swarm optimization (PSO) [
21] is a swarm intelligence-based optimization algorithm, which simulates the behavior of biological organisms in nature that collaborate within a group to locate food. Each particle’s position represents a solution, and its velocity determines its direction and speed of movement within the search space. The particles iteratively adjust their velocities and positions to seek out more optimal solutions. At the
k iteration, the velocity of particle
i is given by
and the position is denoted by
. The position update is formulated as shown in Formula (
30), while the velocity update is given by Formula (
31):
where
is the position of particle
i of the
iteration, and where
is the velocity of particle
i of the
iteration. is a local optimal solution;
represents the individual historical optimal solution of particle
i up to the
k iteration, while
represents the global optimal solution of the population up to the
k iteration;
represents the individual cognitive factor, while
represents the social cognitive factor;
,
represent random variables that lie in
. Specifically,
is the inertia weight used to control the detection capabilities of the algorithm. The expression for
is shown in Formula (
32). Here,
denotes the maximum inertia weight,
represents the minimum inertia weight, and
K signifies the maximum number of iterations.
Given the importance of the inertia weight, we aim for particles to exhibit differentiated search characteristics at various stages of the algorithm. Therefore, we employ a linearly decreasing inertia weight throughout the iterations. Specifically, as the number of iterations increases, gradually decreases. This design allows the population to maintain strong global exploration capabilities during the initial stages, which helps it to avoid becoming trapped in the local optimal. In the later stages of iterations, the particles’ local exploitation abilities are enhanced, facilitating more refined searches and thereby improving the convergence rate of the algorithm.
4.2. Cauchy Mutation
It is difficult to solve complex optimization problems effectively using standard PSO algorithms. To overcome this limitation, many researchers have incorporated mutation strategies into the standard PSO [
21,
22], with Gaussian and Cauchy mutations being the primary mutation operators introduced.
Figure 2 illustrates the comparison between Gaussian and Cauchy density functions [
32]. It can be observed that the Gaussian distribution exhibits a characteristic bell-shaped curve with a narrow peak and rapid decay. In contrast, although the Cauchy distribution also has a high peak near the center, its tails decay more slowly, resulting in a broader distribution range. More importantly, whereas the Gaussian distribution introduces symmetric disturbances, the Cauchy distribution introduces asymmetric disturbances through its long tail, thereby increasing the probability of particles undergoing asymmetric transitions. Consequently, particles mutated with the Cauchy distribution possess stronger exploration capabilities.
We propose the EA-CPSO algorithm, which applies the Cauchy mutation to selected particles with a certain probability
p. This approach aims to enhance the diversity of the swarm and reduce the risk of premature convergence to the local optimal. The Cauchy mutation process for
is implemented as follows:
where
is the tunable weight and
is a random value between 0 and 1.
represents a random perturbation value drawn from a standard Cauchy distribution with a location parameter of 0 and a scale parameter of 1; while max and min signify the upper and lower bounds, respectively, for the particle position variable.
4.3. Implementation Scheme of EA-CPSO Algorithm
In
Section 3, the objective of the VMP optimization is identifying an optimized placement solution
S. Consequently, each particle retains a set of solutions during each iteration, and VMP subsequently determines the optimal mapping of VMs to PMs through comparison. Furthermore, in practical scenarios, cloud service providers offer a limited number of VM types [
10]. Inspired by this, the particle encoding proposed in this chapter solely considers the mapping of VM types (rather than VM instances) to PMs. The VM scheduling sequence is illustrated in
Figure 3. In the figure, each black rectangle within the solid box on the left represents a PM, while each white rectangle within the dashed box on the right represents a VM. The number in the bottom-right corner of each rectangle indicates the ID of the corresponding PM or VM. The arrows in the figure represent the mapping relationships between VMs and PMs. Taking the topmost arrow as an example, the PM with ID 1 is associated with VMs with ID 3 and ID 5, meaning that VMs
and
are allocated to
:
Figure 4 illustrates the search mechanism of the PSO algorithm. Each particle represents a potential solution, and its movement is guided by both its own search history and the collective experience of the swarm. The position of a particle is updated according to three components: the inertia component, which maintains its previous motion direction; the cognitive component, which drives it toward its personal best position; and the social component, which directs it toward the global best position. By combining these three driving forces, particles achieve a balance between exploration and exploitation within the search space, continuously updating their positions based on individual and global experiences and gradually approaching the optimal solution.
As shown in Algorithm 1, we present the implementation scheme of the VMP approach using EA-CPSO. Lines 1 to 2 are initialization; we define K as the maximum number of iterations, and we define I as the number of particles; then, the optimization loop begins. During iteration, the velocity and position of each particle are updated based on its and values. Particles are sorted according to their fitness, and a subset is selected for Cauchy mutation, aiming to enhance diversity and avoid getting trapped in the local optimal. After each iteration, the global optimal solution is updated, and, ultimately, the algorithm returns the optimal position and fitness value.
Algorithm 2 elaborates on the VM allocation process within Algorithm 1. For each particle in Algorithm 1, Algorithm 2 handles the assignment of VMs to PMs by evaluating available resources and updating the allocation scheme. Specifically, for each VM, it checks if a PM has sufficient resources; if not, it performs a linear search for a suitable PM and assigns the VM accordingly. Essentially, Algorithm 2 serves as the resource allocation mechanism invoked by Algorithm 1 for each particle, ensuring feasible and optimized VM-to-PM allocation within the EA-CPSO framework.
Algorithm 1 VMP approach with EA-CPSO |
- 1:
Initialize particles with random X and V - 2:
Initialize F, , , and other parameters - 3:
for to K do - 4:
for to I do - 5:
Update based on pbest and gbest by the Formula ( 31) - 6:
Update based on the by the Formula ( 30) - 7:
Compute of particle by Formulas ( 24) and ( 29) - 8:
if then - 9:
Set to a copy of - 10:
end if - 11:
end for - 12:
Sort particles by F, select particles with probability p - 13:
for each selected particle do - 14:
Apply Cauchy mutation by Formulas ( 33)–( 35) - 15:
update X - 16:
end for - 17:
update - 18:
end for - 19:
return gbest and F(gbest)
|
Algorithm 2 VM allocation |
- 1:
Initialize PMs and V - 2:
Initialize particles, scheme S, and other parameters - 3:
for each particle do - 4:
update S based on available resources by Formulas ( 1) and ( 4) - 5:
for each VM in VMs do - 6:
if PM resources are insufficient then - 7:
perform linear search for an available PM - 8:
end if - 9:
Assign VM to PM - 10:
end for - 11:
end for - 12:
return S
|
6. Conclusions
In this paper, we focused on the VMP problem in data centers and proposed a multi-objective placement model that comprehensively considers energy consumption, resource utilization, load balancing, and robustness. Based on this model, a joint optimization objective function was constructed, and a population-based heuristic algorithm, EA-CPSO, was developed to efficiently address the problem. By incorporating an energy-aware Cauchy mutation strategy, EA-CPSO significantly enhances the global search capability of the population. Subsequently, EA-CPSO was compared with existing algorithms, and our experimental results demonstrate that it outperforms other methods, achieving better trade-offs among all optimization objectives.
EA-CPSO achieves a dynamic balance between exploration and exploitation within the search space by integrating the inertia component, the cognitive component, and the social component, while introducing a mutation mechanism. This makes it suitable for solving complex problems such as multi-objective optimization and constrained optimization. The mutation mechanism leverages the heavy-tailed property of the Cauchy distribution, enabling particles to perform large-scale jumps with a higher probability and thereby enhancing the global search capability. The elite solution preservation mechanism ensures that the best solutions in each generation are retained, improving the overall optimization performance. However, EA-CPSO exhibits sensitivity to parameter settings in practical applications. To address this issue, future research will consider incorporating an adaptive parameter control mechanism to further enhance the robustness and optimization performance of EA-CPSO across different application scenarios.