Dynamic Software Containers Workload Balancing via Many-Objective Search

Dynamic Software Containers Workload Balancing via Many-Objective Search
复制标题

DOI:
10.1109/tsc.2023.3237755
复制
发表时间:
2023-07
影响因子:
8.1
通讯作者:
Anwar Ghammam;T. Ferreira;Wajdi Aljedaani;Marouane Kessentini;Ali Husain
Anwar Ghammam;T. Ferreira;Wajdi Aljedaani;Marouane Kessentini;Ali Husain
中科院分区:
计算机科学2区
文献类型:
--
作者:
Anwar Ghammam;T. Ferreira;Wajdi Aljedaani;Marouane Kessentini;Ali Husain

文献摘要

相似文献

随着软件容器被广泛用于部署系统,软件容器正在成为行业中的新技术。事实上,与其他技术相比,容器的使用实现了更好的模块化、可重用性和可移植性。随着软件系统的复杂性急剧增加,实现执行它们所需的资源(如内存和CPU)的最佳使用至关重要。因此,提出了不同的调度策略来选择最合适的节点来执行一组容器。例如,Docker Sarm Kit调度框架中的默认策略是基于容器在节点之间的平均分配,而不依赖于节点的大小和消耗的资源。然而,平衡容器的工作负载是一个复杂的问题,因为最小化所选节点的数量、最小化每个节点的容器数量、与原始调度相比的更改数量以及分配给不同节点的容器之间的耦合的目标相互冲突。为了处理这些相互冲突的调度目标,我们提出了一种基于多目标优化方法的调度器,用于在多个节点之间调度容器的执行。提出的方法旨在为节点中的容器找到最优分配,从而导致资源的有效利用。为了评估我们的方法,我们在48个与Docker相关的系统上比较了基于NSGA-II、NSGA-III和IBEA算法的多个多目标和多目标技术的性能,结果表明NSGA-III在质量属性以及CPU、内存和网络使用率方面都优于其他算法。
Software containers are becoming the new state of the art in the industry as they are extensively used to deploy systems. Indeed, the use of containers enables better modularity, reusability, and portability compared to other technologies. As the complexity of software systems is dramatically increasing, it is critical to enable optimal usage of the needed resources to execute them such as memory and CPU. Thus, different scheduling strategies are proposed to select the most suitable nodes to execute a set of containers. For instance, the default strategy in the Docker Swarm kit scheduling framework is based on an equal distribution of the containers between nodes independent of their sizes and consumed resources. However, balancing the containers’ workload is a complex problem due to the conflicting objectives of minimizing the number of selected nodes, minimizing the number of containers per node, the number of changes compared to the original schedule, and the coupling between containers allocated to different nodes. To deal with those conflicting scheduling objectives, we propose a scheduler based on a many-objective optimization approach for scheduling the execution of containers between multiple nodes. The proposed approach aims at finding the best allocation for containers in nodes that leads to efficient utilization of resources. To evaluate our approach, we compared the performance of multiple many and multi-objective techniques based on NSGA-II, NSGA-III, and IBEA algorithms using 48 Docker-related systems and the results show that NSGA-III outperforms the other algorithms in quality attributes as well as in CPU, Memory and Network usage.