Abstract
This paper is devoted to the quality estimation of virtual machine (VM) placement in cloud infrastructures, i.e., to choose the best hosts for a given set of VMs. We focus on test generation and monitoring techniques for comparing the placement result of a given implementation with an optimal solution with respect to given criteria. We show how Integer Linear Programming problems can be formulated and utilized for deriving test suites and optimal solutions to provide verdicts concerning the quality of VM placement implementations; the quality is calculated as the distance from an optimal placement for a given criterion (or a set of criteria). The presented approach is generic and showcased on resource utilization, energy consumption, and resource over-commitment cost. Experiments performed with different VM placement algorithms (including the VM placement algorithms implemented in widely used platforms, such as OpenStack) exhibit the competence of such algorithms with respect to different criteria.
Similar content being viewed by others
Notes
Number of cores in compute-centric applications.
Quite often CPU and RAM are considered.
References
Babu, K.R.R., & Samuel, P. (2014). Virtual machine placement for improved quality in IaaS cloud. In 2014 4th international conference on advances in computing and communications (pp. 190–194). https://doi.org/10.1109/ICACC.2014.53.
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. Concurrency and Computation: Practice and Experience, 24(13), 1397–1420. https://doi.org/10.1002/cpe.1867.
Bonde, D. (2010). Techniques for virtual machine placement in clouds. Master’s thesis, Indian Institute of Computer Science and Engineering.
Calheiros, R.N., Ranjan, R., Beloglazov, A., De Rose, C.A.F., Buyya, R. (2011). Cloudsim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Software: Practice and Experience, 41(1), 23–50. https://doi.org/10.1002/spe.995.
Chowdhury, M.R., Mahmud, M.R., Rahman, R.M. (2015). Implementation and performance analysis of various vm placement strategies in cloudsim. Journal of Cloud Computing, 4(1), 20. https://doi.org/10.1186/s13677-015-0045-5.
Culberson, J.C., & Luo, F. (1996). Exploring the k-colorable landscape with iterated greedy. Cliques, coloring, and satisfiability: second DIMACS implementation challenge pp. 245–284.
Dantzig, G. (1963). Linear programming and extensions. Princeton: Princeton University Press.
Dayarathna, M., Wen, Y., Fan, R. (2016). Data center energy consumption modeling: a survey. IEEE Communications Surveys Tutorials, 18(1), 732–794. https://doi.org/10.1109/COMST.2015.2481183.
Fei, M., Feng, L., Zhen, L. (2012). Multi-objective optimization for initial virtual machine placement in cloud data center. Journal of Information & Computational Science, 9(16), 5029–5038.
Тимошевская, Н.Е., (2009) Разработка и исслещование параллельнюх комбинаторнюх алгоритмов. ПРиКЛАДНАЯ ДиСКРЕТНАЯ МАТЕМАТиКА (ПДМ) 2(4):96–103.
Gohil, B., Shah, S., Golechha, Y., Patel, D. (2016). A comparative analysis of virtual machine placement techniques in the cloud environment. International Journal of Computer Applications, 156(14), 12–18. https://doi.org/10.5120/ijca2016912530.
Gomory, R.E. (1958). Outline of an algorithm for integer solutions to linear programs. Bulletin of the American Mathematical Society, 64(5), 275–278.
Ibrahim, H., Aburukba, R.O., El-Fakih, K. (2018). An integer linear programming model and adaptive genetic algorithm approach to minimize energy consumption of cloud computing data centers. Computers & Electrical Engineering, 67, 551–565. https://doi.org/10.1016/j.compeleceng.2018.02.028.
Karp, R.M. (1992). On-line algorithms versus off-line algorithms: how much is it worth to know the future?. In IFIP congress (1) (Vol. 12, pp. 416–429).
Lenstra, H.W. Jr. (1983). Integer programming with a fixed number of variables. Mathematics of Operations Research, 8(4), 538–548.
Lewis, R. (2009). A general-purpose hill-climbing method for order independent minimum grouping problems: A case study in graph colouring and bin packing. Computers & Operations Research, 36(7), 2295–2310. https://doi.org/10.1016/j.cor.2008.09.004.
López, J. (2017). Vmplacementsim. Web Resource. https://github.com/jorgelopezcoronado/VMPlacementSim.
López, J., Kushik, N., Zeghlache, D. (2017). Quality estimation of virtual machine placement in cloud infrastructures. In Proceedings of the 29th IFIP WG 6.1 International Conference on Testing Software and Systems, ICTSS 2017, St. Petersburg, Russia, October 9–11, 2017 (pp. 213–229). https://doi.org/10.1007/978-3-319-67549-7_13.
Mann, Z.A., & Szabó, M. (2017). Which is the best algorithm for virtual machine placement optimization? Concurrency and Computation: Practice and Experience 29(10). https://doi.org/10.1002/cpe.4083.
Masdari, M., Nabavi, S.S., Ahmadi, V. (2016). An overview of virtual machine placement schemes in cloud computing. Journal of Network and Computer Applications, 66, 106–127.
Mathur, A.P. (2008). Foundations of software testing, 1st edn. Reading: Addison-Wesley Professional.
OpenStack. (2015). Deep dive: virtual machine placement in openstack:. Web Resource. https://platform9.com/blog/virtual-machine-placement-openstack/.
Optimization, G., & et al. (2012). Gurobi optimizer reference manual. 2:13, e4083 http://www.gurobi.com.
Papadimitriou, C.H., & Steiglitz, K. (1982). Combinatorial optimization: algorithms and complexity. Upper Saddle River: Prentice-Hall, Inc.
Pires, F.L., & Barán, B. (2015). Virtual machine placement literature review. arXiv:1506.01509.
Vazirani, V.V. (2001). Approximation algorithms. New York: Springer New York, Inc.
Xu, X., Teramoto, K., Morales, A., Huang, H.H. (2013). Dual: reliability-aware power management in data centers. In 2013 13th IEEE/ACM international symposium on cluster, cloud, and grid computing (pp. 530–537). https://doi.org/10.1109/CCGrid.2013.82.
Acknowledgements
The authors would like to thank Professor Nina Yevtushenko for fruitful discussions. Likewise, the authors would like to thank the anonymous reviewers for their valuable feedback which has greatly improved the work.
Funding
The results obtained in this work were partially funded by the Celtic-Plus European project SENDATE, ID C2015/3-1.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix: Extended graphics
Appendix: Extended graphics
Rights and permissions
About this article
Cite this article
López, J., Kushik, N. & Zeghlache, D. Virtual machine placement quality estimation in cloud infrastructures using integer linear programming. Software Qual J 27, 731–755 (2019). https://doi.org/10.1007/s11219-018-9420-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-018-9420-z