CONTAINER LOAD PLANNING USING LINEAR PROGRAMMING
DOI: 10.31673/2412-4338.2024.022935
Abstract
With the growing popularity of Docker container deployment technology, the container scheduler is becoming a key component in the application deployment process. For effective container planning, several important factors must be taken into account, such as server power consumption, time to obtain a virtual machine image from the image registry, and the price of data exchange between the client and the container. Taking into account these factors, it is possible to create a system that will effectively distribute tasks between containers, with a minimum load on the server and the most efficient use of system resources. The container planning problem was considered as an integer linear programming problem. The constructed model is an effective and flexible scheduler capable of distributing the load on containers, taking into account the specified factors. To evaluate the effectiveness of the new scheduler, a comparison was made with the Docker Swarm scheduler, which uses the Binpack scheduling method. This algorithm fulfills the tasks assigned to it, but its efficiency is not high. The main principle of the Binpack algorithm is to use the minimum possible number of physical nodes of the system for the location of containers. This algorithm does not take into account other factors, such as the price of obtaining a system image or the price of data exchange between the client and the server. During the experiment, it turned out that the proposed method is more effective. The linear programming method allocates containers better and consumes less time and resources. This is especially noticeable with an increase in the number of clients and servers for which the scheduling problem needs to be solved. The developed method can be integrated into container planning frameworks. The remainder of this article is organized as follows. In the "Introduction" the principle of operation of containers is described, the problem of using containers in large quantities is defined, and other works aimed at solving this problem are analyzed. In "Theoretical Foundations of Research" Docker technology and the problem of deploying a large number of applications using this tool are considered. The "Research Methodology" describes a model that solves the problem of container planning. In the "Research results" section, a number of experiments and a comparison of the created method with the Binpack algorithm are performed. In the "Conclusions" the results of the experiments conducted in the previous section are analyzed and further ways of development of the created container planning technology are proposed.
Keywords: linear programming, container, dynamic migration.
References
1. Zhao W., Wang Z., Luo Y. Dynamic memory balancing for virtual machines. ACM SIGOPS Operating Systems Review. 2009. Vol. 43, no. 3. P. 37–47. (date of access: 07.04.2024).
2. Automated control of multiple virtualized resources / P. Padala et al. the fourth ACM european conference, Nuremberg, Germany, 1–3 April 2009. New York, New York, USA, 2009. (date of access: 07.04.2024).
3. Than M. M., Thein T. Energy-Saving Resource Allocation in Cloud Data Centers. 2020 IEEE Conference on Computer Applications (ICCA), Yangon, Myanmar, 27–28 February 2020. 2020. (date of access: 07.04.2024).
4. Bhardwaj T., Upadhyay H., Sharma S. C. Autonomic Resource Allocation Mechanism for Service-based Cloud Applications. 2019 International Conference on Computing, Communication, and Intelligent Systems (ICCCIS), Greater Noida, India, 18–19 October 2019. 2019. (date of access: 07.04.2024).
5. Khodar A., Al-Afare H. A. F., Alkhayat I. New Scheduling Approach for Virtual Machine Resources in Cloud Computing based on Genetic Algorithm. 2019 International Russian Automation Conference, Sochi, Russia, 8–14 September 2019. 2019. (date of access: 07.04.2024).
6. Rengasamy R., Chidambaram M. A Novel Predictive Resource Allocation Framework for Cloud Computing. 2019 5th International Conference on Advanced Computing & Communication Systems (ICACCS), Coimbatore, India, 15–16 March 2019. 2019. (date of access: 07.04.2024).
7. Chen J. A Cloud Resource Allocation Method Supporting Sudden and Urgent Demands. 2018 Sixth International Conference on Advanced Cloud and Big Data (CBD), Lanzhou, 12–15 August 2018. 2018. (date of access: 07.04.2024).
8. Yin S., Ke P., Tao L. An improved genetic algorithm for task scheduling in cloud computing. 2018 13th IEEE Conference on Industrial Electronics and Applications (ICIEA), Wuhan, 31 May 2018 – 02 June 2018. 2018.
9. Peinl R., Holzschuher F., Pfitzer F. Docker Cluster Management for the Cloud - Survey Results and Own Solution. Journal of Grid Computing. 2016. Vol. 14, no. 2. P. 265–282. URL:
10. Feller E., Rilling L., Morin C. Energy-Aware Ant Colony Based Workload Placement in Clouds. 2011 12th IEEE/ACM International Conference on Grid Computing (GRID), Lyon, France, 21–23 September 2011. 2011. (date of access: 07.04.2024).