本技术涉及云计算虚拟化技术和人工智能,具体涉及一种虚拟机动态放置方法、装置、设备及存储介质。
背景技术:
1、云计算作为近些年兴起的一门技术,以其灵活、便捷和按需提供资源的特性,吸引了很多工业界和学术界人们的关注。云计算服务业务量地不断拓展,云平台规模扩张造成的软硬件采购成本不断提高。虚拟机是系统进行资源分配的基本单位,虚拟机的放置结果也将决定整个系统的资源分配状况,进而影响着整个系统的资源损耗和能耗开销,所以云环境下的虚拟机放置策略成为当前领域下的研究热点。
2、现有技术中通过将原始的联合资源分配问题转化为能力最大化问题和代价最小化问题、基于人工蜂群算法或基于传统的强化学习进行虚拟机放置,但存在容易陷入局部最优和收敛较慢,所考虑的优化目标单一,以及难以处理大规模的虚拟机放置等问题。
技术实现思路
1、本技术的至少一个实施例提供了一种虚拟机动态放置方法、装置、设备及存储介质,用于解决现有技术中容易陷入局部最优和收敛较慢,所考虑的优化目标单一等问题。
2、为了解决上述技术问题,本技术是这样实现的:
3、第一方面,本技术实施例提供了一种虚拟机动态放置方法,包括:
4、获取智能体在当前时刻的当前状态信息,所述当前状态信息包括:前一时刻的第一虚拟机分配策略、虚拟机在所述当前时刻拥用的第一资源、所述虚拟机在前一时刻拥有的第二资源以及所述智能体在所述当前时刻拥有的第三资源,其中,所述虚拟机的数量为至少一个;
5、若根据第一资源和所述第二资源,确定任意一个所述虚拟机对应的资源变化满足第一预设条件,则将所述当前状态信息输入预设的多智能体深度确定性策略梯度(multi-agent deep deterministic policy gradient,maddpg)神经网络中,得到当前时刻对应的第二虚拟机分配策略;
6、根据预设奖励算法分别获取所述第一虚拟分配策略对应的第一奖励和所述第二虚拟分配策略对应的第二奖励,并获取由所述第一虚拟分配策略切换为所述第二虚拟分配策略的目标迁移耗能;
7、根据所述第一奖励、所述第二奖励以及所述目标迁移耗能,确定目标虚拟分配策略。
8、具体地,如上所述的方法,所述方法还包括:
9、若根据所述第一资源和所述第二资源,确定所述资源变化不满足所述第一预设条件时,确定所述第一虚拟分配策略为所述目标虚拟分配策略。
10、进一步的,如上所述的方法,所述第一预设条件包括以下至少一项:
11、同一所述虚拟机在所述第一资源中的第一中央处理器资源(central processingunit,cpu)与在所述第二资源中的第二中央处理器资源的第二差值,大于第一阈值;
12、同一所述虚拟机在所述第一资源中的第一内存资源与所述第二资源中的第二内存资源的第三差值,大于第二阈值。
13、具体地,如上所述方法,所述预设奖励算法包括:
14、获取所述智能体的固定耗能以及与目标策略对应的附加耗能,所述目标策略包括:所述第一虚拟分配策略和所述第二虚拟分配策略;
15、获取所述智能体所在的智能体系统对应的负载均衡参数以及预设的能量损耗权重;
16、根据所述固定耗能、所述附加耗能、所述负载均衡参数以及所述能量损耗权重,得到所述目标策略对应的奖励。
17、具体地,如上所述方法,所述获取由所述第一虚拟分配策略切换为所述第二虚拟分配策略的目标迁移耗能,包括:
18、根据所述第二虚拟分配策略和所述第一虚拟分配策略,获取在所述智能体上发生迁移的第二目标虚拟机的数量;
19、确定所述第二目标虚拟机数量与单位迁移能耗的积为所述目标迁移耗能。
20、具体地,如上所述的方法,所述根据所述第一奖励、所述第二奖励以及所述目标迁移耗能,确定目标虚拟分配策略,包括:
21、获取所述第二奖励与所述第一奖励的第一差值;
22、若所述第一差值大于等于所述迁移耗能的预设倍数,则确定所述第二虚拟分配策略为当前时刻的目标虚拟分配策略,否则,确定所述第一虚拟分配策略为所述目标虚拟分配策略。
23、进一步的,如上所述的方法,在所述根据所述第一奖励、所述第二奖励以及所述目标迁移耗能,确定目标虚拟分配策略之前,所述方法还包括:
24、根据所述第一虚拟分配策略、所述第一资源和所述第三资源,判断所述第一虚拟分配策略是否满足第二预设条件;
25、若所述第一虚拟分配策略满足所述第二与预设条件,则执行所述根据所述第一奖励、所述第二奖励以及所述目标迁移耗能,确定目标虚拟分配策略的步骤,否则,确定所述第二虚拟分配策略为所述目标虚拟分配策略。
26、具体地,如上所述的方法,所述第二预设条件为:前一时刻放置在所述智能体上的第一目标虚拟机在所述第一资源中对应的第一中央处理器资源之和,小于等于所述第三资源中的第三中央处理器资源;且,所述第一目标虚拟机在所述第一资源中对应的第一内存资源之和,小于等于所述第三资源中的第三内存资源。
27、优选地,如上所述的方法,所述方法还包括:
28、将所述当前状态信息、所述目标虚拟分配策略和所述目标虚拟分配策略对应的奖励作为样本,并存储至经验库;
29、从所述经验库中随机选取预设数量的所述样本对所述多智能体深度确定性策略梯度神经网络中的策略网络参数和价值网络参数进行更新;
30、并根据更新后的所述策略网络参数,对目标策略网络参数进行软更新,且根据更新后的所述价值网络参数,对目标价值网络参数进行软更新。
31、第二方面,本技术实施例提供了一种虚拟机动态放置装置,包括:
32、第一模块,用于获取智能体在当前时刻对应的当前状态信息,所述当前状态信息包括:前一时刻的第一虚拟机分配策略、虚拟机在所述当前时刻拥用的第一资源、所述虚拟机在前一时刻拥有的第二资源以及所述智能体在所述当前时刻拥有的第三资源,其中,所述虚拟机的数量为至少一个;
33、第二模块,用于若根据第一资源和所述第一资源,确定任意一个所述虚拟机对应的资源变化满足第一预设条件,则将所述当前状态信息代入预设的多智能体深度确定性策略梯度神经网络中,得到当前时刻对应的第二虚拟机分配策略;
34、第三模块,用于根据预设奖励算法分别获取所述第一虚拟分配策略对应的第一奖励和所述第二虚拟分配策略对应的第二奖励,并获取由所述第一虚拟分配策略切换为所述第二虚拟分配策略的目标迁移耗能;
35、第四模块,用于根据所述第一奖励、所述第二奖励以及所述目标迁移耗能,确定目标虚拟分配策略。
36、具体地,如上所述的装置,还包括:
37、第五模块,用于若根据所述第一资源和所述第二资源,确定所述资源变化不满足所述第一预设条件时,确定所述第一虚拟分配策略为所述目标虚拟分配策略。
38、进一步的,如上所述的装置,所述第一预设条件包括以下至少一项:
39、同一所述虚拟机在所述第一资源中的第一中央处理器资源与在所述第二资源中的第二中央处理器资源的第二差值,大于第一阈值;
40、同一所述虚拟机在所述第一资源中的第一内存资源与所述第二资源中的第二内存资源的第三差值,大于第二阈值。
41、具体地,如上所述装置,所述第三模块包括:
42、第一处理单元,用于获取所述智能体的固定耗能以及与目标策略对应的附加耗能,所述目标策略包括:所述第一虚拟分配策略和所述第二虚拟分配策略;
43、第二处理单元,用于获取所述智能体所在的智能体系统对应的负载均衡参数以及预设的能量损耗权重;
44、第三处理单元,用于根据所述固定耗能、所述附加耗能、所述负载均衡参数以及所述能量损耗权重,得到所述目标策略对应的奖励。
45、具体地,如上所述装置,所述第三模块,包括:
46、第四处理单元,用于根据所述第二虚拟分配策略和所述第一虚拟分配策略,获取在所述智能体上发生迁移的第二目标虚拟机的数量;
47、第五处理单元,用于确定所述第二目标虚拟机数量与单位迁移能耗的积为所述目标迁移耗能。
48、具体地,如上所述的装置,第四模块,包括:
49、第六处理单元,用于获取所述第二奖励与所述第一奖励的第一差值;
50、第七处理单元,用于若所述第一差值大于等于所述迁移耗能的预设倍数,则确定所述第二虚拟分配策略为当前时刻的目标虚拟分配策略,否则,确定所述第一虚拟分配策略为所述目标虚拟分配策略。
51、进一步的如上所述的装置,还包括:
52、第六模块,用于根据所述第一虚拟分配策略、所述第一资源和所述第三资源,判断所述第一虚拟分配策略是否满足第二预设条件;
53、第七模块,用于若所述第一虚拟分配策略满足所述第二与预设条件,则执行所述根据所述第一奖励、所述第二奖励以及所述目标迁移耗能,确定目标虚拟分配策略的步骤,否则,确定所述第二虚拟分配策略为所述目标虚拟分配策略。
54、具体地,如上所述的装置,所述第二预设条件为:前一时刻放置在所述智能体上的第一目标虚拟机在所述第一资源中对应的第一中央处理器资源之和,小于等于所述第三资源中的第三中央处理器资源;且,所述第一目标虚拟机在所述第一资源中对应的第一内存资源之和,小于等于所述第三资源中的第三内存资源。
55、优选地,如上所述的装置,还包括:
56、第八模块,用于将所述当前状态信息、所述目标虚拟分配策略和所述目标虚拟分配策略对应的奖励作为样本,并存储至经验库;
57、第九模块,用于从所述经验库中随机选取预设数量的所述样本对所述多智能体深度确定性策略梯度神经网络中的策略网络参数和价值网络参数进行更新;
58、第十模块,用于并根据更新后的所述策略网络参数,对目标策略网络参数进行软更新,且根据更新后的所述价值网络参数,对目标价值网络参数进行软更新。
59、第三方面,本技术实施例提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序在被所述处理器执行时实现如第一方面所述的虚拟机动态放置方法的步骤。
60、第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时实现如第一方面所述的虚拟机动态放置方法的步骤。
61、第五方面,本技术实施例提供了一种计算机程序产品,包括计算机指令,该计算机指令在被处理器执行时实现如第一方面所述的虚拟机动态放置方法的步骤。
62、与现有技术相比,本技术实施例提供的一种虚拟机动态放置方法、装置、设备及存储介质,至少具有以下有益效果:
63、综上所述,本技术当虚拟机状态(cpu,内存资源)发生较大变化时,会根据虚拟机前后时刻状态差异进行初步判定;当虚拟机变化超过阈值时,才将当前时刻的状态信息输入到多智能体深度确定性策略梯度神经网络中,获得当前时刻的虚拟机放置策略。基于当前策略和上一时刻的策略带来的奖励以及虚拟机迁移造成的资源损耗,进行权衡比较来确定最后的虚拟机放置策略。其中,多智能体深度确定性策略梯度神经网络通过利用深度学习的强大特征提取和非线性函数近似来完成强化学习中q函数以及模型的拟合,从而解决了强化收敛速度慢和性能不佳的问题。通过调整奖励中的加权参数来调整系统的优化侧重点。此外,本技术还将虚拟机迁移过程中的资源消耗纳入考虑范围,通过进行策略比较,来确定当前时刻是采用新的虚拟机放置策略,还是保持旧的虚拟机放置策略不变,从而尽可能的减少不必要的虚拟机迁移。
1.一种虚拟机动态放置方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,所述第一预设条件包括以下至少一项:
4.根据权利要求1所述方法,其特征在于,所述预设奖励算法包括:
5.根据权利要求1所述方法,其特征在于,所述获取由所述第一虚拟分配策略切换为所述第二虚拟分配策略的目标迁移耗能,包括:
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一奖励、所述第二奖励以及所述目标迁移耗能,确定目标虚拟分配策略,包括:
7.根据权利要求1所述的方法,其特征在于,在所述根据所述第一奖励、所述第二奖励以及所述目标迁移耗能,确定目标虚拟分配策略之前,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述第二预设条件为:前一时刻放置在所述智能体上的第一目标虚拟机在所述第一资源中对应的第一中央处理器资源之和,小于等于所述第三资源中的第三中央处理器资源;且,所述第一目标虚拟机在所述第一资源中对应的第一内存资源之和,小于等于所述第三资源中的第三内存资源。
9.根据权利要求1或7所述的方法,其特征在于,所述方法还包括:
10.一种虚拟机动态放置装置,其特征在于,包括:
11.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序在被所述处理器执行时实现如权利要求1至9任一项所述的虚拟机动态放置方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时实现如权利要求1至9任一项所述的虚拟机动态放置方法的步骤。
13.一种计算机程序产品,其特征在于,包括计算机指令,该计算机指令在被处理器执行时实现如权利要求1至9任一项所述的虚拟机动态放置方法的步骤。