Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
126 tokens/sec
GPT-4o
47 tokens/sec
Gemini 2.5 Pro Pro
43 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Genetic Algorithm for Multi-Objective Optimization of Container Allocation in Cloud Architecture (2401.12698v1)

Published 23 Jan 2024 in cs.NI

Abstract: The use of containers in cloud architectures has become widespread because of advantages such as limited overhead, easier and faster deployment and higher portability. Moreover, they are a suitable architectural solution for deployment of applications created using a microservices development pattern. Despite the large number of solutions and implementations, open issues have not been addressed in container automation and management. Container resource allocation influences system performance and resource consumption 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 due to the good results obtained with this algorithm in other resource management optimization problems in cloud architectures. The optimization has been focused on a tight use of the resources and a reduction of the network overhead and system failure rate. A model for cloud cluster, containers, microservices and four optimization objectives is presented. Experimental results have shown that our approach is a suitable solution to address the problem of container allocation and elasticity and it obtains better objectives values than the container management policies implemented in Kubernetes.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (26)
  1. Resource management for infrastructure as a service (iaas) in cloud computing: A survey. Journal of Network and Computer Applications 41, 424 – 440 (2014). DOI http://dx.doi.org/10.1016/j.jnca.2013.10.004. URL http://www.sciencedirect.com/science/article/pii/S1084804513002099
  2. Cluster Computing 19(3), 1163–1182 (2016)
  3. IEEE Software 33(3), 42–52 (2016). DOI 10.1109/MS.2016.64
  4. Future Generation Comp. Syst. 28(5), 755–768 (2012). DOI 10.1016/j.future.2011.04.017. URL http://dx.doi.org/10.1016/j.future.2011.04.017
  5. Journal of Grid Computing 13(1), 53–70 (2015). DOI 10.1007/s10723-014-9296-5. URL http://dx.doi.org/10.1007/s10723-014-9296-5
  6. Trans. Evol. Comp 6(2), 182–197 (2002). DOI 10.1109/4235.996017. URL http://dx.doi.org/10.1109/4235.996017
  7. Softw. Pract. Exper. 45(11), 1571–1590 (2015). DOI 10.1002/spe.2303. URL http://dx.doi.org/10.1002/spe.2303
  8. IEEE Cloud Computing 3(5), 81–88 (2016). DOI doi.ieeecomputersociety.org/10.1109/MCC.2016.112
  9. Fu, S.: Failure-aware resource management for high-availability computing clusters with distributed virtual machines. Journal of Parallel and Distributed Computing 70(4), 384 – 393 (2010). DOI http://dx.doi.org/10.1016/j.jpdc.2010.01.002. URL http://www.sciencedirect.com/science/article/pii/S0743731510000031
  10. IEEE Communications Letters PP(99), 1–1 (2016). DOI 10.1109/LCOMM.2016.2644658
  11. In: 2016 IEEE Region 10 Conference (TENCON), pp. 2428–2431 (2016). DOI 10.1109/TENCON.2016.7848467
  12. Reliability Engineering and System Safety 91(9), 992 – 1007 (2006). DOI http://dx.doi.org/10.1016/j.ress.2005.11.018. URL http://www.sciencedirect.com/science/article/pii/S0951832005002012. Special Issue - Genetic Algorithms and Reliability Special Issue
  13. Computational Optimization and Applications 58(3), 707–756 (2014). DOI 10.1007/s10589-014-9644-1. URL http://dx.doi.org/10.1007/s10589-014-9644-1
  14. Menasce, D.A.: Tpc-w: a benchmark for e-commerce. IEEE Internet Computing 6(3), 83–87 (2002). DOI 10.1109/MIC.2002.1003136
  15. Mitchell, M.: An Introduction to Genetic Algorithms. MIT Press, Cambridge, MA, USA (1998)
  16. Journal of Grid Computing 13(3), 375–389 (2015). DOI 10.1007/s10723-014-9312-9. URL http://dx.doi.org/10.1007/s10723-014-9312-9
  17. Journal of Grid Computing 14(2), 265–282 (2016). DOI 10.1007/s10723-016-9366-y. URL http://dx.doi.org/10.1007/s10723-016-9366-y
  18. Knowl. Inf. Syst. 49(3), 1005–1069 (2016). DOI 10.1007/s10115-016-0922-3. URL http://dx.doi.org/10.1007/s10115-016-0922-3
  19. J. Grid Comput. 14(2), 217–264 (2016). DOI 10.1007/s10723-015-9359-2. URL http://dx.doi.org/10.1007/s10723-015-9359-2
  20. Vohra, D.: Scheduling pods on nodes. In: Kubernetes Management Design Patterns, pp. 199–236. Springer (2017)
  21. Weaveworks, ContainerSolutions: Socks shop - a microservices demo application (2016). URL https://microservices-demo.github.io/
  22. The Journal of Supercomputing 54(2), 252–269 (2010). DOI 10.1007/s11227-009-0318-1. URL http://dx.doi.org/10.1007/s11227-009-0318-1
  23. 2016 IEEE 9th International Conference on Cloud Computing 00, 252–259 (2016). DOI doi.ieeecomputersociety.org/10.1109/CLOUD.2016.0042
  24. In: Computational Science and Engineering (CSE), 2014 IEEE 17th International Conference on, pp. 257–264. IEEE (2014)
  25. ACM Comput. Surv. 47(4), 63:1–63:33 (2015). DOI 10.1145/2788397. URL http://doi.acm.org/10.1145/2788397
  26. Journal of Internet Services and Applications 1(1), 7–18 (2010). DOI 10.1007/s13174-010-0007-6. URL http://dx.doi.org/10.1007/s13174-010-0007-6
Citations (164)

Summary

  • The paper proposes using a Non-dominated Sorting Genetic Algorithm (NSGA-II) for multi-objective optimization of container allocation in cloud architectures, considering threshold distance, cluster balance, failure rate, and network distance.
  • Experimental results demonstrate that the NSGA-II approach significantly outperforms existing Kubernetes policies across all optimization objectives while potentially using fewer physical nodes.
  • This research has implications for improving cloud resource utilization, application performance, and reliability, suggesting advanced optimization techniques can enhance container management strategies.

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

This paper presents a paper on optimizing container allocation in cloud architectures using a genetic algorithm. Containers are an essential technology in the deployment of cloud-based applications, particularly those leveraging microservices architecture. However, challenges remain in efficiently managing container resources to enhance system performance and reliability. Traditional approaches often fail to address these challenges comprehensively, creating a need for more sophisticated optimization strategies.

The authors propose a genetic algorithm (GA) approach, specifically implementing the Non-dominated Sorting Genetic Algorithm-II (NSGA-II), for multi-objective optimization of container allocation and elasticity management. They argue that such an approach can significantly improve system provisioning, performance, reliability, and network overhead, as opposed to the existing container management policies in platforms like Kubernetes.

Multi-Objective Optimization

The optimization problem is defined with four key objectives:

  1. Threshold Distance: This objective focuses on maintaining the resource consumption of containers as close as possible to predefined threshold levels to prevent performance degradation and bottlenecks.
  2. Cluster Balanced Use: This aims at achieving a uniform distribution of workload across the cluster, ensuring that resources on physical machines are utilized uniformly.
  3. System Failure Rate: By optimizing the reliability of microservices, this objective seeks to minimize the system failure rate by considering scalability levels and avoiding single points of failure.
  4. Total Network Distance: This minimizes communication overhead by strategically placing related containers closer on the physical network.

Implementation of NSGA-II

The NSGA-II algorithm requires careful design and parametrization for effective application in container allocation:

  • Chromosome Representation: The number of containers for each microservice and their allocation to physical machines is encoded using an array notation.
  • Genetic Operators: Crossover and mutation operators are defined to ensure diversity in the population and to avoid premature convergence to local optima.
  • Fitness Function: Solutions are assessed through a multi-objective fitness evaluation, determining their placement on the Pareto front based on dominance and crowding distance.

Experimental Evaluation

The paper provides a comprehensive experimental evaluation using data derived from realistic cloud scenarios, such as the Socks Shop microservices demo application. Various configurations were tested by altering workload (number of application requests) and cluster capacity (number of physical nodes). NSGA-II demonstrated superior performance across all objective metrics compared to the Kubernetes management policies, achieving tighter thresholds, balanced resource usage, improved reliability, and reduced network distances. Notably, the algorithm achieved these results while utilizing fewer physical nodes, suggesting potential benefits for energy conservation.

Implications and Future Directions

This research has significant implications for the development of container management strategies in cloud architectures. By incorporating advanced multi-objective optimization techniques, cloud providers can achieve better resource utilization, enhance application performance and reliability, and potentially reduce operational costs. Future research could focus on implementing these strategies in real-world cloud environments and exploring additional objectives, like energy efficiency, or addressing container migration costs.

In summary, the paper presents a well-formulated approach to container resource management challenges in cloud architectures, offering an innovative solution that can be further extended and refined for practical application in cloud computing environments.

X Twitter Logo Streamline Icon: https://streamlinehq.com