A NSGA-II-based Approach for Multi-objective Micro-service Allocation in Container-based Clouds

Micro-services is a widely adopted architecture to develop large scale web applications. To provide a scalable and low-overhead resource service to micro-service applications, the new container-based clouds are proposed. The new clouds use both containers and VMs to manage resources to achieve a low-overhead, high-utilization data center. However, existing resource allocation approaches either do not consider the dependencies between containers or can only be applied in OS-level container clouds which allocate containers directly to physical machines. To address the multi-objective optimization problem, this work proposes a multi-objective NSGA-II to optimize the availability of applications and the energy consumption requirement of container-based clouds. Our goal is to provide solutions with different tradeoffs between two objectives for cloud providers to choose from. We evaluate the algorithm with a wide range of scenarios by simulation and compare with state-of-the-art algorithms. The results show that our approach significantly outperforms other approaches.

[1]  José Torres-Jiménez,et al.  A grouping genetic algorithm with controlled gene transmission for the bin packing problem , 2015, Comput. Oper. Res..

[2]  Zoltán Ádám Mann,et al.  Resource Optimization Across the Cloud Stack , 2018, IEEE Transactions on Parallel and Distributed Systems.

[3]  Daniele Vigo,et al.  Bin packing approximation algorithms: Survey and classification , 2013 .

[4]  Yi Mei,et al.  A Hybrid Genetic Programming Hyper-Heuristic Approach for Online Two-level Resource Allocation in Container-based Clouds , 2019, 2019 IEEE Congress on Evolutionary Computation (CEC).

[5]  Rajkumar Buyya,et al.  A Framework and Algorithm for Energy Efficient Container Consolidation in Cloud Data Centers , 2015, 2015 IEEE International Conference on Data Science and Data Intensive Systems.

[6]  Sven Hartmann,et al.  A memetic NSGA-II with EDA-based local search for fully automated multiobjective web service composition , 2019, GECCO.

[7]  Yi Mei,et al.  A Genetic Programming Hyper-heuristic Approach for Online Resource Allocation in Container-Based Clouds , 2018, Australasian Conference on Artificial Intelligence.

[8]  Xi Chen,et al.  An Availability-Aware Virtual Machine Placement Approach for Dynamic Scaling of Cloud Applications , 2012, 2012 9th International Conference on Ubiquitous Intelligence and Computing and 9th International Conference on Autonomic and Trusted Computing.

[9]  Jianqing Xi,et al.  Ant Colony Algorithm for Multi-Objective Optimization of Container-Based Microservice Scheduling in Cloud , 2019, IEEE Access.

[10]  Yi Mei,et al.  A NSGA-II-based approach for service resource allocation in Cloud , 2017, 2017 IEEE Congress on Evolutionary Computation (CEC).

[11]  Dan Wang,et al.  Communication-Aware Container Placement and Reassignment in Large-Scale Internet Data Centers , 2019, IEEE Journal on Selected Areas in Communications.

[12]  Kalyanmoy Deb,et al.  Evolutionary multiobjective optimization , 2007, GECCO '07.

[13]  Li Lianwan,et al.  A particle swarm optimization-based container scheduling algorithm of docker platform , 2018 .

[14]  C. A. Murthy,et al.  Genetic Algorithm with Elitist Model and Its Convergence , 1996, Int. J. Pattern Recognit. Artif. Intell..

[15]  David E. Goldberg,et al.  Genetic Algorithms, Tournament Selection, and the Effects of Noise , 1995, Complex Syst..

[16]  Alexandre Sawczuk da Silva,et al.  NSGA-II with Local Search for Multi-objective Application Deployment in Multi-Cloud , 2019, 2019 IEEE Congress on Evolutionary Computation (CEC).

[17]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[18]  Jianxin Chen,et al.  A particle swarm optimization-based container scheduling algorithm of docker platform , 2018, ICCIP '18.

[19]  Yi Mei,et al.  Novel Genetic Algorithm with Dual Chromosome Representation for Resource Allocation in Container-Based Clouds , 2019, 2019 IEEE 12th International Conference on Cloud Computing (CLOUD).

[20]  Bo Dong,et al.  Container-VM-PM Architecture: A Novel Architecture for Docker Container Placement , 2018, CLOUD.

[21]  Carlos Juiz,et al.  Resource optimization of container orchestration: a case study in multi-cloud microservices-based applications , 2018, The Journal of Supercomputing.

[22]  Chen Wang,et al.  Using EDA-Based Local Search to Improve the Performance of NSGA-II for Multiobjective Semantic Web Service Composition , 2019, DEXA.

[23]  Zoltán Ádám Mann,et al.  Interplay of Virtual Machine Selection and Virtual Machine Placement , 2016, ESOCC.

[24]  Alexandru Iosup,et al.  Statistical Characterization of Business-Critical Workloads Hosted in Cloud Datacenters , 2015, 2015 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[25]  Carlos Juiz,et al.  Genetic Algorithm for Multi-Objective Optimization of Container Allocation in Cloud Architecture , 2017, Journal of Grid Computing.

[26]  Yang Hu,et al.  Multi-objective Container Deployment on Heterogeneous Clusters , 2019, 2019 19th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID).

[27]  Jiafeng Zhu,et al.  Application Oriented Dynamic Resource Allocation for Data Centers Using Docker Containers , 2017, IEEE Communications Letters.

[28]  Pengfei Li,et al.  A new container scheduling algorithm based on multi-objective optimization , 2018, Soft Comput..

[29]  Mike Amundsen,et al.  Microservice Architecture: Aligning Principles, Practices, and Culture , 2016 .

[30]  Claus Pahl,et al.  Containerization and the PaaS Cloud , 2015, IEEE Cloud Computing.

[31]  David Bernstein,et al.  Containers and Cloud: From LXC to Docker to Kubernetes , 2014, IEEE Cloud Computing.

[32]  Ivan Beschastnikh,et al.  Improving microservice-based applications with runtime placement adaptation , 2019, Journal of Internet Services and Applications.

[33]  Mengjie Zhang,et al.  Optimization of Location Allocation of Web Services Using a Modified Non-dominated Sorting Genetic Algorithm , 2016, ACALCI.