Submitted:
02 February 2024
Posted:
05 February 2024
You are already at the latest version
Abstract
Keywords:Β
Introduction
Problem Statements
Contributions

- This study introduced bi-objective optimization techniques for optimizing bandwidth and energy simultaneously for efficient VMP in cloud computing.

- To tackle the bi-objective optimization problem, we proposed a bi-objective hybrid genetic optimization algorithm.

- The proposed bi-objective hybrid genetic optimization algorithm combines genetic algorithms with ACO to enhance the search for optimal solutions.

- We utilized pareto set for non-dominated solution selection
1. Related work
2. The Proposed Methodology
Problem formulation
Bi-objective Hybrid Genetic Optimization Algorithm
Ant Colony Optimization (ACO) Algorithm
Integration of GA with ACO
Heuristic information
| The specific implementation algorithm steps for the Bi-objective hybrid genetic optimization algorithm are as follows: |
|
Input: Pop (population size), max-generation, VM (the set of virtual machines), PM(the set of physical machines). Output: Pareto set of non-dominated solutions. |
- Obtain the set of sorted virtual machines in descending order of their traffic demand, PM
- Initialize the Population with the Pop individual.
- Evaluate the fitness of each individual in the population according to Eq (3) β Eq (7).
- Create a Pareto set from the population regarding bi-objective to generate non-dominated solutions using Eq (1) & Eq (2).
- While the termination condition is not true do the following.
- Generate new population pop.
- Apply a selection operator to choose individuals for the next generation. Individuals with higher fitness values have a greater chance of being selected.
- Transform selected individuals into ACO using eq (8).
- Initialize pheromone for each VM-PM pair
- Calculate the desirability of
- 11.
- Select the physical machine for the virtual machine using Eq (11)
- 12.
- Update the pheromone of each path using Eq(11)
- 13.
- Select the best ant
- 14.
- Apply crossover operator.
- 15.
- Apply a mutation operator to randomly modify some individuals in the population.
- 16.
- Evaluate the fitness of each individual in the population according to Eq. (3)βEq (7).
- 17.
- Apply a feasibility repair algorithm
- 18.
- apply a local optimization algorithm
- 19.
- Return non-dominated solution
- fit1_BW &En = Fitness(PM1) based on objective function obj_bandwidth,& obj_energy
- fit2_ BW &En= Fitness(PM2) based on objective function obj_bandwidth, obj_energy
- for j = 1 to n do
- randomly generate a real value between 0 and 1, r, so that, 0 β€ 1 β€ r.
- Compute the total fitness value for bandwidth and energy. Total_fit = fit1_BW & En + fit2_BW & En.
- if r < fit1_BW &En / fit1_BW &En + fit2_ BW &En)
- Set NS[j] = PM1[j]
- End if.
- Else
- - Set NS[j] = PM2[j]
- End else.
- End for.
| Algorithm of Mutation operator. |
| Input: already {VMs mapped to PMs}. m: number of PMs, n: number of VMs as chromosome Chr Output: {VMs mapped to PMs} as new chromosome NewChr |
| Algorithm of Crossover operator |
|
Input: Parent Solution PM1 = [a1 a2...an], PM2 = [b1 b2...bn] with n as the number of hosts. Objective functions: obj_bandwidth, obj_energy. Output: New Solution NS = [c1 c2...cn] as the new solution where n is the number of hosts. |
- fit1_BW &En = Fitness(PM1) based on objective function obj_bandwidth,& obj_energy
- fit2_ BW &En= Fitness(PM2) based on objective function obj_bandwidth, obj_energy
- for j = 1 to n do
- randomly generate a real value between 0 and 1, r, so that, 0 β€ 1 β€ r.
- Compute the total fitness value for bandwidth and energy. Total_fit = fit1_BW & En + fit2_BW & En.
- if r < fit1_BW &En / fit1_BW &En + fit2_ BW &En)
- Set NS[j] = PM1[j]
- End if.
- Else
- - Set NS[j] = PM2[j]
- End else.
- End for.
| Algorithm of Mutation operator. |
| Input: already {VMs mapped to PMs}. m: number of PMs, n: number of VMs as chromosome Chr Output: {VMs mapped to PMs} as new chromosome NewChr |
|
Pseudo-Code of infeasible solution repairing algorithm |
- for j = 1 to N do // where N is the number of PMs
- if V[j].violation = 1 then
- select = V[j].pointer
- V[j].pointer = V[j].pointer.next
- fixed = false
- j' = j + 1
- availCPU = Cpj'cpu - Rvicpu of j'
- availmem = Cpj'mem - Rvimem of j'
- avilBw = Bmaxei - Bcsmei of e connecting j and j'
- while j' β j do
- if availCPU β₯ select.v[j] and availmem β₯ select.v[j] and avilBw β₯ select.v[j].trafficdem then
- select.next = V[j'].pointer
- V[j'].pointer = select // update the selected VM of j' PM
- Cpj'cpu += select.v[j]
- Cpj'mem += select.v[j]
- Bmaxei += select.v[j].traffic-dem
- fixed = true
- end if
- j' = j' + 1
- availCPU = Cpj'cpu - Rvicpu of j'
- availmem = Cpj'mem - Rvimem of j'
- avilBw = Bmaxei - Bcsmei of e connecting j and j'
- end while
- end if
- end for
| Pseudo-Code of the local optimization algorithm. |
|
Input: Pop as a population with PopSize individuals, n: number of VMs, m: number of PMs Output: The optimal population with the minimum number of used PMs |
- for i = 1 to PopSize do
- for j = 1 to the number of PM do
- if PM[i][j].Status = Active then
- j' = j + 1;
- while (j' <= m) do
- if PM[i][j'].Status = Active then
- if PM[i][j'].Cpj'cpu - PM[i][j'].Upj'cpu >= PM[i][j].Upjcpu and
- PM[i][j'].Cpj'mem - PM[i][j'].Upj'mem >= PM[i][j].Upjmem and
- Bcsmei + PM[i][j'].Upj'bw - PM[i][j].Upjbw <= Bmaxei then // migrate vms
- PM[i][j'].Cpj'cpu = PM[i][j'].Upj'cpu + PM[i][j].Upjcpu;
- PM[i][j'].Cpj'mem = PM[i][j'].Upj'mem + PM[i][j].Upjmem;
- PM[i][j'].Bmaxei = PM[i][j'].Upj'bw + PM[i][j].Bcsmei; /* Remove(drop) VMj from PMj and hibernate it */
- PM[i][j].Status = "Off hibernate";
- end if
- j' = j' + 1;
- end while
- end if
- end for
- end for
| Algorithm of Metaheuristic search for Pareto set Ranking |
|
Input: pareto size, Set of Hosts and VMs with Initial Solution. Output: Set of Pareto non-dominated solutions |
- For each new solution:
- If a new solution is not dominated by any solution in the Pareto set
- Add a new solution to the Pareto set
- End if
- For each solution in the Pareto set.
- If the solution is dominated by a new solution:
- Delete the solution from the Pareto set,
- End if
- End for
- if pareto set size exceeds pareto size
- apply ranking of solution in increasing order based on bandwidth & energy
- Select the top Pareto set solutions with the lowest values of bandwidth resource and energy consumption.
- End for
- Output: Set of Pareto non-dominated solutions
| Pseudo-code of a greedy heuristic algorithm that orders VMs in descending order based on their traffic demands |
| Here is a possible pseudo-code of a heuristic algorithm that orders VMs in descending order based on their traffic demand and stores them in a list called vmsList. Input: a set of virtual machines with their traffic demands Output: a list of virtual machines ordered by their traffic demand |
- vmList = {};
- Ttemp = Ttraffic
- i = 1
- Ttemp = sort(Ttemp, by traffic_demand, order descending)
- while i <= size(Ttraffic);
- (vmi, vmj) = Ttraffic[k]
- if vmi not in vmList:
- add vmi to vmList
- if vmj not in vmList:
- add vmj to vmLis;
- i = i + 1
- end of while
- output vm as vmList for virtual machine placement
- end
3. Experimental Results and discussion.
Bandwidth Resource Consumption Evaluation of BOHGOA
Energy Consumption Evaluation of BOHGOA
Complexity analysis of BOHGOA
The Overall Complexity of BOHGOA.
4. Conclusion and Future Work
Funding
Data Availability Statement
Acknowledgments
Conflict of Interest
References
- Abohamama, A. S., & Hamouda, E. (2020). A hybrid energyβAware virtual machine placement algorithm for cloud environments. Expert Systems with Applications, 150, 113306. [CrossRef]
- Arivuselvi, A., Amudha, T., & Babu, P. D. (2021). An Effective Ant Colony Optimization Methodology For Virtual Machine Placement In Cloud Data Centre. Turkish Journal of Computer and Mathematics Education, 12(10), 3460β3467.
- Arnold, T., He, J., Jiang, W., Calder, M., Cunha, I., Giotsas, V., & Katz-Bassett, E. (2020). Cloud Provider Connectivity in the Flat Internet. Proceedings of the ACM SIGCOMM Internet Measurement Conference, IMC, 230β246. [CrossRef]
- Arnold, T., He, J., Jiang, W., Calder, M., Cunha, I., Giotsas, V., & Katz-Bassett, E. (2020). Cloud Provider Connectivity in the Flat Internet. Proceedings of the ACM SIGCOMM Internet Measurement Conference, IMC, 230β246. [CrossRef]
- Ganesan, S., & Ganesan, S. (2021). A multi-objective secure optimal vm placement in energy-efficient server of cloud computing. Intelligent Automation and Soft Computing, 30(2), 387β401. [CrossRef]
- Hariharan, B., Siva, R., Kaliraj, S., & Prakash, P. N. S. (2021). ABSO: an energy-efficient multi-objective VM consolidation using adaptive beetle swarm optimization on cloud environment. Journal of Ambient Intelligence and Humanized Computing, 0123456789. [CrossRef]
- Hashem, I. A. T., Yaqoob, I., Anuar, N. B., Mokhtar, S., Gani, A., & Ullah Khan, S. (2015). The rise of βbig dataβ on cloud computing: Review and open research issues. Information Systems, 47, 98β115. [CrossRef]
- Li, P., & Cao, J. (2022). A Virtual Machine Consolidation Algorithm Based on Dynamic Load Mean and Multi-Objective Optimization in Cloud Computing. Sensors 2022, Vol. 22, Page 9154, 22(23), 9154. [CrossRef]
- Mellette, W. M., Snoeren, A. C., & Porter, G. (2016). P-FatTree: A multi-channel datacenter network topology. HotNets 2016 - Proceedings of the 15th ACM Workshop on Hot Topics in Networks, 78β84. [CrossRef]
- Niranjan, U. V., & Pillai, K. K. G. (2019). Energy Management of Cloud Data Center Using Neural Networks. Proceedings - 7th IEEE International Conference on Cloud Computing in Emerging Markets, CCEM 2018, 85β89. [CrossRef]
- Rawas, S., & Zekri, A. (2018). Location-Aware Energy-Efficient Workload Allocation in Geo Distributed Cloud Environment. Journal of Computer Science, 14(3), 334β350. [CrossRef]
- Regaieg, R., KoubΓ a, M., Ales, Z., Aguili, T., & Aguili, Β· Taoufik. (2021). Multi-objective optimization for VM placement in homogeneous and heterogeneous cloud service provider data centers. Computing, 103(6), 1255β1279.
- Saxena, D., & Singh, A. K. (2021). A proactive autoscaling and energy-efficient VM allocation framework using online multi-resource neural network for cloud data center. Neurocomputing, 426(xxxx), 248β264. [CrossRef]
- Sloss, A. N., & Gustafson, S. (2019). 2019 Evolutionary Algorithms Review. 81 Su, S., Su, Y., Shao, F., & Guo, H. (2016). A Power-Aware Virtual Machine Mapper Using Firefly Optimization. Proceedings - 2015 3rd International Conference on Advanced Cloud and Big Data, CBD 2015, 96β103. [CrossRef]
- Wang, H. (2022). Research on the Application of Genetic Algorithm in Physical Education. Journal of Mathematics, 2022. [CrossRef]
- Yu, L., Shen, H., Cai, Z., Liu, L., & Pu, C. (2018). Towards Bandwidth Guarantee for Virtual Clusters under Demand Uncertainty in Multi-Tenant Clouds. IEEE Transactions on Parallel and Distributed Systems, 29(2), 450β465. [CrossRef]
- Zhang, W., Chen, X., & Jiang, J. (2021). A multi-objective optimization method of initial virtual machine fault-tolerant placement for star topological data centers of cloud systems. Tsinghua Science and Technology, 26(1), 95β111. [CrossRef]




| Scheme 3. | CloudSim | |
| Version | 3.0.3 | |
| Datacenter Characteristics | PM-type-1 | MIPS: 40000, Storage:1TB, RAM: 32GB, BW: 1 Gbit. Power busy pj is set to 550 W OS: Linux. System Architecture: x86. VMM: Xen |
| PM-type-2 | MIPS: 24000, Storage:1TB, RAM: 16GB, BW: 1 Gbit. Power busy pj is set to 113 W. OS: Linux.System Architecture: x86. VMM: KVM |
|
| Test problems | Number of VM | 40 β 500 |
| Number of PM | 20-80 | |
| Procedure | Complexity |
| Population-size | O (Population-size* m * n2) |
| Idle servers | O (Population-size* m * n) |
| Roulette wheel | O (population-size * Crossover rate) |
| Crossover rate | O (population-size * crossover rate) |
| Mutation rate | O (population-size *mutation rate) |
| Procedure | Complexity |
| Solution | O (number of ants* m *n2) |
| Update | O (number of ants *m*n) |
| Idle servers | O (number of ants *m*n) |
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. |
Β© 2024 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 (http://creativecommons.org/licenses/by/4.0/).