Table of Contents
Fetching ...

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

Carlos Guerrero, Isaac Lera, Carlos Juiz

TL;DR

The paper tackles the NP-complete problem of container allocation and elasticity in microservice-based clouds by formulating four objectives: $OBJ-i$ (Threshold Distance), $OBJ-ii$ (Cluster Balanced Used), $OBJ-iii$ (System Failure), and $OBJ-iv$ (Total Network Distance). It proposes a NSGA-II-based genetic algorithm with a chromosome encoding that captures per-microservice scalability and container-to-physical-machine mappings, along with crossover, three mutation operators, and an elitist, multi-objective selection scheme. Experimental evaluation on data inspired by Socks Shop and Kubernetes policies shows that NSGA-II yields better objective values across configurations and typically uses fewer physical machines, implying potential energy savings. The work demonstrates the practical viability of evolutionary multi-objective optimization for container orchestration and elasticity in cloud architectures, offering a framework for improved provisioning, reliability, and network locality. $Threshold Distance$, $Cluster Balanced Used$, $System Failure$, and $Total Network Distance$ are used to quantify trade-offs, and the Pareto front provides a diverse set of near-optimal solutions for deployment decisions.

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.

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

TL;DR

The paper tackles the NP-complete problem of container allocation and elasticity in microservice-based clouds by formulating four objectives: (Threshold Distance), (Cluster Balanced Used), (System Failure), and (Total Network Distance). It proposes a NSGA-II-based genetic algorithm with a chromosome encoding that captures per-microservice scalability and container-to-physical-machine mappings, along with crossover, three mutation operators, and an elitist, multi-objective selection scheme. Experimental evaluation on data inspired by Socks Shop and Kubernetes policies shows that NSGA-II yields better objective values across configurations and typically uses fewer physical machines, implying potential energy savings. The work demonstrates the practical viability of evolutionary multi-objective optimization for container orchestration and elasticity in cloud architectures, offering a framework for improved provisioning, reliability, and network locality. , , , and are used to quantify trade-offs, and the Pareto front provides a diverse set of near-optimal solutions for deployment decisions.

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.
Paper Structure (16 sections, 11 equations, 16 figures, 4 tables, 1 algorithm)

This paper contains 16 sections, 11 equations, 16 figures, 4 tables, 1 algorithm.

Figures (16)

  • Figure 1: Chromosome representation example for a system with 3 physical machines allocating 6 microservices deployed in 13 containers
  • Figure 2: Example of the crossover operator applied to two parent solutions to obtain two new individuals
  • Figure 3: Examples for the three mutation operators
  • Figure 4: Evolution of the four objectives functions values along the generations for the experiment with 1 application, with a workload level of 1.0 user requests using 300 physical machines
  • Figure 5: Evolution of the system state (nodes and services) along the generations for the experiment with 1 application, with a workload level of 1.0 user requests using 300 physical machines
  • ...and 11 more figures