Abstract
The Kubernetes framework is a well-known open-source container-orchestration system widely used in industrial and academic fields. In this paper, we introduce a new Kubernetes Container Scheduling Strategy called KCSS. The goal of the KCSS is to optimize the scheduling of several containers submitted online by users to improve the performance concerning the user need in terms of makespan and the cloud provider need in terms of power consumption. In the literature, several container scheduling strategies are proposed. Each one uses a dedicated approach to select one node from the node set supplied by the cloud infrastructure. Then, this node welcomes the newly submitted container. The majority of the proposed container scheduling strategies select for each newly submitted container a node based on a single criteria, such as the number of running containers or the amount of available resources in each node. However, the scheduling based on a single criterion downgrades the performance because the scheduler has a limited vision of the state of the cloud infrastructure and the user need. The contribution of our KCSS is to introduce a multi-criteria selection of the node. This approach provides the scheduler with a global vision about the state of the cloud and the user’s need. The idea is to select from each newly submitted container the best node, with a good compromise between hybrid criteria related to the cloud infrastructure and the user need. In the KCSS, we consider six key criteria: (1) the CPUs utilization rate in each node; (2) the memory utilization rate in each node; (3) the disk utilization rate in each node; (4) the power consumption of each node; (5) the number of running containers in each node; and (6) the time of transmitting the image selected by the user for its container. In our context, the KCSS is based on a multi-criteria decision analysis algorithm to aggregate all criteria in a single rank. Then, select the node which has the highest rank to execute the new submitted container. The multi-criteria algorithm used by KCSS is the Technique for the Order of Prioritisation by Similarity to Ideal Solution (TOPSIS) algorithm. The KCSS is implemented in Go language inside the Kubernetes framework with minimal changes to be used easily with the next Kubernetes versions. The experimental results show that the KCSS improves the performance under different scenarios compared to other container scheduling strategies.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Biran Y, Pasricha S, Collins G, Dubow J (2016) Enabling green content distribution network by cloud orchestration. In: 2016 3rd Smart Cloud Networks Systems (SCNS), pp 1–8
Boyer V, Baz DE, Elkihel M (2010) Solution of multidimensional knapsack problems via cooperation of dynamic programming and branch and bound. Eur J Ind Eng 4:434–449
Brandao F (2012) Solving bin packing related problems using an arc flow formulation. In: Technical Report Series: DCC-2012-03 - Faculdade de Ciencias, Universidade do Porto, Portugal
Choi S, Myung R, Choi H, Chung K, Gil J, Yu H (2016) GPSF: general-purpose scheduling framework for container based on cloud environment. In: IEEE iThings and IEEE GreenCom and IEEE CPSCom and IEEE SmartData
Grillet A (2016) Comparison of container schedulers
Guan X, Wan X, Choi B, Song S, Zhu J (2017) Application oriented dynamic resource allocation for data centers using docker containers. IEEE Commun Lett 21(3):504–507
Guerrero C, Lera I, Juiz C (2017) Genetic algorithm for multi-objective optimization of container allocation in cloud architecture. J Grid Comput 16:11
Hindman B, Konwinski A, Zaharia M, Ghodsi A, Joseph AD, Katz RH, Shenker S, Stoica I (2011) Mesos: a platform for fine-grained resource sharing in the data center. In NSDI, p 22
Hoque S, Brito MSD, Willner A, Keil O, Magedanz T (2017) Towards container orchestration in fog computing infrastructures. In: 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC), vol 2, pp 294–299
Kaur K, Garg S, Kaddoum G, Ahmed SH, Atiquzzaman M (2020) Keids: Kubernetes-based energy and interference driven scheduler for industrial iot in edge-cloud ecosystem. IEEE Internet Things J 7(5):4228–4237
Kubernetes code source. https://github.com/kubernetes. visited 01-07-2020
Kubernetes framework. https://kubernetes.io/. visited 01-07-2020
Lai Y-J, Liu T-Y, Hwang C-L (1994) Topsis for modm. Eur J Oper Res 76(3):486–500
Liu B, Li P, Lin W, Shu N, Li Y, Chang V (2018) A new container scheduling algorithm based on multi-objective optimization. Soft Comput 22:7741–7752
Menouer T, Cérin C, Hsu CHR (2020) Opportunistic scheduling and resources consolidation system based on a new economic model. J Supercomput. https://doi.org/10.1007/s11227-020-03231-z
Menouer T, Darmon P (2019) New scheduling strategy based on multi-criteria decision algorithm. In: 27th Euromicro International Conference on Parallel, Distributed and Network-based Processing, Pavia, Italy
Menouer T, Manad O, Cérin C, Darmon P (2019) Power efficiency containers scheduling approach based on machine learning technique for cloud computing environment. In: Esposito C, Hong J, Choo KKR (eds) Pervasive systems. Algorithms and networks. Springer, Cham, pp 193–206
Merkel D (2014) Docker: lightweight linux containers for consistent development and deployment. Linux J 2014(239):2
Pahl C, Lee B (2015) 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
Peinl R, Holzschuher F, Pfitzer F (2016) Docker cluster management for the cloud—survey results and own solution. J Grid Comput 14(2):265–282
Silva Filho MC, Oliveira RL, Monteiro CC, Inácio PR, Freire MM (2017) Cloudsim plus: a cloud computing simulation framework pursuing software engineering principles for improved modularity, extensibility and correctness. In: 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). IEEE, pp 400–406
Steve Buchanan NB, Rangama J (2019) Introducing azure kubernetes service: a practical guide to container orchestration (In press)
Sureshkumar M, Rajesh P (2017) Optimizing the docker container usage based on load scheduling. In: 2017 2nd International Conference on Computing and Communications Technologies (ICCCT), pp 165–168
Swarm kit. https://github.com/docker/swarmkit/. visited 01-07-2020
The apache software foundation. MESOS. apache. http://mesos.apache.org/. visited 01-07-2020
Virual wall tesbed.https://doc.ilabt.imec.be/ilabt/virtualwall/index.html. Visited 01-07-2020
Zhang D, Yan B, Feng Z, Zhang C, Wang Y (2017) Container oriented job scheduling using linear programming model. In: 2017 3rd International Conference on Information Management (ICIM), pp 174–180
Zhao A, Huang Q, Huang Y, Zou L, Chen Z, Song J (2019) Research on resource prediction model based on kubernetes container auto-scaling technology. In: IOP Conference Series: Materials Science and Engineering, vol 569, p 052092
Acknowledgements
This work is supported by the Fed4FIRE+: Federation for FIRE plus (Grant No. 732638). We thank Virtual WALL team for their help to use the testbed.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Menouer, T. KCSS: Kubernetes container scheduling strategy. J Supercomput 77, 4267–4293 (2021). https://doi.org/10.1007/s11227-020-03427-3
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-020-03427-3