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

Abstract

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.

References

  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). https://doi.org/10.1109/TPDS.2016.2639009

    Article  Google 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)

    Article  Google Scholar 

  3. 3.

    de Alfonso, C., Calatrava, A., Moltó, G.: Container-based virtual elastic clusters. J. Syst. Softw. 127, 1–11 (2017). https://doi.org/10.1016/j.jss.2017.01.007. http://www.sciencedirect.com/science/article/pii/S0164121217300146

    Article  Google 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). https://doi.org/10.1109/NCA.49.405

  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). https://doi.org/10.1109/MS.2016.64

    Article  Google 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). https://doi.org/10.1016/j.future.2011.04.017

    Article  Google 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). https://doi.org/10.1109/FAS-W.2016.57

  8. 8.

    Caballer, M., Blanquer, I., Moltó, G., de Alfonso, C.: Dynamic management of virtual infrastructures. J. Grid Comput. 13(1), 53–70 (2015). https://doi.org/10.1007/s10723-014-9296-5

    Article  Google Scholar 

  9. 9.

    Deb, K., Agrawal, S.: Understanding interactions among genetic algorithm parameters. In: FOGA, pp. 265–286 (1998)

  10. 10.

    Deb, K., Deb, K.: Multi-objective Optimization, pp. 403–449. Springer, Boston (2014)

    Google 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). https://doi.org/10.1109/4235.996017

    Article  Google Scholar 

  12. 12.

    Di, S., Cappello, F.: Gloudsim: Google trace based cloud simulator with virtual machines. Softw. Pract. Exper. 45(11), 1571–1590 (2015). https://doi.org/10.1002/spe.2303

    Article  Google 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). https://doi.org/10.1109/IPDPS.2008.4536375

  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). https://doi.org/10.1109/MCC.2016.112

    Article  Google 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). https://doi.org/10.5220/0005908400740084

  16. 16.

    Fu, S.: Failure-aware resource management for high-availability computing clusters with distributed virtual machines, vol. 70, pp. 384–393 (2010), https://doi.org/10.1016/j.jpdc.2010.01.002. http://www.sciencedirect.com/science/article/pii/S0743731510000031

  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). https://doi.org/10.1109/TCC.2016.2594172

    Article  Google Scholar 

  18. 18.

    Gen, M., Cheng, R.: Genetic Algorithms and Engineering Optimization, vol. 7. Wiley (2000)

  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). https://doi.org/10.1109/IC2E.2015.87

  20. 20.

    Grefenstette, J.J.: Optimization of control parameters for genetic algorithms. IEEE Trans. Syst. Man Cybern. 16(1), 122–128 (1986). https://doi.org/10.1109/TSMC.1986.289288

    Article  Google 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). https://doi.org/10.1109/LCOMM.2016.2644658

    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). https://doi.org/10.1109/MCI.2015.2405351

    Article  Google 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) https://doi.org/10.1109/CloudCom.2016.0097

  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). https://doi.org/10.1007/s10723-014-9322-7

    Article  Google 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). https://doi.org/10.1109/KST.2017.7886112

  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) https://doi.org/10.1109/TENCON.2016.7848467

  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). https://doi.org/10.1109/MWC.2017.1600427

    Article  Google 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). https://doi.org/10.1016/j.ress.2005.11.018. http://www.sciencedirect.com/science/article/pii/S0951832005002012. Special Issue - Genetic Algorithms and Reliability Special Issue

    Article  Google 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). https://doi.org/10.1016/j.future.2016.08.025. http://www.sciencedirect.com/science/article/pii/S0167739X16303041

    Article  Google 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). https://doi.org/10.4018/ijbdcn.2017070102

    Article  Google 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). https://doi.org/10.1007/s10589-014-9644-1

    MathSciNet  MATH  Google 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). https://doi.org/10.1016/j.jnca.2013.10.004. http://www.sciencedirect.com/science/article/pii/S1084804513002099

    Article  Google Scholar 

  33. 33.

    Menasce, D.A.: Tpc-w: a benchmark for e-commerce. IEEE Int. Comput. 6(3), 83–87 (2002). https://doi.org/10.1109/MIC.2002.1003136

    Article  Google Scholar 

  34. 34.

    Mitchell, M.: An Introduction to Genetic Algorithms. MIT Press, Cambridge (1998)

    Google 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). https://doi.org/10.1109/IC2E.2017.42

  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) https://doi.org/10.1109/CCWC.2017.7868429

  37. 37.

    Osborne, G., Weninger, T.: Ozy: a general orchestration container. In: 2016 IEEE International Conference on Web Services (ICWS), pp. 609–616 (2016) https://doi.org/10.1109/ICWS.2016.84

  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) https://doi.org/10.1109/W-FiCloud.2016.36

  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) https://doi.org/10.1109/FiCloud.2015.35

  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). https://doi.org/10.1007/s10723-014-9312-9

    Article  Google 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). https://doi.org/10.1007/s10723-016-9366-y

    Article  Google 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) https://doi.org/10.1109/CloudCom.2016.0082

  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). https://doi.org/10.1109/TC.2015.2409857

    MathSciNet  Article  MATH  Google 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) https://doi.org/10.1109/WoWMoM.2016.7523584

  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), https://doi.org/10.1145/3009925.3009930

  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) https://doi.org/10.1109/ICIT.2017.7915594

  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)

  48. 48.

    Singh, S., Chana, I.: Cloud resource provisioning: survey, status and future research directions. Knowl. Inf. Syst. 49(3), 1005–1069 (2016). https://doi.org/10.1007/s10115-016-0922-3

    Article  Google 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). https://doi.org/10.1007/s10723-015-9359-2

    Article  Google 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,304

  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). https://doi.org/10.1109/21.286385

    Article  Google 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). https://doi.org/10.1023/A:1015516501242

    Article  MATH  Google 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) https://doi.org/10.1109/ISADS.2017.20

  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) https://doi.org/10.1109/CISIS.2015.35

  55. 55.

    Vohra, D.: Scheduling pods on nodes. In: Kubernetes Management Design Patterns, pp. 199–236. Springer (2017)

  56. 56.

    Weaveworks, ContainerSolutions: Socks shop - a microservices demo application (2016). https://microservices-demo.github.io/

  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). https://doi.org/10.1007/s11227-009-0318-1

    Article  Google 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). https://doi.org/10.1109/CLOUD.2016.0042

    Article  Google 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). https://doi.org/10.1145/2788397

    Article  Google 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). https://doi.org/10.1007/s13174-010-0007-6

    Article  Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Carlos Guerrero.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Guerrero, C., Lera, I. & Juiz, C. Genetic Algorithm for Multi-Objective Optimization of Container Allocation in Cloud Architecture. J Grid Computing 16, 113–135 (2018). https://doi.org/10.1007/s10723-017-9419-x

Download citation

Keywords

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