Abstract
Virtual Machine Placement (VMP) plays a significant role in improving efficiency of Cloud Data Center (CDC). With the dramatic increase in the use of cloud computing, it seems necessary to apply effective algorithms to reduce the power consumption of CDC. VMP is known as a NP-Hard problem that cannot be solved by deterministic algorithms in polynomial time. In this paper, an algorithm named Combinated Random Best First Fit (CRBFF) is proposed with the aim of increasing the Quality of Service (QoS), in which Virtual Machines (VMs) are optimally placed on heterogeneous Physical Machines (PMs). The effectiveness of CRBFF is evaluated by different metrics on Google Compute Engine (GCE), Amazon Web Service Elastic Compute Cloud (AWS EC2) and Microsoft Azure scenarios and the results show that CRBFF performs better than other common algorithms.



Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Code availability
The proposed algorithm code in C++ is available at https://github.com/MalekYousefi/CRBFF.
References
Buyya R, Yeo CS, Venugopal S, Broberg J, Brandic I (2009) Cloud computing and emerging it platforms: vision, hype, and reality for delivering computing as the 5th utility. Futur Gener Comput Syst 25(6):599–616
Xu M, Tian W, Buyya R (2017) A survey on load balancing algorithms for virtual machines placement in cloud computing. Concurr Comput Pract Exp 29(12):4123
Azizi S, Shojafar M, Abawajy J, Buyya R (2020) Grvmp: a greedy randomized algorithm for virtual machine placement in cloud data centers. IEEE Syst J 15(2):2571–2582
Peake J, Amos M, Costen N, Masala G, Lloyd H (2022) Paco-vmp: parallel ant colony optimization for virtual machine placement. Futur Gener Comput Syst 129:174–186
Fatima A, Javaid N, Sultana T, Hussain W, Bilal M, Shabbir S, Asim Y, Akbar M, Ilahi M (2018) Virtual machine placement via bin packing in cloud data centers. Electronics 7(12):389
Lin W, Wu W, He L (2019) An on-line virtual machine consolidation strategy for dual improvement in performance and energy conservation of server clusters in cloud data centers. IEEE Trans Serv Comput 15(2):766–777
Pourghebleh B, Aghaei Anvigh A, Ramtin AR, Mohammadi B (2021) The importance of nature-inspired meta-heuristic algorithms for solving virtual machine consolidation problem in cloud environments. Clust Comput 24(3):2673–2696
Lee S, Panigrahy R, Prabhakaran V, Ramasubramanian V, Talwar K, Uyeda L, Wieder U (2011) Validating heuristics for virtual machines consolidation. Microsoft Res MSR-TR-2011-9, 1–14
Pearl J (1984) Heuristics: intelligent search strategies for computer problem solving. Addison-Wesley Longman Publishing Co., Inc., Boston
Blum C, Roli A (2003) Metaheuristics in combinatorial optimization: overview and conceptual comparison. ACM Comput Surv 35(3):268–308
Keller G, Tighe M, Lutfiyya H, Bauer M (2012) An analysis of first fit heuristics for the virtual machine relocation problem. In: 2012 8th international conference on network and service management (cnsm) and 2012 workshop on systems virtualiztion management (svm). IEEE, pp 406–413
Wei C, Hu Z-H, Wang Y-G (2020) Exact algorithms for energy-efficient virtual machine placement in data centers. Futur Gener Comput Syst 106:77–91
Albers S, Mitzenmacher M (2000) Average-case analyses of first fit and random fit bin packing. Random Struct Algorithms 16(3):240–259
Brahmam MG, Anand RV (2023) An investigation of consolidating virtual servers and data centers based on energy consumptions using various algorithms. In: 2023 international conference on inventive computation technologies (ICICT). IEEE, pp 1521–1528
Kong Y, He Y, Abnoosian K (2022) Nature-inspired virtual machine placement mechanisms: a systematic review. Concurr Comput Pract Exp 34(11):6900
Bose A, Nag S (2022) An overview of the state-of-the-art virtual machine placement algorithms for green cloud data centres. Asia Pac J Manag Technol 3(1):1–12
Zhang X, Wu T, Chen M, Wei T, Zhou J, Hu S, Buyya R (2019) Energy-aware virtual machine allocation for cloud with resource reservation. J Syst Softw 147:147–161
Wang H, Tianfield H (2018) Energy-aware dynamic virtual machine consolidation for cloud datacenters. IEEE Access 6:15259–15273
Speitkamp B, Bichler M (2010) A mathematical programming approach for server consolidation problems in virtualized data centers. IEEE Trans Serv Comput 3(4):266–278
Beloglazov A, Buyya R (2012) Optimal online deterministic algorithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in cloud data centers. Concurr Comput Pract Exp 24(13):1397–1420
Rao KS, Thilagam PS (2015) Heuristics based server consolidation with residual resource defragmentation in cloud data centers. Futur Gener Comput Syst 50:87–98
Li X, Qian Z, Lu S, Wu J (2013) Energy efficient virtual machine placement algorithm with balanced and improved resource utilization in a data center. Math Comput Model 58(5–6):1222–1235
Wang X, Liu Z (2012) An energy-aware vms placement algorithm in cloud computing environment. In: 2012 second international conference on intelligent system design and engineering application. IEEE, pp 627–630
Song W, Xiao Z, Chen Q, Luo H (2013) Adaptive resource provisioning for the cloud using online bin packing. IEEE Trans Comput 63(11):2647–2660
Katal A, Choudhury T, Dahiya S (2023) Energy optimized container placement for cloud data centers: a meta-heuristic approach. J Supercomput 80:98–140
Shirvani MH, Seifhosseini S (2023) Power management of cloud datacenter in infrastructure level via efficient virtual machine placement by utilizing hybrid genetic algorithm. In: 2023 international symposium on signals, circuits and systems (ISSCS). IEEE, pp 1–4
Mukhija L, Sachdeva R (2023) An effective mechanism for virtual machine placement using cuckoo search. In: 2023 2nd edition of IEEE Delhi section flagship conference (DELCON). IEEE, pp 1–5
Singh AK, Swain SR, Saxena D, Lee C-N (2023) A bio-inspired virtual machine placement toward sustainable cloud resource management. IEEE Syst J
Javadi-Moghaddam S-M, Dehghani Z (2023) Virtual machine placement in cloud using artificial bee colony and imperialist competitive algorithm. Int J Electr Comput Eng 13(4):4743–4751
Feng Y, Li C, Tu B (2023) A novel discrete bi-objective optimization method for virtual machine placement. In: 2022 IEEE 28th international conference on parallel and distributed systems (ICPADS). IEEE, pp 617–624
Singh AK, Swain SR, Lee CN (2023) A metaheuristic virtual machine placement framework toward power efficiency of sustainable cloud environment. Soft Comput 27(7):3817–3828
Guo P, Liu M, Xue Z (2018) A pso-based energy-efficient fault-tolerant static scheduling algorithm for real-time tasks in clouds. In: 2018 IEEE 4th international conference on computer and communications (ICCC). IEEE, pp 2537–2541
Zhang W, Chen X, Jiang J (2020) A multi-objective optimization method of initial virtual machine fault-tolerant placement for star topological data centers of cloud systems. Tsinghua Sci Technol 26(1):95–111
Alharbi F, Tian Y-C, Tang M, Zhang W-Z, Peng C, Fei M (2019) An ant colony system for energy-efficient dynamic virtual machine placement in data centers. Expert Syst Appl 120:228–238
Abohamama AS, Hamouda E (2020) A hybrid energy-aware virtual machine placement algorithm for cloud environments. Expert Syst Appl 150:113306
Tang Z, Mo Y, Li K, Li K (2014) Dynamic forecast scheduling algorithm for virtual machine placement in cloud computing environment. J Supercomput 70:1279–1296
Hieu NT, Di Francesco M, Ylä-Jääski A (2017) Virtual machine consolidation with multiple usage prediction for energy-efficient cloud data centers. IEEE Trans Serv Comput 13(1):186–199
Zeng J, Ding D, Kang K, Xie H, Yin Q (2022) Adaptive drl-based virtual machine consolidation in energy-efficient cloud data center. IEEE Trans Parallel Distrib Syst 33(11):2991–3002
Bharathi PD, Prakash P, Kiran MVK (2017) Virtual machine placement strategies in cloud computing. In: 2017 innovations in power and advanced computing technologies (i-PACT). IEEE, pp 1–7
Wu J, Shen H (2017) Efficient algorithms for vm placement in cloud data center. In: Proceedings of the parallel architecture, algorithm and programming: 8th international symposium, PAAP 2017, Haikou, China, June 17–18, 2017, vol 8. Springer, pp 353–365
Chekuri C, Khanna S (2004) On multidimensional packing problems. SIAM J Comput 33(4):837–851
Dong J, Jin X, Wang H, Li Y, Zhang P, Cheng S (2013) Energy-saving virtual machine placement in cloud data centers. In: 2013 13th IEEE/ACM international symposium on cluster, cloud, and grid computing. IEEE, pp 618–624
Gao Y, Guan H, Qi Z, Hou Y, Liu L (2013) A multi-objective ant colony system algorithm for virtual machine placement in cloud computing. J Comput Syst Sci 79(8):1230–1242
Lee YC, Zomaya AY (2012) Energy efficient utilization of resources in cloud computing systems. J Supercomput 60:268–280
Abdel-Basset M, Abdle-Fatah L, Sangaiah AK (2019) An improved lévy based whale optimization algorithm for bandwidth-efficient virtual machine placement in cloud computing environment. Clust Comput 22:8319–8334
Mandal CA, Chakrabarti PP, Ghose S (1998) Complexity of fragmentable object bin packing and an application. Comput Math Appl 35(11):91–97
Karp RM (2010) Reducibility among combinatorial problems. In: Jünger M, Liebling TM, Naddef D, Nemhauser GL, Pulleyblank WR, Reinelt G, Rinaldi G, Wolsey LA (eds) 50 Years of integer programming 1958–2008 - from the early years to the state-of-the-art. Springer, Berlin, pp 219–241. https://doi.org/10.1007/978-3-540-68279-0_8
Yousefi M (2023) Combinated random best first fit. https://github.com/MalekYousefi/CRBFF
Sampaio AM, Barbosa JG, Prodan R (2015) Piasa: a power and interference aware resource management strategy for heterogeneous workloads in cloud data centers. Simul Model Pract Theory 57:142–160
GCE Dataset (2019) https://cloud.google.com/blog/products/compute/google-compute-engine-gets-new-e2-vm-machine-types
Azizi S, Zandsalimi M, Li D (2020) An energy-efficient algorithm for virtual machine placement optimization in cloud data centers. Clust Comput 23:3421–3434
Azure Dataset (2022) https://learn.microsoft.com/en-us/azure/virtual-machines/sizes-previous-gen
Krishnan S, Gonzalez JLU, Krishnan S, Gonzalez JLU (2015) Google compute engine. Building your next big thing with google cloud platform: a guide for developers and enterprise architects, pp 53–81
Bisong E, Bisong E (2019) An overview of google cloud platform services. Building Machine learning and deep learning models on google cloud platform: a comprehensive guide for beginners, pp 7–10
Li Z, OBrien L, Ranjan R, Zhang M (2013) Early observations on performance of google compute engine for scientific computing. In: 2013 IEEE 5th international conference on cloud computing technology and science, vol 1. IEEE, pp 1–8
Kokkinos P, Varvarigou TA, Kretsis A, Soumplis P, Varvarigos EA (2013) Cost and utilization optimization of amazon ec2 instances. In: 2013 IEEE sixth international conference on cloud computing. IEEE, pp 518–525
Saini R, Behl R (2020) An introduction to aws-ec2 (elastic compute cloud). In: ICRMAT, pp 99–102
Madhuri T, Sowjanya P (2016) Microsoft azure v/s amazon AWS cloud services: a comparative study. Int J Innov Res Sci Eng Technol 5(3):3904–3907
Shi W, Hong B (2011) Towards profitable virtual machine placement in the data center. In: 2011 fourth IEEE international conference on utility and cloud computing. IEEE, pp 138–145
Khan MA, Paplinski A, Khan AM, Murshed M, Buyya R (2018) Dynamic virtual machine consolidation algorithms for energy-efficient cloud resource management: a review. Sustain Cloud Energy Serv Princ Pract 135–165
Jangiti S, Sri Ram E, Shankar Sriram V (2019) Aggregated rank in first-fit-decreasing for green cloud computing. In: Cognitive informatics and soft computing: proceeding of CISC 2017. Springer, pp 545–555
Yue M (1991) A simple proof of the inequality ffd (l) ≤ 11/9 opt (l) + 1, ∀l for the ffd bin-packing algorithm. Acta Math Appl Sin 7(4):321–331
Anand A, Lakshmi J, Nandy S (2013) Virtual machine placement optimization supporting performance slas. In: 2013 IEEE 5th international conference on cloud computing technology and science, vol 1. IEEE, pp 298–305
Tseng F-H, Chen C-Y, Chou L-D, Chao H-C, Niu J-W (2015) Service-oriented virtual machine placement optimization for green data center. Mobile Netw Appl 20:556–566
Braiki K, Youssef H (2020) Fuzzy-logic-based multi-objective best-fit-decreasing virtual machine reallocation. J Supercomput 76:427–454
Wei W, Wang K, Wang K, Gu H, Shen H (2020) Multi-resource balance optimization for virtual machine placement in cloud data centers. Comput Electr Eng 88:106866
Ji S, Da Li M, Ji N, Li B (2018) An online virtual machine placement algorithm in an over-committed cloud. In: 2018 IEEE international conference on cloud engineering (IC2E). IEEE, pp 106–112
Duong-Ba T, Tran T, Nguyen T, Bose B (2018) A dynamic virtual machine placement and migration scheme for data centers. IEEE Trans Serv Comput 14(2):329–341
Mosa A, Sakellariou R (2019) Dynamic virtual machine placement considering cpu and memory resource requirements. In: 2019 IEEE 12th international conference on cloud computing (CLOUD). IEEE, pp 196–198
Shen D, Luo J, Dong F, Zhang J (2019) Virtco: joint coflow scheduling and virtual machine placement in cloud data centers. Tsinghua Sci Technol 24(5):630–644
Medara R, Singh RS (2021) Energy-aware workflow task scheduling in clouds with virtual machine consolidation using discrete water wave optimization. Simul Model Pract Theory 110:102323
Acknowledgements
We thank University of Kashan for supporting this research.
Funding
This research was fully supported and funded by University of Kashan.
Author information
Authors and Affiliations
Contributions
M.Y. obtained the real case studies and achieved the results by applying the proposed method to the study. In addition, he provided the related study. S.M.B. proposed the suggested method and supervised the research.
Corresponding author
Ethics declarations
Conflict of interest
There is no Conflict of interest.
Ethics approval
The authors declare that they used no ethical matters.
Consent to participate
Yousefi and Babamir declare their consent to prticipate in this paper.
Consent for publication
Yousefi and Babamir declare their consent to publish this paper.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix A: Illustrative example
Appendix A: Illustrative example
In this part, an example is given to trace the steps of the CRBFF algorithm, and how it works is explained by calculating the parameters value of all the equations. We consider a CDC consisting of two PMs with different resource capacities as shown in Table 6. According to the explanations given in Sect. 3, each PM has a maximum and minimum power consumption. In this example, we assume the maximum value of the PM \(P_1\) to be 1300 and PM \(P_2\) to be 2000, and the minimum value for each of them is obtained by multiplying the maximum value by 0.7. Then, through Eq. 6, the power efficiency of each PM is calculated, which is also shown in Table 6.
Also, five VMs are considered with the amount of resource demands in different scales, which can be seen in Table 7.
According to Algorithm 1, in the first part, PMs are sorted in descending order based on their power efficiency, in which in this example, PM \(P_1\) has a higher priority than PM \(P_2\), and as long as it has enough capacity, it can be a candidate for the placement process. Next, the number of randomly selected VMs is calculated through Eq. 10. The value of N is obtained based on the number of VMs and PMs, where its value is equal to three, which means that in each step, three VMs are randomly selected. In the next part of the algorithm, for the current PM, the amount of resource wastage when randomly selected VMs can be placed on it is calculated through Eq. 5. After that, each of the VMs that leads to the least amount of resource wastage is placed on the current PM and removed from the list of VMs, and the resource capacity of the current PM is updated. The algorithm continues for the remaining VMs until they are placed on PMs. In Table 8, the amount of resource wastage of the randomly selected VMs in each step is given, which shows that the proposed CRBFF performs placement optimally with minimal resource wastage and the number of PMs used.
According to Table 8, in the first step, three VMs \(V_2\), \(V_3\) and \(V_5\) are randomly and uniformly selected for placement, and for each of them, the amount of resource wastage on the current PM \(P_1\) is calculated if \(P_1\) has enough resources. Then, among them, \(V_3\), which leads to the least waste of resources, is placed on \(P_1\) and removed from the list of VMs, and then the resources capacity of \(P_1\) is updated. In the second step, among the remaining VMs, three VMs are selected again, where VMs \(V_1\), \(V_4\) and \(V_5\) are candidates. Also, because \(P_1\) still has the resource capacity, it is the first priority to place VMs, so the calculation of resource wastage is done for the selected VMs, and then because \(V_4\) has the smaller amount, it is placed on \(P_1\), and it is removed from the list of VMs. The third step, in which only three VMs are remained, and because the value of N is equal to three, all VMs are selected. At this step, because \(P_1\) does not have enough resources for placement, \(P_2\) becomes a candidate, and the resource wastage for it is calculated for the selected VMs. Since \(V_1\) has the smaller value, it is placed on \(P_2\) and the resource capacity of \(P_2\) is updated. In the fourth step, the number of remaining VMs is less than the value of N, so all of them are selected, and since \(V_5\) wastes less resources, it is placed on \(P_2\), and then the resources of \(P_2\) are updated. In the fifth step, there is only one VM and since \(P_2\) has enough resources, it places \(V_2\). When the list of VMs is empty, the execution of the algorithm ends. After the completion of the placement process by CRBFF, all the VMs have been placed efficiently and the remaining CPU and memory resources capacity are 0 MIPS and 536 MB for \(P_1\) and 0 MIPS and 128 MB for \(P_2\), respectively, which shows that the proposed CRBFF algorithm has used PMs optimally and has provided a significant performance. To obtain the amount of resources utilization, normalized remaining resources, total resource wastage and total power consumption of PMs, the VMs placed on each PM are needed, which is calculated through Eq. 1, and the obtained values for \(x_{ij}\) matrix are as follows:

where two VMs \(V_3\) and \(V_4\) are placed on \(P_1\), and three VMs \(V_1\), \(V_2\) and \(V_5\) are placed on \(P_2\). Also, the active state of PMs is calculated through Eq. 2 as the following array

where the value of both PMs \(P_1\) and \(P_2\) is one, and it means that PMs have been used. After placing the VMs by CRBFF, the obtained values are calculated through different equations to analyze the efficiency of the algorithm, which are shown in Table 9. The resources utilization of PMs and the amount of their normalized remaining resources as well as their power consumption and resource wastage are respectively calculated by Eqs. 3, 4, 7 and 5. Also, the total amount of power consumption and resource wastage of PMs are obtained through Eqs. 8 and 9.
The data in Table 9 shows that the utilization rate of the CPU resource of both \(P_1\) and \(P_2\) is 100%, and the utilization rate of their memory resource is 87% and 96%, respectively. Therefore, the amount of their remaining resource has reached the minimum possible amount, in other words, the amount of their resource wastage is in the best possible state. Focusing on power consumption and resource wastage, \(P_1\) has the lower power consumption than \(P_2\) in kilowatts, while its resource wastage, which is a unit is higher than \(P_2\) because it has more remaining memory resource and cannot be used for other VMs. Finally, the total power consumption and resource wastage of PMs shows that the algorithm has a suitable performance for the VMP problem. The performance of the proposed CRBFF algorithm on this small example also shows that significant results can be obtained for real and large CDCs as well.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Yousefi, M., Babamir, S.M. A hybrid energy-aware algorithm for virtual machine placement in cloud computing. Computing 106, 1297–1320 (2024). https://doi.org/10.1007/s00607-024-01280-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-024-01280-3