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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.