Journal of Grid Computing

, Volume 16, Issue 1, pp 113–135 | Cite as

Genetic Algorithm for Multi-Objective Optimization of Container Allocation in Cloud Architecture

  • Carlos GuerreroEmail author
  • Isaac Lera
  • Carlos Juiz


The use of containers in cloud architectures has become widespread, owing to advantages such as limited overheads, easier and faster deployment, and higher portability. Moreover, they present a suitable architectural solution for the deployment of applications created using a microservice development pattern. Despite the large number of solutions and implementations, there remain open issues that have not been completely addressed in container automation and management. Container resource allocation influences system performance and resource consumption, and so it is a key factor for cloud providers. We propose a genetic algorithm approach, using the Non-dominated Sorting Genetic Algorithm-II (NSGA-II), to optimize container allocation and elasticity management, motivated by the good results obtained with this algorithm in other resource management optimization problems in cloud architectures. Our optimization algorithm enhances system provisioning, system performance, system failure, and network overhead. A model for cloud clusters, containers, microservices, and four optimization objectives is presented. Experimental results demonstrate that our approach is a suitable solution for addressing the problem of container allocation and elasticity, and it obtains better objective values than the container management policies implemented in Kubernetes.


Cloud containers Microservices Resource allocation Genetic algorithm Multi-objective optimization Performance evaluation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Adam, O., Lee, Y.C., Zomaya, A.Y.: Stochastic resource provisioning for containerized multi-tier web services in clouds. IEEE Trans. Parallel Distrib. Syst. 28(7), 2060–2073 (2017). CrossRefGoogle Scholar
  2. 2.
    Akhter, N., Othman, M.: Energy aware resource allocation of cloud data center: Review and open issues. Clust. Comput. 19(3), 1163–1182 (2016)CrossRefGoogle Scholar
  3. 3.
    de Alfonso, C., Calatrava, A., Moltó, G.: Container-based virtual elastic clusters. J. Syst. Softw. 127, 1–11 (2017). CrossRefGoogle Scholar
  4. 4.
    Amaral, M., Polo, J., Carrera, D., Mohomed, I., Unuvar, M., Steinder, M.: Performance evaluation of microservices architectures using containers. In: 2015 IEEE 14th International Symposium on Network Computing and Applications, pp. 27–34 (2015).
  5. 5.
    Balalaie, A., Heydarnoori, A., Jamshidi, P.: Microservices architecture enables devops: Migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016). CrossRefGoogle Scholar
  6. 6.
    Beloglazov, A., Abawajy, J.H., Buyya, R.: Energy-aware resource allocation heuristics for efficient management of data centers for cloud computing. Fut. Gen. Comp. Syst. 28(5), 755–768 (2012). CrossRefGoogle Scholar
  7. 7.
    Brito, M.S.D., Hoque, S., Steinke, R., Willner, A.: Towards programmable fog nodes in smart factories. In:2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W), pp. 236–241 (2016).
  8. 8.
    Caballer, M., Blanquer, I., Moltó, G., de Alfonso, C.: Dynamic management of virtual infrastructures. J. Grid Comput. 13(1), 53–70 (2015). CrossRefGoogle Scholar
  9. 9.
    Deb, K., Agrawal, S.: Understanding interactions among genetic algorithm parameters. In: FOGA, pp. 265–286 (1998)Google Scholar
  10. 10.
    Deb, K., Deb, K.: Multi-objective Optimization, pp. 403–449. Springer, Boston (2014)zbMATHGoogle Scholar
  11. 11.
    Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: Nsga-ii. Trans. Evol. Comp 6(2), 182–197 (2002). CrossRefGoogle Scholar
  12. 12.
    Di, S., Cappello, F.: Gloudsim: Google trace based cloud simulator with virtual machines. Softw. Pract. Exper. 45(11), 1571–1590 (2015). CrossRefGoogle Scholar
  13. 13.
    Durillo, J.J., Nebro, A.J., Luna, F., Alba, E.: A study of master-slave approaches to parallelize nsga-ii. In: 2008 IEEE International Symposium on Parallel and Distributed Processing, pp. 1–8 (2008).
  14. 14.
    Fazio, M., Celesti, A., Ranjan, R., Liu, C., Chen, L., Villari, M.: Open issues in scheduling microservices in the cloud. IEEE Cloud Computing 3(5), 81–88 (2016). CrossRefGoogle Scholar
  15. 15.
    Ferme, V., Ivanchikj, A., Pautasso, C., Skouradaki, M., Leymann, F.: A container-centric methodology for benchmarking workflow management systems. In: Proceedings of the 6th International Conference on Cloud Computing and Services Science - Volume 1 and 2, CLOSER 2016, pp. 74–84. SCITEPRESS - Science and Technology Publications, Lda, Portugal (2016).
  16. 16.
    Fu, S.: Failure-aware resource management for high-availability computing clusters with distributed virtual machines, vol. 70, pp. 384–393 (2010),
  17. 17.
    Gai, K., Qiu, M., Zhao, H.: Cost-aware multimedia data allocation for heterogeneous memory using genetic algorithm in cloud computing. IEEE Trans. Cloud Comput. PP(99), 1–1 (2017). CrossRefGoogle Scholar
  18. 18.
    Gen, M., Cheng, R.: Genetic Algorithms and Engineering Optimization, vol. 7. Wiley (2000)Google Scholar
  19. 19.
    Gerlach, W., Tang, W., Wilke, A., Olson, D., Meyer, F.: Container orchestration for scientific workflows. In: 2015 IEEE International conference on cloud engineering, pp. 377–378 (2015).
  20. 20.
    Grefenstette, J.J.: Optimization of control parameters for genetic algorithms. IEEE Trans. Syst. Man Cybern. 16(1), 122–128 (1986). CrossRefGoogle Scholar
  21. 21.
    Guan, X., Wan, X., Choi, B.Y., Song, S., Zhu, J.: Application oriented dynamic resource allocation for data centers using docker containers. IEEE Commun. Lett. PP(99), 1–1 (2016). Google Scholar
  22. 22.
    Guzek, M., Bouvry, P., Talbi, E.G.: A survey of evolutionary computation for resource management of processing in cloud computing [review article]. IEEE Comput. Intell. Mag. 10(2), 53–67 (2015). CrossRefGoogle Scholar
  23. 23.
    Heidari, P., Lemieux, Y., Shami, A.: Qos assurance with light virtualization - a survey. In: 2016 IEEE International Conference on Cloud Computing Technology and Science (CloudCom), pp. 558–563 (2016)
  24. 24.
    Hidalgo, J.I., Fernández de Vega, F.: Parallel bioinspired algorithms on the grid and cloud. J. Grid Comput. 13(3), 305–308 (2015). CrossRefGoogle Scholar
  25. 25.
    Kaewkasi, C., Chuenmuneewong, K.: Improvement of container scheduling for docker using ant colony optimization. In: 2017 9th International Conference on Knowledge and Smart Technology (KST), pp. 254–259 (2017).
  26. 26.
    Kang, D.K., Choi, G.B., Kim, S.H., Hwang, I.S., Youn, C.H.: Workload-aware resource management for energy efficient heterogeneous docker containers. In: 2016 IEEE Region 10 Conference (TENCON), pp. 2428–2431 (2016)
  27. 27.
    Kaur, K., Dhand, T., Kumar, N., Zeadally, S.: Container-as-a-service at the edge: Trade-off between energy efficiency and service availability at fog nano data centers. IEEE Wirel. Commun. 24(3), 48–56 (2017). CrossRefGoogle Scholar
  28. 28.
    Konak, A., Coit, D.W., Smith, A.E.: Multi-objective optimization using genetic algorithms: A tutorial. Reliab. Eng. Syst. Safety 91(9), 992–1007 (2006). Special Issue - Genetic Algorithms and Reliability Special IssueCrossRefGoogle Scholar
  29. 29.
    Kozhirbayev, Z., Sinnott, R.O.: A performance comparison of container-based technologies for the cloud. Fut. Gen. Comput. Syst. 68, 175–182 (2017). CrossRefGoogle Scholar
  30. 30.
    Li, P., Nie, H., Xu, H., Dong, L.: A minimum-aware container live migration algorithm in the cloud environment. Int. J. Bus. Data Commun. Netw. 13(2), 15–27 (2017). CrossRefGoogle Scholar
  31. 31.
    von Lücken, C., Barán, B., Brizuela, C.: A survey on multi-objective evolutionary algorithms for many-objective problems. Comput. Optim. Appl. 58(3), 707–756 (2014). MathSciNetzbMATHGoogle Scholar
  32. 32.
    Manvi, S.S., Shyam, G.K.: Resource management for infrastructure as a service (iaas) in cloud computing: A survey. J. Netw. Comput. Appl. 41, 424–440 (2014). CrossRefGoogle Scholar
  33. 33.
    Menasce, D.A.: Tpc-w: a benchmark for e-commerce. IEEE Int. Comput. 6(3), 83–87 (2002). CrossRefGoogle Scholar
  34. 34.
    Mitchell, M.: An Introduction to Genetic Algorithms. MIT Press, Cambridge (1998)zbMATHGoogle Scholar
  35. 35.
    Nadgowda, S., Suneja, S., Kanso, A.: Comparing scaling methods for linux containers. In: 2017 IEEE International Conference on Cloud Engineering (IC2E), pp. 266–272 (2017).
  36. 36.
    Nguyen, N., Bein, D.: Distributed mpi cluster with docker swarm mode. In: 2017 IEEE 7th Annual Computing and Communication Workshop and Conference (CCWC), pp. 1–7 (2017)
  37. 37.
    Osborne, G., Weninger, T.: Ozy: a general orchestration container. In: 2016 IEEE International Conference on Web Services (ICWS), pp. 609–616 (2016)
  38. 38.
    Pahl, C., Helmer, S., Miori, L., Sanin, J., Lee, B.: A container-based edge cloud paas architecture based on raspberry pi clusters. In: 2016 IEEE 4th International Conference on Future Internet of Things and Cloud Workshops (FiCloudW), pp. 117–124 (2016)
  39. 39.
    Pahl, C., Lee, B.: Containers and clusters for edge cloud architectures – a technology review. In: 2015 3rd International Conference on Future Internet of Things and Cloud, pp. 379–386 (2015)
  40. 40.
    Pascual, J.A., Lorido-Botrán, T, Miguel-Alonso, J., Lozano, J.A.: Towards a greener cloud infrastructure management using optimized placement policies. J. Grid Comput. 13(3), 375–389 (2015). CrossRefGoogle Scholar
  41. 41.
    Peinl, R., Holzschuher, F., Pfitzer, F.: Docker cluster management for the cloud - survey results and own solution. J. Grid Comput. 14(2), 265–282 (2016). CrossRefGoogle Scholar
  42. 42.
    Pizzolli, D., Cossu, G., Santoro, D., Capra, L., Dupont, C., Charalampos, D., Pellegrini, F.D., Antonelli, F., Cretti, S.: Cloud4iot: A heterogeneous, distributed and autonomic cloud platform for the iot. In: 2016 IEEE International Conference on Cloud Computing Technology and Science (CloudCom), pp. 476–479 (2016)
  43. 43.
    Qiu, M., Ming, Z., Li, J., Gai, K., Zong, Z.: Phase-change memory optimization for green cloud with genetic algorithm. IEEE Trans. Comput. 64(12), 3528–3540 (2015). MathSciNetCrossRefzbMATHGoogle Scholar
  44. 44.
    Ramalho, F., Neto, A.: Virtualization at the network edge: A performance comparison. In: 2016 IEEE 17th International Symposium on A World of Wireless, Mobile and Multimedia Networks (WoWMoM), pp. 1–6 (2016)
  45. 45.
    Reniers, V.: The prospects for multi-cloud deployment of saas applications with container orchestration platforms. In: Proceedings of the Doctoral Symposium of the 17th International Middleware Conference, Middleware Doctoral Symposium’16, pp. 5:1–5:2. ACM, New York (2016),
  46. 46.
    Rufino, J., Alam, M., Ferreira, J., Rehman, A., Tsang, K.F.: Orchestration of containerized microservices for iiot using docker. In: 2017 IEEE International Conference on Industrial Technology (ICIT), pp. 1532–1536 (2017)
  47. 47.
    Rusek, M., Dwornicki, G., Orowski, A.: A Decentralized System for Load Balancing of Containerized Microservices in the Cloud, pp. 142–152. Springer International Publishing (2017)Google Scholar
  48. 48.
    Singh, S., Chana, I.: Cloud resource provisioning: survey, status and future research directions. Knowl. Inf. Syst. 49(3), 1005–1069 (2016). CrossRefGoogle Scholar
  49. 49.
    Singh, S., Chana, I.: A survey on resource scheduling in cloud computing: Issues and challenges. J. Grid Comput. 14(2), 217–264 (2016). CrossRefGoogle Scholar
  50. 50.
    Smith, N.A., Oommen, M., Sankaranaraynan, P.A.: Method and procedure for dynamic services orchestration that runs within an on device software container (2016). US Patent 9,264,304Google Scholar
  51. 51.
    Srinivas, M., Patnaik, L. M.: Adaptive probabilities of crossover and mutation in genetic algorithms. IEEE Trans. Syst. Man Cybern. 24(4), 656–667 (1994). CrossRefGoogle Scholar
  52. 52.
    Tan, K., Lee, T., Khor, E.: Evolutionary algorithms for multi-objective optimization: Performance assessments and comparisons. Artif. Intell. Rev. 17(4), 251–290 (2002). CrossRefzbMATHGoogle Scholar
  53. 53.
    Tao, Y., Wang, X., Xu, X., Chen, Y.: Dynamic resource allocation algorithm for container-based service computing. In: 2017 IEEE 13th International Symposium on Autonomous Decentralized System (ISADS), pp. 61–67 (2017)
  54. 54.
    Tosatto, A., Ruiu, P., Attanasio, A.: Container-based orchestration in cloud: State of the art and challenges. In: 2015 Ninth International Conference on Complex, Intelligent, and Software Intensive Systems, pp. 70–75 (2015)
  55. 55.
    Vohra, D.: Scheduling pods on nodes. In: Kubernetes Management Design Patterns, pp. 199–236. Springer (2017)Google Scholar
  56. 56.
    Weaveworks, ContainerSolutions: Socks shop - a microservices demo application (2016).
  57. 57.
    Wei, G., Vasilakos, A.V., Zheng, Y., Xiong, N.: A game-theoretic method of fair resource allocation for cloud computing services. J. Supercomput. 54(2), 252–269 (2010). CrossRefGoogle Scholar
  58. 58.
    Xu, H., Liu, W., Shu, G., Li, J.: Location-aware data block allocation strategy for hdfs-based applications in the cloud. 2016 IEEE 9th Int. Conf. Cloud Comput. 00, 252–259 (2016). CrossRefGoogle Scholar
  59. 59.
    Zhan, Z.H., Liu, X.F., Gong, Y.J., Zhang, J., Chung, H.S.H., Li, Y.: Cloud computing resource scheduling and a survey of its evolutionary approaches. ACM Comput. Surv. 47(4), 63:1–63:33 (2015). CrossRefGoogle Scholar
  60. 60.
    Zhang, Q., Cheng, L., Boutaba, R.: Cloud computing: State-of-the-art and research challenges. J. Int. Serv. Appl. 1(1), 7–18 (2010). CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media B.V., part of Springer Nature 2017

Authors and Affiliations

  1. 1.Computer Science DepartmentUniversity of Balearic IslandsPalmaSpain

Personalised recommendations