本发明属于云计算和云容器相关领域,具体涉及一种基于资源匹配度的改进鲸群算法的容器放置方法。
背景技术:
1、云计算是一种通过互联网提供计算服务的模型,它允许用户通过网络按需获取和使用计算资源,而无需拥有、购买和维护这些资源的物理硬件和设备。容器技术在云计算环境中提供了一种更轻量、灵活和一致的方式来构建、部署和管理应用程序。目前国内云容器市场正处于高速增长阶段,但是其带来的能耗问题同样不可小觑。由于资源浪费引发的能源消耗问题日益严重,因此迫切需要减少数据中心的资源浪费。
2、针对数据中心资源浪费和能耗过高的问题,许多数据中心采用容器放置方法进行解决。容器放置是指将容器化的应用程序实例分配到计算资源上的过程。容器放置的目标是在资源利用效率、性能优化和系统整体可用性之间找到平衡,以确保容器化应用程序在运行时具有最佳的性能和可靠性。
3、现有容器放置方法聚焦于优化数据中心资源利用率,通常专注于单一资源的最优分配,而很少考虑多维资源的合理分配,导致资源碎片化问题。此外,过于追求数据中心的高资源利用率可能会导致大量能源浪费。
4、本发明针对目前容器放置方法存在的不足,采用资源匹配度作为优化模型的一部分,提出一种基于资源匹配度的改进鲸群算法的容器放置方法,可以实现减少资源碎片的效果。
技术实现思路
1、为解决以上技术问题,本发明提出了一种基于资源匹配度的改进鲸群算法的容器放置方法,该方法包括:
2、 步骤s1. 确定主机资源利用状态:计算所有主机上的各类资源的利用率,并以此计算资源综合利用率;
3、 步骤s2. 建立目的主机列表:利用综合利用率判断各个主机状态,并根据主机状态构建目的主机列表;
4、 步骤s3. 构建优化模型:建立综合考虑了资源匹配度、能源消耗和资源利用率的容器放置优化模型;
5、 步骤s4. 设计容器放置算法并执行放置:使用改进后的鲸群算法进行容器放置模型的求解,将计算得出的映射关系作为最优的容器放置方法,根据方法执行放置操作。
6、所述步骤s1确定主机资源利用状态采用如下方法:
7、 设定主机的资源利用率为u={,,…,,…},主机的综合资源利用率计算如公式(1)所示:
8、 (1)
9、 (2)
10、式中,为所有可用主机的第i种资源所有的数量,为所有主机中第i种资源未使用的数量,表示第i台主机的第k种资源利用率,表示第k种资源的权重。
11、所述步骤s2建立目的主机列表包括以下步骤:
12、步骤s21. 确认主机状态:根据数据中心资源平均使用状态,确定各类物理主机的资源临界值,通过资源临界值确认主机各种状态,主机状态可分为:正常、欠载和过载状态;
13、步骤s22. 迁入目的主机列表:根据需放置容器的资源规模大小,将足量的主机迁入目的主机列表,优先将正常状态与欠载状态下的主机迁入,以满足容器资源需求。
14、所述步骤s3构建优化模型方法如下:
15、为了更好地优化与评估放置操作,构建了包含三个部分的优化模型,分别是资源匹配度、数据中心能耗和资源利用率;资源匹配度,使用主机拥有资源与容器所需资源的标准差表示,如公式(3)所示;能源消耗,主机能耗主要由cpu利用率决定,因此只考虑cpu对能耗的影响,如公式(4)所示;负载均衡度,由所有主机的资源综合利用率的均值表示,如公式(5)所示;最后,使用这三个参数建立多目标优化模型s,如公式(6)所示;
16、 (3)
17、 (4)
18、 (5)
19、 (6)
20、式中,表示该主机剩余cpu资源数量,表示该容器所需cpu资源数量,表示该主机剩余内存资源数量,表示该容器所需内存资源数量,表示该主机满载情况下的能耗,表示该主机空载时的能耗,则表示该主机的cpu使用率。
21、所述步骤s4算法求解并执行放置包括如下步骤:
22、步骤s41:对迭代次数、种群总数等参数进行初始化;
23、步骤s42:使用sine混沌映射,对鲸群初始位置进行初始化,该混沌函数如下所示:
24、 (7)
25、式中,是迭代序列值,k取非负整数,<msub><mi>z</mi><mn>0</mn></msub><mi>∈</mi><mi>[0,1]</mi>,<mi>a</mi><mi>∈</mi><mi>[0,1]</mi>。
26、步骤s43:计算目标函数适应度值并且排序,获取个体最佳适应值和全局最佳适应值;
27、步骤s44:更新鲸群群体中鲸鱼个体所在位置,并更新算法相关参数;
28、步骤s45:根据算法相关参数,进入不同的捕猎阶段;
29、步骤s46:判断是否达到最大迭代次数,达到最大迭代次数时进入s47,若未达到最大迭代次数则返回s43;
30、步骤s47:按照映射关系执行放置,得到最优个体的位置矩阵,使用该矩阵确定每一个容器的目的主机,最后执行放置。
31、与现有技术相比,本发明具有以下有益效果及优点:
32、(1)相对于传统的容器放置方法,本发明针对资源碎片化的问题,采用资源匹配度、能源消耗和资源利用率作为优化模型,可以使容器需求与主机提供的资源更好的匹配,达到有效减少资源碎片的效果。
33、(2)相对于传统的容器放置方法,本发明使用sine混沌映射进行种群初始化,使种群位置更合理地分散在搜索空间,从而不易陷入局部最优解中,因此具有较高的搜索精度,可以实现更好地搜索出空间内最优解。
1.一种基于资源匹配度的改进鲸群算法的容器放置方法,其特征在于,包含以下步骤:
2.根据权利要求1所述的一种基于资源匹配度的改进鲸群算法的容器放置方法,其特征在于,所述步骤s1确定主机资源利用状态采用如下方法:
3.根据权利要求1所述的一种基于资源匹配度的改进鲸群算法的容器放置方法,其特征在于,所述步骤s2建立目的主机列表包括以下步骤:
4.根据权利要求1所述的一种基于资源匹配度的改进鲸群算法的容器放置方法,其特征在于,所述步骤s3构建优化模型方法如下:
5.根据权利要求1所述的一种基于资源匹配度的改进鲸群算法的容器放置方法,其特征在于,所述步骤s4设计容器放置算法并执行放置包括如下步骤: