Skip to main content
Log in

Virtual machine placement quality estimation in cloud infrastructures using integer linear programming

  • Published:
Software Quality Journal Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. Number of cores in compute-centric applications.

  2. 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Book  MATH  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • Тимошевская, Н.Е., (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.

    Article  Google Scholar 

  • Gomory, R.E. (1958). Outline of an algorithm for integer solutions to linear programs. Bulletin of the American Mathematical Society, 64(5), 275–278.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Mathur, A.P. (2008). Foundations of software testing, 1st edn. Reading: Addison-Wesley Professional.

    Google Scholar 

  • 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.

    MATH  Google Scholar 

  • 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.

    MATH  Google Scholar 

  • 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.

Download references

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

Authors

Corresponding author

Correspondence to Jorge López.

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

Fig. 4
figure 4

First fit vs available random evaluation: resource utilization

Fig. 5
figure 5

First fit vs available random evaluation: power/energy consumption

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-018-9420-z

Keywords

Navigation