Virtual Machine Replica Placement Using a Multiobjective Genetic Algorithm

,


Introduction
Virtualization is a convenient technology in which physical resources (e.g., CPU, memory, and disk space) can be partitioned over one or more machines through partial or full machine simulation. To maintain availability and increase the performance of VMs, VM replication (VMR) is a technique that duplicates VMs and places replicas in multiple PMs of cloud data centers. If one replica fails, the client's requests will be fulflled by another replica. VM replication increases efciency by distributing incoming requests across VM replicas in various PMs, hence balancing and decreasing PM loads [1]. VM replication has been adopted by well-known data centers, namely, Amazon Simple Storage Service (Amazon S3) and Microsoft Azure.
Tere are several challenges to be considered when addressing the problem of VM replicas' placement. First, multiple duplicates of the same VM should be installed in many PMs (i.e., VM fault-tolerance constraint). Unfortunately, this accelerates the rise in energy usage in cloud data centers [2]. By decreasing the number of active PMs and shutting down inactive PMs, it is possible to save energy and cut emissions. Consequently, minimizing PM energy consumption is crucial for reducing the overall power consumption of a data center [3].
Second, selecting one replica as the primary replica, which is responsible for processing requests from incoming clients and returning responses, in addition to returning responses, it transmits updates to other replicas [4]. Consequently, the geographical distance between VM replicas has a signifcant impact on the performance of applications. Moreover, the distance between VM replicas afects the energy required for data transmission. Te greater the distance between replicas, the more transmission energy is required. Replicas located further from the primary replica will consume more energy than the replicas closer to the primary replica [5].
A third issue with VM replication is that as more VM replicas are built and deployed in cloud data centers, more resources (such as CPUs, RAM, and I/Os) are utilized; however, PMs have a fnite amount of resources. In addition, the diversity of hosted client programs presents additional issues; certain client apps may be memory intensive, while others may be computation-intensive [6]. A fourth issue is connected to the service-level agreement (SLA) [7]. If the service provider fails to provide the required service as outlined in the SLA contract, the client is eligible to receive credits. VM replication is a method for avoiding SLA violations; therefore, it should be considered placing replicas in PMs with the same or comparable performance.
Meta-heuristic algorithms are one of the most efective techniques to overcome the prior obstacles in VM replication placement. Meta-heuristic algorithms have demonstrated countless successes in numerous VM placement studies. Many-objective optimization problems (MaOPs) are optimization problems with more than three objectives [8]. Multiobjective evolutionary algorithms based on decomposition (MOEA/D), particularly the basic NSGA [9] and its modifcations, are commonly used to address these difculties in a wide range of industries. Deb and Jain [10] proposed the NSGA-III algorithm, which uses reference points to replace the NSGA-II-congested distance. Te NSGA-III algorithm outperforms the NSGA-II in terms of performance. In fact, the NSGA-III and MOEA algorithms are widely recognized as the best extant many-objective evolutionary algorithms (MaOPs) [11].
In this context, the discussed four issues of the VM replicas' placement problem motivated this work to frame this problem as an optimization problem. Moreover, another motivation for this work was the minimal amount of research undertaken in this area. Due to the superior performance of multiobjective problems, it is proposed to frame this problem as a multiobjective optimization problem and addressing it with the well-known NSGA-III algorithm. In addition, the proposed method was evaluated utilizing a variety of scenarios, including compute-intensive and memory-intensive contexts for cloud computing. Te following is a summary of the key contributions of this work: (1) To our knowledge, this is the frst work that considers the problem of VMP with VM replication with the aim of minimizing three objectives, namely, (1) power consumption, (2) performance degrading due to switching to a replica with specifcation lower than the user's needs, and (3) distance between VM replicas. (2) Te NSGA-III method was adapted to address the problem at hand with a proposed method for repairing infeasible solutions. (3) Datasets were suggested to evaluate the proposed work with diferent scenarios. (4) Te obtained results show that the proposed adapted NSGA-III method outperformed the other methods of comparison by a huge margin. Of note, reducing the number of replicas causing performance degrading was the most improved objective, as the improvement is an order of magnitude.
Te rest of the paper is organized as follows. Section 2 discussed the related work. Section 3 explains in detail the problem. Section 4 presents a methodology of the problem. Evaluation of the proposed algorithm is presented in Section 5. Finally, the paper is concluded in Section 6.

Related Work
Multiple objectives have been examined in relation to the VMP optimization problem. VMP's primary objective is to minimize power consumption, which is a well-studied problem. Other objectives, such as fault tolerance, SLA violations, and distance awareness between VMs, have received less research efort.
Multiple approaches have been developed to solve the VMP optimization problem. Al-Moalmi et al. [12] proposed a computational intelligence method to reduce the number of active hosts and energy consumption. Mirjalili et al. introduced GWO-VMP with grey wolf optimization (GWO) for reducing the number of active physical machines that are used to host a set of VMs. Alharbi et al. [13] Parvizi and Rezvani [14] developed a multiobjective virtual machine placement (MO-VMP) problem in order to reduce power consumption, the number of active PMs, and total resource wastage. Te problem is presented as a nonlinear convex optimization problem. Ten, NSGA-III is applied to minimize the MO-VMP time complexity. Tarahomi et al. [15] proposed a microgenetic algorithm to reduce energy consumption, VM migration, SLA violation, and the number of server shut down. Abbasi-khazaei and Rezvani [16] designed a multiobjective VM placement that aims to reduce the energy cost and the cost of producing carbon dioxide.
Alresheedi et al. [17] proposed an alternative multiobjective optimization (MOP) technique that combines the salp swarm and sine-cosine algorithms (MOSSASCA) for selecting a suitable virtual machine placement solution. MOSSASCA aims to increase the mean time before a host shutdown, reduce power consumption, and eliminate service-level agreement breaches. Using a MOP technique, the proposed approach improves the salp swarm algorithm (SSA) and sine-cosine algorithm (SCA). Utilizing a local search approach, the SCA enhances the performance of the traditional SSA by preventing trapping in a local optimal solution and accelerating convergence. Zhang et al. [18] proposed an approach based on a heuristic ant colony technique. Multiple factors, including the service-level agreement violation rate, resource remaining rate, power consumption rate, failure rate, and fault tolerance cost, are used to construct a model for the initial fault-tolerant placement of VMs in cloud systems' star-topological data centers.
Sharma et al. [19] proposed an energy-efcient approach for VM consolidation. It considers the reliability factor before combining the running VMs to conserve energy in a cloud computing environment prone to failure. Fault tolerance is achieved through the use of both reactive (checkpointing) and proactive (VM migration) techniques. Te activation of fault tolerance systems relies on failure prediction based on time series analysis.
Khani et al. [20] aimed to reduce total power usage in data centers by studying the virtual machine replication (VMR) problem. It replicates R copies of each VM and places them on separate PMs in the data centers to ensure that each VM is accessible in the event of a server failure, where R is tuned by the probability of server failure. Te authors show that VMR is the same as the least cost fow issue; thus, it can be solved quickly and efectively. Te solution can further minimize data center power usage by unifying PMs that hold VM clones and shutting of inactive machines.
Gonzalez and Tang [2] proposed a new fault-tolerant VM placement problem (FT-VMP) to arrange the required number of VM replica copies in cloud data centers. Te proposed technique aims to lower the total number of active PMs while meeting VM fault tolerance, VM compatibility with PMs, and PM resource capacity restrictions. Yao et al. [21] proposed a network-aware VM allocation algorithm based on the maximum clique algorithm (MCNVMA) for VMs in the cloud data center. In MCNVMA, each VM can have its unique confguration requirements. In addition, the cost of communication between VMs, which can be gathered, is a necessity. Tis algorithm searches for solutions that fulfll the user's requirements and provide a short communication path across VMs. According to test fndings, the proposed algorithm lowers the cost of communication between VMs, especially in big data centers.
As listed in Table 1, the work proposed in [21] is the only proposed study that takes into account the distance between VMs during the placement procedure. However, energy conservation, fault tolerance, and SLA violation are not considered objectives by the authors. Te last row of Table 1 shows the proposed work to bridge the gap of combining the mentioned three objectives as a multiobjective problem.
Ten, this optimization problem is proposed to be addressed using the adapted NSGA-III algorithm.

Problem Definition
Virtualization is an important technology that supports cloud computing and ofers signifcant benefts from PM consolidation. A single PM may host several VMs, each operating independently. VMP aims to reduce cloud computing operating costs and make better use of PMs' resources. VMP maximizes resource utilization by grouping VMs into one or more PMs. It aims to reduce the power usage of the cloud data center. In addition, VMP ofers VM replication for fault tolerance and to prevent SLA violations. In this paper, a VMP strategy is proposed to reduce (1) power consumption, (2) performance degradation due to switching to a replica, and (3) the distance between VM replicas. Te list of symbols is listed in Table 2.
Tis paper considers the initial placement or static VM placement algorithms. It submits several VMs M and their replicas R, which are predefned, to a set of fully empty PMs P, where P i represents the i th PM, i ∈ [1, N], and P i ∈ P. Similarly, V is a collection of VMs, where V k j represents the j th VM and its k th replica, j ∈ [1, M], and k ∈ [0, R], if k � 0; it then becomes the primary VM. In addition, an assumption is made that the most important resource requirements of PMs are the CPU, clock rate, and main memory resources. Minimizing the performance degrading objective is significant for avoiding SLA violations. Te CPU and memory requirements of PM i are presented as P cpui and P rami , respectively. Likewise, the requirement of CPU and memory of V k j is presented as V k cpuj and V k ramj , respectively. Table 1 summarizes the key parameters and variables used in the proposed model.
Te proposed model has four constraints and three objectives. Te frst constraint is the OS constraint, which requires matching the VM requirements of the host OS with the host PM OS when placing a VM in a PM. Te same approach proposed in [22] has been utilized in resolving this issue. It reduces the search space by treating VMs with comparable OS needs as a separate issue. Te cloud provider intuitively knows the ratio of VMs based on their OS needs. By this ratio, the cloud provider distributes the PMs among the VMs.
Te second constraint is CPU constraint (equation (1)), which ensures that the total consumed capacity of a set of VMs does not exceed the CPU capacity of the host's CPU P cpuCapacity i .
where V k cpuj is the CPU capacity of V k j . Te third constraint is the RAM constraint (equation (2)); it ensures that the total consumed capacity of a set of VMs does not exceed the RAM capacity of the host's RAM P ramCapacity i .         International Journal of Intelligent Systems

International Journal of Intelligent Systems
where V k ramj is the RAM capacity of V k j . Te last constraint (equations (3) and (4)) restricts the placement of the VM and its replicas on the same PM.
where a and b are integer numbers ∈[0, M] and c and d are integer numbers ∈[0, R].
Te main objectives of the proposed model are to minimize the number of PMs (power consumption) f(e) (equation (5)), the distance between the VM and its replicas f(d) (equation (6)), and the performance degradation caused by the PM hosting the replica having lower capabilities (e.g., a lower core speed) f(c) (equation (7)). In this model, it is assumed that the three objectives are of same importance. Tus, the weights of all objectives should be equal.

The Proposed NSGA-III Method
In this paper, the NSGA-III method was utilized to solve the multiobjective optimization problem (equations (5), (6), and (7)). Te implementation details of NSGA-III are explained in [23]. Te NSGA-III algorithm is similar to other genetic algorithms in that it employs sampling, crossover, and mutation processes. In this context, it is proposed using random integer sampling, half uniform crossover, and polynomial mutation techniques for these operations [24].

Solution Construction.
Te initial solutions of the NSGA-III are generated at random. Each solution is represented as a one-dimensional array with a length of T,  Figure 1 illustrates an example of three solutions, where 7 VMs are assigned to 4 PMs. Tree out of seven VMs are replicas (R � 3); V 4 and V 5 are replicas of V 1 and V 6 is the only replica of V 3 . V 0 and V 2 have no replicas. Te frst solution S1 is an infeasible solution since the VM 1 and its replica VM 5 are placed on the same PM, i.e., PM 1 . Te second solution S2 is a feasible solution for the reason that it meets all the proposed constraints (e.g., RAM, CPU, and replication constraints). However, it is not a recommended solution, as it does not minimize the problem objectives (i.e., f(e), f(d), and f(c)). Te third solution S3 is an optimal solution due to the fact that it produces the minimum f(e), f(d), and f(c) values. In the next subsection, it will be explained how f(e), f(d), and f(c) are calculated in detail. Figure 2, the model parameters are initially assigned (e.g., the number of generations gen and the population size pop). Te NSGA-III algorithm then generates solutions at random, which may or may not be feasible. All infeasible solutions should be modifed to meet the problem's constraints. After that, for all feasible solutions, the ftness or objective functions are evaluated to determine the best solution S b . When the model generates the gen generations, the best solution S b is returned.

Population Updating and Repairing. As depicted in
Algorithm 1 converts an infeasible solution into a feasible solution through the following steps: First, it fnds the VM that has been incorrectly allocated to the PM, and then it unassigned the VM to the PM. Second, it allocates the unassigned VM into a valid PM. Notably, there are two cases for VMs: (1) a VM with replica(s) and (2) a VM without replica(s). In the frst case, when the VM has replicas, it is placed in the valid PM that has the minimum distance from its replica. In the second case, when the VM has no replica, the proposed algorithm selects a valid PM that has the highest core capacity.
After correcting the infeasible solutions, the objective functions are computed to select the optimal solutions S. Te optimal solutions are chosen by minimizing the number of PMs, the distance between the VM and its replica, and the degradation of SLA. Algorithm 2 evaluates the frst objective by counting the number of unique PMs in solution S. For example, the number of distinct PMs of S1 is 4 (0, 1, 2, and 3), S2 is 4 (0, 1, 2, and 3), and S3 is 3 (3, 0, and 2), as depicted in Figure 1.
Te second objective is evaluated by Algorithm 3, which calculates the total distance between the primary VM host and its replica host. For example, the total distance between the primary VM host and the replicas (host) of S2 is 38 (Figure 1), which is equivalent to the sum of the following distances (10, 8, and 20). Te value 10 is the distance between P 1 and P 0 , which are the hosts of V 1 and its replica host V 4 .
Te value 8 is the distance between P 1 and P 2 , which are the hosts of V 1 and its replica host V 5 . Te value 20 is the distance between P 3 and P 1 , which are the hosts of V 3 and its replica host V 6 .
Te third objective is evaluated by Algorithm 4, which counts the number of times the performance can potentially degrade. Tis may occur if the PM hosting the replica has lower capabilities (e.g., slower core speed) than the PM hosting the primary VM. For example, the degrading performance of S2 is 1 because the core speed of P 0 which is the V 4 host is higher than P 1 which is the V 1 host (Figure 1). While the degrading performance of S3 is 0; this is because all of the hosts of the primary VMs have lower core speeds than the hosts of their replicas.

Dataset.
To validate the proposed model, a dataset has been compiled containing the capabilities of PMs, VMs, the VMs map, and the distance between PMs. PMs' specifcations dataset is generated as follows: First, realistic PMs' specifcations were collected (e.g., RAM, CPU, and clock rate). For example, PM 0 has 1 TB RAM, 28 cores CPU, and 2.5 GHz clock rate ( Figure 1). Each collection of RAM, CPU, and clock rate specifcations is known as a PM's category or type. For instance, 1 TB RAM, 28 cores CPU, and 2.5 GHz clock rate represents PM type 1. Second, the percentage k of each type in the dataset was detected. If the dataset has four types, then one possible combination of these four types is as follows, k 1 � 30%, k 2 � 20%, k 3 � 40%, and k 4 � 10% of N. Tird, each type k was repeated a number of times in the PM dataset. Fourth, the PMs were randomly rearranged and the consecutive PMs are not necessarily of the same PM type. Tese steps are used to generate VMs' specifcation datasets as well.
In the dataset, the distances between PMs are generated randomly as well. For example, in Figure 1, the distance matrix consists of N rows and N columns. Te distance between PM and itself is zero; in other words, the matrix diagonal has only zeros. Te distance between P 0 and P 1 is the same as the distance between P 1 and P 0 . Te mapping matrix represents the replica of a specifc VM. For example, in Figure 1, V 4 and V 5 are replicas of V 1 . Te number of replicas for each VM (e.g., 0, 1, or 2) is selected randomly.  × r). Similarly, the third objective is evaluated by Algorithm 4 that calculates the total performance degrading between the primary VM host and its replica host r; thus, its time complexity is O(M × r).

Setup.
Six experiments were applied to measure the performance of the model. Te proposed optimization model NSGA-III was implemented and other metaheuristic models such as MOEA/D and particle swarm optimization (PSO) using the pymoo [25] library in Python. Te NSGA-III default values of the pymoo library were used for this reasoning. One of these values is the scale factor or mutation parameter; this parameter range is (0, 2]. Te higher values of this parameter increase exploration and the lower values increase the exploitation. Te default value of the mutation parameter balances exploration and exploitation. Te experiments were conducted on a PC with Intel (R) Core(TM) i7-4770S CPU @ 3.10 GHz Ram 8.00 GB. Te adaptive NSGA-III algorithm was compared to the PSO [26], MOEA/D [27], frst-ft, next-ft, and best-ft [28]. Te best algorithm of those aforementioned algorithms is selected based on the following equation: where weight w � 0.33. Each of the three objectives has the same weight (i.e., one-third). As the frst objective, f(e) is four orders of magnitude, the second objective is fve orders of magnitude, and the third objective is three orders of magnitude; we unifed the value of each objective to only two orders of magnitude in equation (8). Te used weights for the three objectives are the same to indicate equal importance of the three objectives.

Heterogeneous Environment.
In this experiment, the efciency of the model in heterogeneous VM and PM environments was examined. Five diferent types of VMs and PMs are used to evaluate the proposed model and discover the best solution.

International Journal of Intelligent Systems
PMs of equation (5), distance between PMs hosting the replicas of equation (6), and performance degrading of equation (7)) in bold. As shown in Table 4, the NSGA-III algorithm yields the highest performance with the lowest ftness values. Te NSGA-III algorithm's score is lower than those of other algorithms by 43.66%, 52.71%, 50.81%, 46.32%, and 12.10% for frst-ft, next-ft, best-ft, PSO, and MOEA/D, respectively. Te NSGA-III algorithm achieves the lowest possible level for the number of PMs and performance degrading. Best-ft achieves the minimum distance since it selects the hosted PM based on distance. First-ft and next-ft perform the worst in comparison to the other algorithms. Tis can be linked to the fact that the frst-ft heuristics searches the frst n valid PMs to host VMs while next-ft searches valid PMs sequentially. Notably, NSGA-III and MOEA/D performed similarly in lowering the distance between replicas and the number of PMs, while the NSGA-III algorithm signifcantly outperformed MOEA/D in reducing the performance degrading PMs (i.e., clock rate). Specifcally, Table 4 demonstrates that NSGA-III reduced performance degradation by almost 600% compared to the MOEA/D technique. As this experiment was repeated several times, the reported results are the mean and mean plus and minus the standard deviation of the NSGA-III improvement over the closest algorithm MOEA/D. To test the confdence interval (CI) of the reported mean of improvement of the NSGA-III over the MOEA/D, the confdence interval analysis was conducted on the obtained results. Te CI analysis shows that the reported mean of improvement of the NSGA-III over the MOEA/D has 15.1% with ± 0.6% error margin and 95% confdence interval. Te obtained solutions are following the constraints in equations (1) to (3).

Memory Intensive in Heterogeneous Environments.
Te efciency of the proposed model was evaluated with more complicated scenarios using memory-intensive requirements. Table 5 lists the VMs' and PMs' specifcations, where M equals 7,500, N equals 4,000, and R represents 25% of M. NSGA-III, MOEA/D, and PSO parameters are pop � 50 and gen � 10, 000. Table 6 shows the experimental results of the proposed model in the memory-intensive heterogeneous environment relative to other algorithms. Te bold results represent the best outcomes for the three objective functions. Te obtained solutions are following the constraints in equations (1) to (3). Te NSGA-III algorithm successful achieved the lowest (i.e., the best) ftness values, as shown in Figure 3. An observation was made that there is a performance gap between the NSGA-III algorithm on one side and the other algorithms. For instance, the results of the NSGA-III's ftness values for 4,000 generations and population size of 25 are lower than those of the other algorithms by 58.29%, 62.65%, 62.55%, 55.70%, and 31.02% for frst-ft, next-ft, best-ft, PSO, and MOEA/D, respectively. As the search space increases, the performance gap between the NSGA-III algorithm on one side and the MOEA/D and PSO algorithms on the other side continues to increase. Te search space increases by increasing the number of generations and population size. Tus, the performance gaps

10
International Journal of Intelligent Systems between the NSGA-III algorithm with 5,000 and 10,000 generations relative to other algorithms are greater than the performance gap of the NSGA-III algorithm with 4,000 generations. Table 6 shows that the NSGA-III algorithm, with 10,000 generations, reduced performance degrading, and reduced the number of PMs by about 1,600% and 7%, respectively, in comparison with the MOEA/D algorithm. A conclusion can be drawn that other algorithms are infuenced by the memory-intensive requirements, which resulted in more PMs being utilized to host these VMs. Increasing the number of VMs leads to increasing the distance objective as well.

Compute Intensive in Heterogeneous Environments.
In this experiment, the efciency of the proposed model was examined in a compute-intensive heterogeneous VM and PM setting utilizing fve diferent types of VMs and PMs. Te specifcations for heterogeneous VMs and PMs are detailed in Table 7, where M equals 6,000, N equals 4,000, and R represents 25% of M. Te parameters for NSGA-III and PSO are pop � 50 and gen � 10, 000. Te results of all algorithms for the compute-intensive experiments are depicted in Table 8. Te results demonstrate that the NSGA-III algorithm outperforms the other algorithms, as shown in Figure 4. When comparing the ftness values of the NSGA-III algorithm to that of the other algorithms, there is a signifcant   diference. It is lower than other algorithms by 55.26%, 58.43%, 56.07%, 47.33%, and 23.94% for frst-ft, next-ft, best-ft, PSO, and MOEA/D, respectively. Te NSGA-III algorithm generated the smallest number of PMs and performance degrading. Tis indicates that NSGA-III performs well in a compute-intensive context.

Proposed Method's Performance Analysis.
In this experiment, we demonstrate how changing the population size afects the outcome. Furthermore, the utilized NSGA-III algorithm's behavior is investigated as the number of generation increases. In Figure 5, the number of PMs, distance, number of replicas causing performance degrading, and ftness values are plotted against the number of population pop for diferent generation gen values, gen equals 1,000, 2,000, and 3,000. As can be seen, the lowest ftness value is 17.66. Tis value is achieved by the highest pop and gen values, where pop � 50 and gen � 3, 000. In general, the higher the pop and gen values, the lower the distance, number of PMs, and performance degrading. Tis is logical because when the numbers of pop and gen increase, the NSGA-III algorithm takes more time to search for the best solution with the highest performance (i.e., the larger the search space).

Heterogeneous Environment with Diferent SLA Scenarios.
Allocating VM replicas to a PM with fewer hardware requirements relative to PM hosting the primary replica may lead to an increase in the SLA violation due to performance degrading. Terefore, the VM replica should be allocated to   a PM with at least the same hardware specifcation as the PM hosting the primary replica. In this experiment, two SLA scenarios were compared. Scenario 1 acts as Algorithm 4 where the VM replicas are allocated on PM with at least the same hardware specifcation as the PM hosting the primary replica while in scenario 2, the VM replicas allocated to PMs have the s same hardware specifcation as the PM hosting the primary replica. Five diferent types of VMs and PMs are used to evaluate the proposed model and to discover the best scenario. Table 3 lists the heterogeneous VMs' and PMs' specifcations, where M equals 7,500, N equals 4,000, and R represents 25% of M. Te NSGA-III algorithm's parameters are pop � 50 and gen equals (e.g., 2,000, 4,000, 6,000, 8,000, and 10,000). As shown in Figure 6, scenario 1 is superior to scenario 2 in terms of performance degrading and ftness values. Tis is logical, as increasing the search space leads to enhancing the NSGA-III algorithm's performance.

Statistical Analysis.
In this experiment, analysis of variance (ANOVA) is applied in order to compare the means of six groups (e.g., frst-ft, next-ft, best-ft, PSO, NSGA-III, and MOEA/D results). Tese groups were compared in terms of the three objectives (e.g., f(e), f(c), and f(d)) and ftness values. Te results of the ANOVA test are shown in Table 9. Te following are the H 0 and H 1 hypotheses for the ANOVA test: H 0 : for each group, the means are the same. H 1 : in the two groups, there are diferences in the mean.
To examine the confdence level of the reported results, 95% of the confdence interval was utilized. Terefore, the hypothesis H 0 is accepted if the signifcance parameter (abbreviated sig.) or p value is greater than 0.05. Table 9 shows that the sig. value for objective function, f(d), is more than 0.05. Terefore, for the distance objective, the hypothesis H 0 is accepted. Tis indicates that, with a 95% confdence interval, the average distance between VM and its    replica for each of the six algorithms (i.e., frst-ft, next-ft, best-ft, PSO, NSGA-III, and MOEA/D results) are almost similar.
In addition, as listed in Table 9, the sig. value for the objective functions f(e), f(c), and ftness values f is less than 0.05. Terefore, hypothesis H 0 is rejected for the number of PMs, performance degrading, and ftness values. Tis indicates that there is a diference in the mean of the two algorithms at least for f(e), f(c), and f. However, the ANOVA test gives no indication of the mean value for any method. Tus, a post hoc Fisher's least signifcant diference (LSD) analysis was applied. LSD can be used to determine whether group means are diferent from one another. Table 10 lists the LSD multiple comparisons for f(e), f(e), and f. Notably, the focus was mainly placed on the NSGA-III algorithm, as it outperformed other algorithms in the previous experiment. Te results clearly show that for f(c), the NSGA-III algorithm's mean is closer to the MOEA/D and frst-ft algorithms than that of the other algorithms. Tis demonstrates how the NSGA-III algorithm is superior to the next-ft, best-ft, and PSO methods on f(e). For f(c) and f, the NSGA-III algorithm is superior to the frst-ft, next-ft, best-ft, PSO, and MOEA/D methods.

Conclusions
In this work, it was proposed to address the problem of VMP in the context of VM replication. Proposing to utilize the NSGA-III algorithm to confront this problem, the VMP was addressed as a multiobjective optimization problem. Construction solutions were proposed to ft the NSGA-III method. In addition, a repair algorithm to restore the infeasible solutions generated by the utilized methods was suggested. Subsequently, a set of datasets with diferent requirements in terms of memory and computing was proposed. Tese datasets cover diferent scenarios such as heterogeneous PMs and VMs, compute-intensive environment, and memory-intensive environment. Te proposed method is examined on these datasets, and their performance is compared against both heuristic and metaheuristic methods (e.g., MOEA/D and PSO). Te experimental results show a superior performance of the adapted NSGA-III method where the performance gap was in the range of 23% to 62% relative to the other methods of comparison. Te utilized NSGA-III massively outperformed the MOEA/D algorithm in reducing the performance degrading, and NSGA-III outperformed MOEA/D for the overall performance as well.
Te future directions are two-fold. First, the proposed model will include additional objectives such as application awareness to consider placing the VM according to the match between its running application(s) and the PM's specifcations. Second, the problem solution can be explored using a reinforcement learning model and then compared to the proposed GA-based method.

Data Availability
Te datasets generated during the current study are available from the corresponding author upon reasonable request.

Conflicts of Interest
Te authors declare that they have no conficts of interest.