A Virtual Machine Placement Algorithm for Resource Allocation in Cloud-Based Environments

  • David H. S. Lima University of Coimbra / IFAL
  • Andre L. L. Aquino UFAL
  • Marilia Curado University of Coimbra


This research paper presents a Virtual Machine Placement algorithm designed to optimize the service allocation process, which is one of the most significant challenges in resource allocation and management. Our solution employs a ranking strategy based on global resource scarcity, where we consider all the information contained in datacenter hosts during the allocation process. We compare our approach with two different literature-based methods regarding task allocation time and the number of allocated resources. To evaluate our proposal, we consider scenarios in which requisitions arrive at different times or simultaneously. The first scenario represents a realistic situation where no knowledge is available regarding task arrival. Meanwhile, the second scenario represents a dense situation where many tasks arrive together. Our evaluations show that our solution yields better results in both cases, especially when requisitions arrive simultaneously. Our solution reduced the allocation time by around 25% on average and achieved better load distribution among hosts.


Alboaneen, D., Tianfield, H., Zhang, Y., and Pranggono, B. (2021). A metaheuristic method for joint task scheduling and virtual machine placement in cloud data centers. Future Generation Computer Systems, 115:201–212.

Bobroff, N., Kochut, A., and Beaty, K. (2007). Dynamic placement of virtual machines for managing sla violations. In 2007 10th IFIP/IEEE International Symposium on Integrated Network Management, pages 119–128.

Chen, T., Zhu, Y., Gao, X., Kong, L., Chen, G., and Wang, Y. (2018). Improving resource utilization via virtual machine placement in data center networks. Mobile Networks and Applications, 23(2):227–238.

Duong-Ba, T., Tran, T., Nguyen, T., and Bose, B. (2018). A dynamic virtual machine placement and migration scheme for data centers. IEEE Transactions on Services Computing, 14(2):329–341.

Fatima, A., Javaid, N., Sultana, T., Hussain, W., Bilal, M., Shabbir, S., Asim, Y., Akbar, M., and Ilahi, M. (2018). Virtual machine placement via bin packing in cloud data centers. Electronics, 7(12):389.

Feng, H., Deng, Y., and Li, J. (2021). A global-energy-aware virtual machine placement strategy for cloud data centers. Journal of Systems Architecture, 116:102048.

Gupta, M. K., Jain, A., and Amgoth, T. (2018). Power and resource-aware virtual machine placement for iaas cloud. Sustainable Computing: Informatics and Systems, 19:52–60.

Jiang, H.-P. and Chen, W.-M. (2018). Self-adaptive resource allocation for energy-aware virtual machine placement in dynamic computing cloud. Journal of Network and Computer Applications, 120:119–129.

Masdari, M., Nabavi, S. S., and Ahmadi, V. (2016). An overview of virtual machine placement schemes in cloud computing. Journal of Network and Computer Applications, 66:106–127.

Omer, S., Azizi, S., Shojafar, M., and Tafazolli, R. (2021). A priority, power and traffic-aware virtual machine placement of iot applications in cloud data centers. Journal of Systems Architecture, 115:101996.

Qin, Y., Wang, H., Yi, S., Li, X., and Zhai, L. (2020). Virtual machine placement based on multi-objective reinforcement learning. Applied Intelligence, 50(8):2370–2383.

Rimal, B. P., Choi, E., and Lumb, I. (2009). A taxonomy and survey of cloud computing systems. In 2009 Fifth International Joint Conference on INC, IMS and IDC, pages 44–51. Ieee.

Silva Filho, M. C., Monteiro, C. C., Inácio, P. R., and Freire, M. M. (2018). Approaches for optimizing virtual machine placement and migration in cloud environments: A survey. Journal of Parallel and Distributed Computing, 111:222–250.

Son, J., He, T., and Buyya, R. (2019). CloudSimSDN-NFV: Modeling and Simulation of Network Function Virtualization and Service Function Chaining in Edge Computing environments. Software: Practice and Experience, 49(12):1748–1764.

Song, Y., Zhang, C., and Fang, Y. (2008). Multiple multidimensional knapsack problem and its applications in cognitive radio networks. In MILCOM 2008 2008 IEEE Military Communications Conference, pages 1–7.

Sridharan, R. and Domnic, S. (2021). Network policy aware placement of tasks for elastic applications in iaas-cloud environment. Cluster Computing, 24(2):1381–1396.

Taleb, T., Samdanis, K., Mada, B., Flinck, H., Dutta, S., and Sabella, D. (2017). On Multi-Access Edge Computing: A Survey of the Emerging 5G Network Edge Cloud Architecture and Orchestration. IEEE Communications Surveys Tutorials, 19(3):1657–1681.

Talebian, H., Gani, A., Sookhak, M., Abdelatif, A. A., Yousafzai, A., Vasilakos, A. V., and Yu, F. R. (2020). Optimizing virtual machine placement in iaas data centers: taxonomy, review and open issues. Cluster Computing, 23(2):837–878.

Usmani, Z. and Singh, S. (2016). A survey of virtual machine placement techniques in a cloud data center. Procedia Computer Science, 78:491–498.

Wilkes, J. (2011). More Google cluster data. Google research blog. Posted at [link].
LIMA, David H. S.; AQUINO, Andre L. L.; CURADO, Marilia. A Virtual Machine Placement Algorithm for Resource Allocation in Cloud-Based Environments. In: WORKSHOP DE GERÊNCIA E OPERAÇÃO DE REDES E SERVIÇOS (WGRS), 28. , 2023, Brasília/DF. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 113-124. ISSN 2595-2722. DOI: https://doi.org/10.5753/wgrs.2023.764.