Skip to main content

KCSS: Kubernetes container scheduling strategy

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.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24

Notes

  1. 1.

    https://golang.org.

  2. 2.

    https://mesosphere.github.io/marathon/.

References

  1. 1.

    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

  2. 2.

    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

    Article  Google Scholar 

  3. 3.

    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

  4. 4.

    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

  5. 5.

    Grillet A (2016) Comparison of container schedulers

  6. 6.

    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

    Article  Google Scholar 

  7. 7.

    Guerrero C, Lera I, Juiz C (2017) Genetic algorithm for multi-objective optimization of container allocation in cloud architecture. J Grid Comput 16:11

    Google Scholar 

  8. 8.

    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

  9. 9.

    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

  10. 10.

    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

    Article  Google Scholar 

  11. 11.

    Kubernetes code source. https://github.com/kubernetes. visited 01-07-2020

  12. 12.

    Kubernetes framework. https://kubernetes.io/. visited 01-07-2020

  13. 13.

    Lai Y-J, Liu T-Y, Hwang C-L (1994) Topsis for modm. Eur J Oper Res 76(3):486–500

    Article  Google Scholar 

  14. 14.

    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

    Article  Google Scholar 

  15. 15.

    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

    Article  Google Scholar 

  16. 16.

    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

  17. 17.

    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

    Chapter  Google Scholar 

  18. 18.

    Merkel D (2014) Docker: lightweight linux containers for consistent development and deployment. Linux J 2014(239):2

    Google Scholar 

  19. 19.

    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

  20. 20.

    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

    Article  Google Scholar 

  21. 21.

    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

  22. 22.

    Steve Buchanan NB, Rangama J (2019) Introducing azure kubernetes service: a practical guide to container orchestration (In press)

  23. 23.

    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

  24. 24.

    Swarm kit. https://github.com/docker/swarmkit/. visited 01-07-2020

  25. 25.

    The apache software foundation. MESOS. apache. http://mesos.apache.org/. visited 01-07-2020

  26. 26.

    Virual wall tesbed.https://doc.ilabt.imec.be/ilabt/virtualwall/index.html. Visited 01-07-2020

  27. 27.

    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

  28. 28.

    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

Download references

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

Affiliations

Authors

Corresponding author

Correspondence to Tarek Menouer.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

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

Download citation

Keywords

  • Container technology
  • Cloud computing
  • Scheduling strategy
  • Multi-criteria scheduling
  • On-line scheduling
  • Power consumption in scheduling