Comparative study between exact and metaheuristic approaches for virtual machine placement process as knapsack problem

  • Saloua El MotakiEmail author
  • Ali Yahyaouy
  • Hamid Gualous
  • Jalal Sabor


In cloud computing, the virtual machine placement is a critical process which aims to identify the most appropriate physical machine to host the virtual machine. It has a significant impact on the performance, resource usage and energy consumption of the datacenters. In order to reduce the number of active physical machines in a datacenter, several virtual machine placement schemes have already been designed and proposed. This study investigates how do four different methods compare to each other in terms of accuracy and efficiency for solving the virtual machine placement as a knapsack problem. A new approach has been adopted which focuses on maximizing the use of a server’s central processing unit resource considering a certain capacity threshold. The compared methods are classified; two belong to the category of the exact methods, i.e., branch and bound and dynamic programming, while the other two represent the approximate approach, i.e., genetic algorithm and ant colony optimization algorithm. Experimental results show that the metaheuristic ant colony optimization algorithm outperforms the other three algorithms in terms of efficiency.


Virtual machine placement Knapsack problem Exact methods Approximate methods 



  1. 1.
    Kant K (2009) Data center evolution: a tutorial on state of the art, issues, and challenges. Comput Netw 53(17):2939–2965CrossRefGoogle Scholar
  2. 2.
    Usmani Z, Singh S (2016) A survey of virtual machine placement techniques in a cloud data center. Procedia Comput Sci 78:491–498 (1st International Conference on Information Security & Privacy 2015) CrossRefGoogle Scholar
  3. 3.
    Bobroff N, Kochut A, Beaty K (2007) Dynamic placement of virtual machines for managing sla violations. In: 2007 10th IFIP/IEEE International Symposium on Integrated Network Management, pp 119–128Google Scholar
  4. 4.
    Shawish A, Salama M (2014) Cloud computing: paradigms and technologies. Springer, Berlin, pp 39–67Google Scholar
  5. 5.
    Wang X, Wang Y (2011) Coordinating power control and performance management for virtualized server clusters. IEEE Trans Parallel Distrib Syst 22(2):245–259CrossRefGoogle Scholar
  6. 6.
    Masdari M, Shahab Nabavi S, Ahmadi V (2016) An overview of virtual machine placement schemes in cloud computing. J Netw Comput Appl 66:106–127CrossRefGoogle Scholar
  7. 7.
    Mishra SK, Puthal D, Sahoo B, Prakash Jayaraman P, Jun S, Zomaya AY, Ranjan R (2018) Energy-efficient VM-placement in cloud data center. Sustain Comput Inform Syst 20:48–55Google Scholar
  8. 8.
    Choudharya A, Ranab S, Matahaic KJ (2016) A critical analysis of energy efficient virtual machine placement techniques and its optimization in a cloud computing environment. In: International Conference on Information Security & Privacy (ICISP2015), 11–12 December 2015, Nagpur, India, pp 132–138Google Scholar
  9. 9.
    Hassan Z, Morteza BS (2017) A method for the optimum selection of datacenters in geographically distributed clouds. J Supercomput 73(9):4042–4081CrossRefGoogle Scholar
  10. 10.
    Speitkamp B, Bichler M (2010) A mathematical programming approach for server consolidation problems in virtualized data centers. IEEE Trans Serv Comput 3(4):266–278CrossRefGoogle Scholar
  11. 11.
    Pisinger D (1995) Algorithms for knapsack problems. PhD thesis, Universitetsparken 1, DK-2100 Copenhagen, DenmarkGoogle Scholar
  12. 12.
    Wikipedia. Np-hardness, 2018Google Scholar
  13. 13.
    Camati RS, Lima L Jr, Calsavara A (2014) Solving the virtual machine placement problem as a multiple multidimensional knapsack problem. In: ICN 2014: The Thirteenth International Conference on NetworksGoogle Scholar
  14. 14.
    Alboaneen DA, Tianfield H, Zhang Y (2016) Glowworm swarm optimisation algorithm for virtual machine placement in cloud computing. In: 2016 International IEEE Conferences on Ubiquitous Intelligence Computing, Advanced and Trusted Computing, Scalable Computing and Communications, Cloud and Big Data Computing, Internet of People, and Smart World Congress (UIC/ATC/ScalCom/CBDCom/IoP/SmartWorld), pp 808–814Google Scholar
  15. 15.
    Yan Y, Jian C, Minglu L (2013) A network-aware virtual machine allocation in cloud datacenter. In: Proceedings of the 10th IFIP International Conference on Network and Parallel Computing, Volume 8147, New York, NY, USA, 2013. Springer, New York, pp 71–82Google Scholar
  16. 16.
    Campegiani P (2009) A genetic algorithm to solve the virtual machines resources allocation problem in multi-tier distributed systemsGoogle Scholar
  17. 17.
    Al-Dulaimy A, Zekri A, Itani W, Zantout R (2017) Paving the way for energy efficient cloud data centers: a type-aware virtual machine placement strategy. In: 2017 IEEE International Conference on Cloud Engineering (IC2E), pp 5–8Google Scholar
  18. 18.
    Amarante SRM, Roberto FM, Cardoso AR, Celestino J (2013) Using the multiple knapsack problem to model the problem of virtual machine allocation in cloud computing. In: 2013 IEEE 16th International Conference on Computational Science and Engineering, pp 476–483Google Scholar
  19. 19.
    Gandhi A, Balter Mor H, Rajarshi D, Charles L (2009) Optimal power allocation in server farms. SIGMETRICS Perform Eval Rev 37(1):157–168Google Scholar
  20. 20.
    Arjona J, Chatzipapas A, Anta AF, Mancuso V (2014) A measurement-based analysis of the energy consumption of data center servers, vol 3, no 4, pp 266–278Google Scholar
  21. 21.
    Shaheen A, Sleit A (2016) Comparing between different approaches to solve the 0/1 knapsack problem. IJCSNS Int J Comput Sci Netw Secur 16:1–10Google Scholar
  22. 22.
    Maya H, Shrestha D (2004) Different approaches to solve the 0/1 knapsack problem. PhD thesis, Simpson College, Indianola, IA 50125Google Scholar
  23. 23.
    Blum C, Puchinger J, Raidl GR, Roli A (2011) Hybrid metaheuristics in combinatorial optimization: a survey. Appl Soft Comput 11:4135–4151CrossRefzbMATHGoogle Scholar
  24. 24.
    Dudzinski K, Walukiewicz S (1987) Exact methods for the knapsack problem and its generalizations. Eur J Oper Res 28:3–21MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Silvano M, Paolo T (1984) A mixture of dynamic programming and branch-and-bound for the subset-sum problem. Manag Sci 30:765–771MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    Kolesar PJ (1968) A branch and bound algorithm for knapsack problem. Manag Sci 13:723–735CrossRefGoogle Scholar
  27. 27.
    Anne B, Yves R, Frédéric V (2013) A guide to algorithm design: paradigms, methods, and complexity analysis. Applied algorithms and data structures series. Chapman & Hall/CRC, Boca RatonGoogle Scholar
  28. 28.
    Richard B (2010) Dynamic programming. Princeton University Press, PrincetonGoogle Scholar
  29. 29.
    Shachar I, Rohit S, Armando S, Kuat Y, Yongquan L, Charles L, Rezaul C (2016) Deriving divide-and-conquer dynamic programming algorithms using solver-aided transformations. SIGPLAN Not 51:145–164Google Scholar
  30. 30.
    Silver EA, Victor R, Vidal V, de Werra D (1980) A tutorial on heuristic methods. Eur J Oper Res 5(3):153–162MathSciNetCrossRefGoogle Scholar
  31. 31.
    Uwe A, Alistair C (2011) Heuristic optimisation. J Oper Res Soc 62:251–252CrossRefGoogle Scholar
  32. 32.
    Baghel M, Agrawal S, Silakari S (2012) Survey of metaheuristic algorithms for combinatorial optimization. Int J Comput Appl 58(19):21–31Google Scholar
  33. 33.
    Holland JH (1992) Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control and artificial intelligence. MIT Press, CambridgeGoogle Scholar
  34. 34.
    Sami K, Thomas B, Jörg H (1994) The zero/one multiple knapsack problem and genetic algorithms. In: Proceedings of the 1994 ACM Symposium on Applied Computing, New York, NY, USA. ACM, pp 188–193Google Scholar
  35. 35.
    Chu P, Beasley J (1998) A genetic algorithm for the multidimensional knapsack problem. J Heuristics 4:63–86CrossRefzbMATHGoogle Scholar
  36. 36.
    Cotta C, Troya JM (1998) A hybrid genetic algorithm for the 0–1 multiple knapsack problem. Springer, ViennaGoogle Scholar
  37. 37.
    Raidl GR (1998) An improved genetic algorithm for the multiconstrained 0-1 knapsack problem. In: 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No. 98TH8360), pp 207–211Google Scholar
  38. 38.
    Dorigo M, Maniezzo V, Colorni A (1996) Ant system: optimization by a colony of cooperating agents. IEEE Trans Syst Man Cybern Part B (Cybern) 26(1):29–41CrossRefGoogle Scholar
  39. 39.
    Dorigo M, Di Caro G (1999) Ant colony optimization: a new meta-heuristic. In: Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406), vol 2, pp 1470–1477Google Scholar
  40. 40.
    Shi H (2006) Solution to 0/1 knapsack problem based on improved ant colony algorithm. In: 2006 IEEE International Conference on Information Acquisition, pp 1062–1066Google Scholar
  41. 41.
    Zhao P, Zhao P, Zhang X (2006) A new ant colony optimization for the knapsack problem. In: 2006 7th International Conference on Computer-Aided Industrial Design and Conceptual Design, pp 1–3Google Scholar
  42. 42.
    Changdar C, Mahapatra GS, Pal RK (2013) An ant colony optimization approach for binary knapsack problem under fuzziness. Appl Math Comput 223:243–253Google Scholar
  43. 43.
    Leguizamon G, Michalewicz Z (1999) A new version of ant system for subset problems. In: Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406), vol 2, pp 1459–1464Google Scholar
  44. 44.
    Fidanova S (2004) Evolutionary algorithm for multiple knapsack problemGoogle Scholar
  45. 45.
    Ines A, Christine S, Khaled G (2004) Ant algorithm for the multidimensional knapsack problem. In: Proceedings of International Conference on Bioinspired Methods and Their Applications (BIOMA 2004), Slovenia, Slovenia, pp 63–72Google Scholar
  46. 46.
    Wikipedia (2018) Pseudo-polynomial timeGoogle Scholar
  47. 47.
    Changyeon J, Youngsu C, Bernhard E (2017) A machine learning approach to live migration modeling. In: ACM Symposium on Cloud Computing, SoCC’17Google Scholar
  48. 48.
    Rodola G (2019) Psutil documentationGoogle Scholar
  49. 49.
    Beazley DM (2001) Python essential reference. Sams Publishing, IndianapolisGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.University Sidi Mohamed Ben AbdellahFezMorocco
  2. 2.University of Caen NormandyCaenFrance
  3. 3.ENSAM-Engineering SchoolMeknesMorocco

Personalised recommendations