# A Genetic Algorithm-Based Virtual Machine Allocation Policy for Load Balancing Using Actual Asymmetric Workload Traces

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Introduction

_{2}emissions. Better load balancing can help enhance makespan, and throughput thus benefits equally the client and the cloud service provider. In cloud computing, schedulers define the mapping of various jobs that arrive at far-off data centers. The best mapping occurs when tasks are sent to the best machine for the job since different jobs have distinct computational requirements. Task scheduling is categorized as an NP-hard problem [9] as varied task mapping is attainable on heterogeneous virtual machines. In service-oriented clouds, Service Level Agreements [10] (SLAs) are used to negotiate services among service providers and customers. Static schedulers can be quite beneficial in this situation because the needs of the client are already known [11]. Meta-heuristic [1] and Heuristic schedulers [3,10] are employed in this field to determine the best scheduling. Because of its diversity, meta-heuristics can best achieve the goal of improving results while examining a wide search space of potential solutions. Meta-heuristics are better optimization approaches because they search for a solution iteratively and have the ability to become more efficient over time [12,13]. Heuristics, on the other hand, frequently draw hasty conclusions based on limited evidence. It is common practice to explore and make use of the probable mapping search space using schedulers with meta-heuristics [1]. The most prevalent meta-heuristics techniques used in cloud computing (CC) for job scheduling are Symbiotic Organism Search (SOS), Particle Swarm Optimization (PSO), Genetic Algorithm (GA), Ant Colony Algorithm (ACO), etc. Owing to excellent search capabilities, GA-based schedulers have been employed for task scheduling [14,15,16].

- Two hybrid algorithms based on Genetic Algorithm for multi-objective optimization for reducing makespan and energy optimization are proposed.
- The flowchart for the algorithms is presented and the algorithms are simulated using CloudSim simulator.
- Experiments are performed for FCFS, RR, GA, GA_FCFS and GA_RR algorithms for the real workload traces at Los Alamos National Lab (LANL).

## 2. Literature Review

#### 2.1. Heuristic Approaches

#### 2.2. Meta-Heuristics Approaches

## 3. Proposed Research Approach

#### 3.1. Task Scheduling

_{1}, PM

_{2}, ………, PM

_{i}, ……., PM

_{Npm}],

_{i}(i = 1, 2,…, ${\mathrm{N}}_{\mathrm{pm}}$) represents the physical machines working in the cloud, demonstrated in Equation (2):

_{1}, VM

_{2}, ………, VM

_{k}, ………, VM

_{Nvm}],

_{k}(k = 1, 2,…, ${\mathrm{N}}_{\mathrm{vm}}$) denotes the ${\mathrm{k}}^{\mathrm{th}}$ virtual machine (VM). ${\mathrm{N}}_{\mathrm{vm}}$ stands for the entire quantity of VMs, and ${\mathrm{VM}}_{\mathrm{k}}$ for cloud’s k

^{th}virtual machine device. The criteria in Equation (3) are used to define the characteristics of the k

^{th}VM:

_{k}= [id

_{k}, userId

_{k}, mips

_{k}, pesNumber

_{k}, ram

_{k}, bw

_{k}, size

_{k}, vmm

_{k}],

_{k}is the identifier of the VM, userId

_{k}is the identifier of the user whose job has been assigned to the VM, mips

_{k}is the processing power of the physical machine in million instructions per second, pesNumber

_{k}is the identifier of the physical machine on which the VM exists, ram

_{k}is the size of RAM, bw

_{k}is the bandwidth of the VM, size

_{k}is the VM size in MB and vmm

_{k}is the virtual machine manager [41,42].

#### 3.2. Performance Parameters

#### 3.2.1. Makespan

#### 3.2.2. Resource Utilization (Ru)

## 4. Hybrid Genetic Algorithms

#### 4.1. Task-Scheduling Policies

#### 4.1.1. Time-Shared

#### 4.1.2. Space-Shared

- Cloudlet Scheduler—Space-Shared;
- VM Scheduler—Time-Shared;
- PE to VM scheduling in host—Space-Shared.

#### 4.2. Proposed Algorithms

#### 4.2.1. Parameter Tuning in Genetic Algorithm

#### 4.2.2. Encoding

_{1}, T

_{2}, T

_{3}, T

_{4}, T

_{5}, and T

_{6}. Three virtual machines (R

_{1}, R

_{2}, and R

_{3}) must be assigned to tasks. We let the chromosome be v = 3, 2, 3, 1, 2, 2. This indicates that T

_{1}is allocated to R

_{3}. The corresponding ${\text{}\mathrm{R}}_{2}$, ${\mathrm{R}}_{3}$, ${\mathrm{R}}_{1}$, ${\text{}\mathrm{R}}_{2}$, and ${\text{}\mathrm{R}}_{2}$ values are assigned to T

_{2}, T

_{3}, T

_{4}, T

_{5}, and T

_{6}. There are three task pools since there are three VMs. R

_{1}only receives one job in the mapping defined for chromosome v, so the pool ${\mathrm{R}}_{1}=${${\mathrm{T}}_{4}$}, ${\text{}\mathrm{R}}_{2}=${${\mathrm{T}}_{2},$ ${\mathrm{T}}_{5}$, ${\mathrm{T}}_{6}$} and ${\mathrm{R}}_{3}$ = {${\mathrm{T}}_{1},{\text{}\mathrm{T}}_{3}$}. The aim of GA_FCFS and GA_RR is to identify a chromosome that represents a mapping that is best suited for achieving better and improved makespan and resource utilization.

**Proposed Hybrid Virtual Machine Allocation policy for load balancing**

Algorithm 1: Hybrid Virtual Machine Allocation Algorithm |

Input: |

-Cloudlet list: The tasks to be assigned to the VMs; |

-VM list: The total number of virtual machines; |

-Host list: Total number of hosts in the datacenter; |

-GA parameters: Selection, Crossover, Mutation. |

Output: |

-VM allocation list. |

Method: |

-Read the workload traces from Los Alamos National Lab (LANL); |

-Create a container for storing the virtual machines; |

-Create VMs with parameters (id, userId, mips, pesNumber, ram, bw, size, vmm) with space shared scheduling policy for cloudlets; |

-Create a container for storing the cloudlets; |

-Read Cloudlets from the workload traces. |

Main program: |

Step1: Initialize the CloudSim package before creating any entity; |

Step 2: Create Datacenters; |

Step 3: Create Datacenter Broker; |

Step 4: Create VMs and send them to broker along with the cloudlets: Sort the cloudlets based on their completion time; Sort the VMs based on their MIPS value; Assign longest task to fastest processor. |

Hybrid Genetic Algorithm:Step 1: Initial PopulationGenerate the initial population of 20 chromosomes: Generate 19 chromosomes randomly; Take the 20th chromosome using FCFS. |

Step 2: Fitness FunctionMakespan and energy consumption are used for calculating the fitness function: $\mathrm{Fitness}=w\frac{ma{x}^{ec}-ec}{ma{x}^{ec}-mi{n}^{ec}}+w\frac{ma{x}^{ms}-ms}{ma{x}^{ms}-mi{n}^{ms}}.$ |

Step 3: SelectionUse roulette wheel selection. |

Step 4: CrossoverUse single-point crossover. |

Step 5: MutationCarry out the mutation operation. |

Step 6: Check the termination criteria If time <1,000,000 ms, Go back to step 2. Else Print the final allocation and the makespan. |

#### 4.2.3. Fitness Function

Algorithm 2: Fitness Function |

Initialize: k = −1, w1 = 0 |

make[] = no_cloudlets |

makespans[] = no_chromosomes |

for i = 0 to no_chromosomes do |

makespans[i] = 0 ec[i] = 0 |

for i= 0 to no_VMs do |

make[i] = 0 |

for m = 0 to no_chromosomes do |

k++ |

for q= 0 to no_VMs do |

for n = 0 to no_cloudlets do |

if a[m][n] == q |

make[w1] = make[w1] + etc[n][q] |

w1++ |

w1 = 0 |

makespans[k] = maximum[make] ec[k] =maximum[ec] |

for w = 0 to no_chromosomes do |

makespans2[w] = (makespans[w] + maximum[ec])/2 |

#### 4.2.4. Selection Operator

Algorithm 3: Selection |

total_fitness = 0 |

for w = 0 to no_chromosomes do total_fitness+=makespans[w] |

current_min_makespan = makespans2[0] |

for w = 0 to no_chromosomes do if (current_min_makespan > makespans2[w]) current_min_makespan = makespans2[w] |

throughput = no_cloudlets/current_min_makespan |

current_min_makespan = current_min_makespan + (1/throughput) |

Initialize count, count_same, ind, countm to 0 |

while (!(abs_value(min_makespan) == abs_value(current_min_makespan) && count_same == 3)) do for m = 0 to no_chromosomes do for n = 0 no_cloudlets do final_matrix[m][n] = b[m][n] for = 0 to no_chromosomes do final_makespans2[q] = makespans2[q]; min_makespan = total_fitness |

#### 4.2.5. Crossover Operator

Algorithm 4: Crossover |

Initialize temp1 = 0 |

for m = 0 to no_chromosomes do |

for n = 0; o = no_VMs to n < no_VMs && o < no_cloudlets do temp1 = b[m][n] b[m][n] = b[m + 1][o] b[m + 1][o] = temp1 end for m = m+2 end for |

#### 4.2.6. Mutation Operator

Algorithm 5: Mutation |

for m = 0 to no_chromosomes do |

b[m][rand.nextInt(no_VMs] = rand.nextInt(no_VMs) |

end for |

## 5. Results of the Experiment

#### 5.1. Experimental Setup

#### 5.2. Benchmark Techniques

## 6. Discussion

## 7. Conclusions

## Author Contributions

## Funding

## Data Availability Statement

## Acknowledgments

## Conflicts of Interest

## References

- Gulbaz, R.; Siddiqui, A.B.; Anjum, N.; Alotaibi, A.A.; Althobaiti, T.; Ramzan, N. Balancer genetic algorithm—A novel task scheduling optimization approach in cloud computing. Appl. Sci.
**2021**, 11, 6244. [Google Scholar] [CrossRef] - Abdullahi, M.; Ngadi, M.A.; Dishing, S.I.; Ahmad, B.I.E. An efficient symbiotic organisms search algorithm with chaotic optimization strategy for multi-objective task scheduling problems in cloud computing environment. J. Netw. Comput. Appl.
**2019**, 133, 60–74. [Google Scholar] [CrossRef] - Hussain, A.; Aleem, M.; Khan, A.; Iqbal, M.A.; Islam, M.A. RALBA: A computation-aware load balancing scheduler for cloud computing. Clust. Comput.
**2018**, 21, 1667–1680. [Google Scholar] [CrossRef] - Duan, K.; Fong, S.; Siu, S.W.; Song, W.; Guan, S.S.U. Adaptive incremental genetic algorithm for task scheduling in cloud environments. Symmetry
**2018**, 10, 168. [Google Scholar] [CrossRef] - Yiqiu, F.; Xia, X.; Junwei, G. Cloud computing task scheduling algorithm based on improved genetic algorithm. In Proceedings of the 2019 IEEE 3rd Information Technology, Networking, Electronic and Automation Control Conference (ITNEC), Chengdu, China, 15–17 March 2017; pp. 852–856. [Google Scholar]
- Wang, Y.; Zuo, X. An effective cloud workflow scheduling approach combining PSO and idle time slot-aware rules. IEEE/CAA J. Autom. Sin.
**2021**, 8, 1079–1094. [Google Scholar] [CrossRef] - Xu, Z.; Xu, X.; Zhao, X. Task scheduling based on multi-objective genetic algorithm in cloud computing. J. Inf. Comput. Sci.
**2015**, 12, 1429–1438. [Google Scholar] [CrossRef] - Mansouri, N.; Zade, B.M.H.; Javidi, M.M. Hybrid task scheduling strategy for cloud computing by modified particle swarm optimization and fuzzy theory. Comput. Ind. Eng.
**2019**, 130, 597–633. [Google Scholar] [CrossRef] - Ebadifard, F.; Babamir, S.M. A PSO-based task scheduling algorithm improved using a load-balancing technique for the cloud computing environment. Concurr. Comput. Pract. Exp.
**2018**, 30, e4368. [Google Scholar] [CrossRef] - Hussain, A.; Aleem, M.; Iqbal, M.A.; Islam, M.A. SLA-RALBA: Cost-efficient and resource-aware load balancing algorithm for cloud computing. J. Supercomput.
**2019**, 75, 6777–6803. [Google Scholar] [CrossRef] - Singh, R.M.; Paul, S.; Kumar, A. Task scheduling in cloud computing. Int. J. Comput. Sci. Inf. Technol.
**2014**, 5, 7940–7944. [Google Scholar] - Kaur, S.; Verma, A. An efficient approach to genetic algorithm for task scheduling in cloud computing environment. Int. J. Inf. Technol. Comput. Sci. (IJITCS)
**2012**, 4, 74–79. [Google Scholar] [CrossRef] - Hamad, S.A.; Omara, F.A. Genetic-based task scheduling algorithm in cloud computing environment. Int. J. Adv. Comput. Sci. Appl.
**2016**, 7, 550–556. [Google Scholar] - Zhou, Z.; Li, F.; Zhu, H.; Xie, H.; Abawajy, J.H.; Chowdhury, M.U. An improved genetic algorithm using greedy strategy toward task scheduling optimization in cloud environments. Neural Comput. Appl.
**2020**, 32, 1531–1541. [Google Scholar] [CrossRef] - Zhan, Z.H.; Zhang, G.Y.; Gong, Y.J.; Zhang, J. Load balance aware genetic algorithm for task scheduling in cloud computing. In Proceedings of the Simulated Evolution and Learning: 10th International Conference, SEAL 2014, Dunedin, New Zealand, 15–18 December 2014; Springer International Publishing: Berlin/Heidelberg, Germany, 2014; pp. 644–655. [Google Scholar]
- Javanmardi, S.; Shojafar, M.; Amendola, D.; Cordeschi, N.; Liu, H.; Abraham, A. Hybrid job scheduling algorithm for cloud computing environment. In Proceedings of the Fifth International Conference on Innovations in Bio-Inspired Computing and Applications IBICA 2014, Ostrava, Czech Republic, 23–25 June 2014; Springer International Publishing: Berlin/Heidelberg, Germany, 2014; pp. 43–52. [Google Scholar]
- Patel, G.; Mehta, R.; Bhoi, U. Enhanced load balanced min-min algorithm for static meta task scheduling in cloud computing. Procedia Comput. Sci.
**2015**, 57, 545–553. [Google Scholar] [CrossRef] - Cao, Y.; Zhang, H.; Li, W.; Zhou, M.; Zhang, Y.; Chaovalitwongse, W.A. Comprehensive learning particle swarm optimization algorithm with local search for multimodal functions. IEEE Trans. Evol. Comput.
**2018**, 23, 718–731. [Google Scholar] [CrossRef] - Nasr, A.A.; El-Bahnasawy, N.A.; Attiya, G.; El-Sayed, A. Using the TSP solution strategy for cloudlet scheduling in cloud computing. J. Netw. Syst. Manag.
**2019**, 27, 366–387. [Google Scholar] [CrossRef] - Panda, S.K.; Jana, P.K. An energy-efficient task scheduling algorithm for heterogeneous cloud computing systems. Clust. Comput.
**2019**, 22, 509–527. [Google Scholar] [CrossRef] - Panda, S.K.; Jana, P.K. Load balanced task scheduling for cloud computing: A probabilistic approach. Knowl. Inf. Syst.
**2019**, 61, 1607–1631. [Google Scholar] [CrossRef] - Singh, S.; Kalra, M. Scheduling of independent tasks in cloud computing using modified genetic algorithm. In Proceedings of the 2014 International Conference on Computational Intelligence and Communication Networks, Bhopal, India, 14–16 November 2014; IEEE: Piscataway, NJ, USA, 2014; pp. 565–569. [Google Scholar]
- Mohamad, Z.; Mahmoud, A.A.; Nik, W.N.S.W.; Mohamed, M.A.; Deris, M.M. A genetic algorithm for optimal job scheduling and load balancing in cloud computing. Int. J. Eng. Technol.
**2018**, 7, 290–294. [Google Scholar] - Kaur, S.; Sengupta, J. Load balancing using improved genetic algorithm (iga) in cloud computing. Int. J. Adv. Res. Comput. Eng. Technol. IJARCET
**2017**, 6, 1229–1233. [Google Scholar] - Rekha, P.M.; Dakshayini, M. Efficient task allocation approach using genetic algorithm for cloud environment. Clust. Comput.
**2019**, 22, 1241–1251. [Google Scholar] [CrossRef] - Senthil Kumar, A.M.; Venkatesan, M. Multi-objective task scheduling using hybrid genetic-ant colony optimization algorithm in cloud environment. Wirel. Pers. Commun.
**2019**, 107, 1835–1848. [Google Scholar] [CrossRef] - Krishnasamy, K. Task scheduling algorithm based on Hybrid Particle Swarm Optimization in cloud computing environment. J. Theor. Appl. Inf. Technol.
**2013**, 55. [Google Scholar] - Abdi, S.; Motamedi, S.A.; Sharifian, S. Task scheduling using modified PSO algorithm in cloud computing environment. In Proceedings of the International Conference on Machine Learning, Electrical and Mechanical Engineering, Athens, Greece, 8–9 April 2023; Volume 4, No. 1. pp. 8–12. [Google Scholar]
- Kaur, G.; Sharma, E.S. Optimized utilization of resources using improved particle swarm optimization based task scheduling algorithms in cloud computing. Int. J. Emerg. Technol. Adv. Eng.
**2014**, 4, 110–115. [Google Scholar] - Abdullahi, M.; Ngadi, M.A. Symbiotic organism search optimization based task scheduling in cloud computing environment. Future Gener. Comput. Syst.
**2016**, 56, 640–650. [Google Scholar] [CrossRef] - Rjoub, G.; Bentahar, J.; Abdel Wahab, O.; Saleh Bataineh, A. Deep and reinforcement learning for automated task scheduling in large-scale cloud computing systems. Concurr. Comput. Pract. Exp.
**2021**, 33, e5919. [Google Scholar] [CrossRef] - Sharma, M.; Garg, R. An artificial neural network based approach for energy efficient task scheduling in cloud data centers. Sustain. Comput. Inform. Syst.
**2020**, 26, 100373. [Google Scholar] [CrossRef] - Iranmanesh, A.; Naji, H.R. DCHG-TS: A deadline-constrained and cost-effective hybrid genetic algorithm for scientific workflow scheduling in cloud computing. Clust. Comput.
**2021**, 24, 667–681. [Google Scholar] [CrossRef] - Saber, W.; Moussa, W.; Ghuniem, A.M.; Rizk, R. Hybrid load balance based on genetic algorithm in cloud environment. Int. J. Electr. Comput. Eng.
**2021**, 11, 2477–2489. [Google Scholar] [CrossRef] - Muteeh, A.; Sardaraz, M.; Tahir, M. MrLBA: Multi-resource load balancing algorithm for cloud computing using ant colony optimization. Clust. Comput.
**2021**, 24, 3135–3145. [Google Scholar] [CrossRef] - Asghari, A.; Sohrabi, M.K.; Yaghmaee, F. Task scheduling, resource provisioning, and load balancing on scientific workflows using parallel SARSA reinforcement learning agents and genetic algorithm. J. Supercomput.
**2021**, 77, 2800–2828. [Google Scholar] [CrossRef] - Kakkottakath Valappil Thekkepuryil, J.; Suseelan, D.P.; Keerikkattil, P.M. An effective meta-heuristic based multi-objective hybrid optimization method for workflow scheduling in cloud computing environment. Clust. Comput.
**2021**, 24, 2367–2384. [Google Scholar] [CrossRef] - Aziza, H.; Krichen, S. Bi-objective decision support system for task-scheduling based on genetic algorithm in cloud computing. Computing
**2018**, 100, 65–91. [Google Scholar] [CrossRef] - Mohammadi, A.; Rezvani, M.H. A novel optimized approach for resource reservation in cloud computing using producer–consumer theory of microeconomics. J. Supercomput.
**2019**, 75, 7391–7425. [Google Scholar] [CrossRef] - Abualigah, L.; Diabat, A. A novel hybrid antlion optimization algorithm for multi-objective task scheduling problems in cloud computing environments. Clust. Comput.
**2021**, 24, 205–223. [Google Scholar] [CrossRef] - Dai, Y.; Lou, Y.; Lu, X. A task scheduling algorithm based on genetic algorithm and ant colony optimization algorithm with multi-QoS constraints in cloud computing. In Proceedings of the 2015 7th International Conference on Intelligent Human-Machine Systems and Cybernetics, Washington, DC, USA, 26–27 August 2015; Volume 2, pp. 428–431. [Google Scholar]
- Sundarrajan, R.; Vasudevan, V. An optimization algorithm for task scheduling in cloud computing based on multi-purpose cuckoo seek algorithm. In Proceedings of the Theoretical Computer Science and Discrete Mathematics: First International Conference, ICTCSDM 2016, Krishnankoil, India, 19–21 December 2016; Revised Selected Papers 1. Springer International Publishing: Berlin/Heidelberg, Germany, 2017; pp. 415–424. [Google Scholar]
- Mapetu, J.P.B.; Chen, Z.; Kong, L. Low-time complexity and low-cost binary particle swarm optimization algorithm for task scheduling and load balancing in cloud computing. Appl. Intell.
**2019**, 49, 3308–3330. [Google Scholar] [CrossRef] - Varshney, S.; Singh, S. An optimal bi-objective particle swarm optimization algorithm for task scheduling in cloud computing. In Proceedings of the 2018 2nd International Conference on Trends in Electronics and Informatics (ICOEI), Tirunelveli, India, 11–12 May 2018; pp. 780–784. [Google Scholar]
- Saranu, K.A.; Jaganathan, S. Intensified Scheduling Algorithm for Virtual Machine Tasks in Cloud Computing. In Artificial Intelligence and Evolutionary Algorithms in Engineering Systems: Proceedings of ICAEES 2014, Volume 2; Springer: Chennai, India, 2015; pp. 283–290. [Google Scholar]
- Downey, A.B. Predicting queue times on space-sharing parallel computers. In Proceedings of the 11th International Parallel Processing Symposium, Genva, Switzerland, 1–5 April 1997; pp. 209–218. [Google Scholar]
- Calheiros, R.N.; Ranjan, R.; Beloglazov, A.; De Rose, C.A.; Buyya, R. CloudSim: A toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw. Pract. Exp.
**2011**, 41, 23–50. [Google Scholar] [CrossRef] - Fisher, R.A. Theory of statistical estimation. In Mathematical Proceedings of the Cambridge Philosophical Society; Cambridge University Press: Cambridge, UK, 1925; Volume 22, No. 5; pp. 700–725. [Google Scholar]
- Kuchnik, M.; Park, J.W.; Cranor, C.; Moore, E.; DeBardeleben, N.; Amvrosiadis, G. This is why ML-driven cluster scheduling remains widely impractical. Tech. Rep. 2019. Available online: https://www.pdl.cmu.edu/ftp/CloudComputing/CMU-PDL-19-103.pdf (accessed on 25 April 2023).
- Naaz, S.; Alam, A.; Biswas, R. Load balancing algorithms for peer to peer and client server distributed environments. Int. J. Comput. Appl.
**2012**, 47, 17–21. [Google Scholar] [CrossRef]

Level 1 | Level 2 | Level 3 | Level 4 | Level 5 | |
---|---|---|---|---|---|

No. of Iterations | 500 | 700 | 1000 | 1200 | 1500 |

Crossover Probability | 0.2 | 0.4 | 0.6 | 0.8 | 0.9 |

Mutation Probability | 0.01 | 0.02 | 0.05 | 0.1 | 0.2 |

Type of Crossover | Single-point | Two-point | |||

Type of Mutation | Inversion | Bit Flip | |||

Type of Selection | Roulette Wheel | Tournament | Deterministic |

**Table 2.**ANOVA table for the analysis of effect of various factors in Genetic Algorithm using the fitness function.

Source | Sum of Squares | D.F | Mean Square | F-Ratio | p-Level | F-Critical |
---|---|---|---|---|---|---|

Number of Iterations | 2.49 | 4 | 0.624 | 3.41 | 0.018 | 2.63 |

Crossover Probability | 64.32 | 4 | 16.08 | 9.112 | 0.00 | 2.63 |

Mutation Probability | 125.225 | 4 | 31.306 | 16.21 | 0.00 | 2.63 |

Type of Crossover | 0.886 | 1 | 0.886 | 0.64 | 0.44 | 5.12 |

Type of Mutation | 0.0028 | 1 | 0.0028 | 0.02 | 0.88 | 5.12 |

Type of Selection | 126.91 | 2 | 63.45 | 16.07 | 0.00 | 3.55 |

**Table 3.**Duncan’s Multiple Range Test results for various factors in Genetic Algorithm using the fitness function.

Levels of Variable “No. of Iterations” | Mean | Homogeneous Groups | ||||

1200 | 106.418 | A | ||||

1500 | 106.353 | A | B | |||

500 | 106.037 | A | B | C | ||

700 | 105.929 | B | C | D | ||

1000 | 105.868 | E | ||||

Levels of variable “Crossover Probability” | Mean | Homogeneous Groups | ||||

0.2 | 109.378 | A | ||||

0.4 | 108.517 | A | B | |||

0.9 | 108.23 | A | B | C | ||

0.6 | 107.364 | B | C | D | ||

0.8 | 106.037 | E | ||||

Levels of variable “Mutation Probability” | Mean | Homogeneous Groups | ||||

0.1 | 110.854 | A | ||||

0.02 | 108.517 | B | ||||

0.2 | 108.23 | B | C | |||

0.05 | 107.364 | B | C | D | ||

0.01 | 106.037 | E | ||||

Levels of variable “Type of Crossover” | Mean | Homogeneous Groups | ||||

Two Point | 106.458 | A | ||||

Single Point | 106.037 | B | ||||

Levels of variable “Type of Mutation” | Mean | Homogeneous Groups | ||||

Inversion | 106.061 | A | ||||

Bit Flip | 106.037 | B | ||||

Levels of variable “Type of Selection” | Mean | Homogeneous Groups | ||||

Deterministic | 110.7430 | A | ||||

Tournament | 109.9480 | A | B | |||

Roulette | 106.0370 | C | ||||

Significance level for all the test was taken as 0.05 |

Variable | Final Value |
---|---|

No. of Iterations | 1000 |

Crossover Probability | 0.8 |

Mutation Probability | 0.01 |

Type of Crossover | Single-point |

Type of Mutation | Bit Flip |

Type of Selection | Roulette Wheel |

VM Parameters | |

Parameter Name | Value |

Number of hosts | 02 per Datacenter |

Number of Virtual Machines | 14 |

Virtual Machine processing power in MIPS | 500 |

Virtual Machine RAM (MB) | 512 |

Virtual Machine Bandwidth (MBPS) | 10 |

Virtual Machine size (MB) | 10,000 |

Number of CPUs | 4 |

Host Parameters | |

Host RAM (GB) | 200 |

Host Storage | 10,000,000 |

Host Bandwidth (Mbps) | 100,000 |

Datacenter Properties | |

System Architecture | ×86 |

Virtual Machine Manager | Xen |

Time Zone | 10 |

Processing Cost | 3.0 |

Memory Usage Cost | 0.05 |

Operating System | Linux |

No. of Cloudlets | Makespan | Resource Utilization | ||||||||
---|---|---|---|---|---|---|---|---|---|---|

FCFS | RR | GA | GA_FCFS | GA_RR | FCFS | RR | GA | GA_FCFS | GA_RR | |

100 | 19.99 | 20.99 | 10.65 | 5.69 | 3.27 | 0.2519 | 0.3276 | 0.7643 | 0.8645 | 0.9176 |

200 | 41.22 | 45.66 | 21.33 | 10.99 | 8.44 | 0.2976 | 0.3965 | 0.7128 | 0.8245 | 0.9256 |

300 | 88.29 | 89.42 | 40.56 | 25.54 | 16.28 | 0.2654 | 0.3168 | 0.5942 | 0.9102 | 0.9674 |

400 | 110.56 | 121.45 | 100.11 | 36.89 | 30.22 | 0.3012 | 0.3783 | 0.5734 | 0.8289 | 0.9125 |

500 | 159.29 | 170.21 | 132.87 | 59.76 | 48.55 | 0.3143 | 0.3989 | 0.5998 | 0.8912 | 0.9356 |

600 | 220.76 | 210.87 | 175.09 | 89.32 | 80.41 | 0.2986 | 0.2983 | 0.6983 | 0.8019 | 0.9876 |

700 | 269.86 | 260.75 | 201.86 | 130.44 | 119.53 | 0.339 | 0.3112 | 0.6102 | 0.911 | 0.9942 |

800 | 320.89 | 300.12 | 225.43 | 180.56 | 165.23 | 0.3218 | 0.3468 | 0.6324 | 0.9234 | 0.9876 |

900 | 375.87 | 370.22 | 295.21 | 240.85 | 225.69 | 0.3315 | 0.3451 | 0.6542 | 0.9625 | 0.9912 |

1000 | 425.97 | 420.65 | 312.98 | 280.33 | 272.45 | 0.2975 | 0.3256 | 0.6356 | 0.9123 | 0.9842 |

Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |

© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Naz, I.; Naaz, S.; Agarwal, P.; Alankar, B.; Siddiqui, F.; Ali, J.
A Genetic Algorithm-Based Virtual Machine Allocation Policy for Load Balancing Using Actual Asymmetric Workload Traces. *Symmetry* **2023**, *15*, 1025.
https://doi.org/10.3390/sym15051025

**AMA Style**

Naz I, Naaz S, Agarwal P, Alankar B, Siddiqui F, Ali J.
A Genetic Algorithm-Based Virtual Machine Allocation Policy for Load Balancing Using Actual Asymmetric Workload Traces. *Symmetry*. 2023; 15(5):1025.
https://doi.org/10.3390/sym15051025

**Chicago/Turabian Style**

Naz, Insha, Sameena Naaz, Parul Agarwal, Bhavya Alankar, Farheen Siddiqui, and Javed Ali.
2023. "A Genetic Algorithm-Based Virtual Machine Allocation Policy for Load Balancing Using Actual Asymmetric Workload Traces" *Symmetry* 15, no. 5: 1025.
https://doi.org/10.3390/sym15051025