一种虚拟机的绑定方法、装置、电子设备和一种调度系统制造方法及图纸

技术编号:37801285 阅读:13 留言:0更新日期:2023-06-09 09:31
本发明专利技术实施例提供了一种虚拟机的绑定方法、装置、电子设备和一种调度系统,该方法包括:接收创建第一目标虚拟机的创建指令,并根据创建指令,确定创建第一目标虚拟机所需要的中央处理器CPU的目标数量;确定各非一致性内存访问架构NUMA节点上的CPU的分配情况,并判断各NUMA节点上是否存在连续的、目标数量个的空闲CPU;当各NUMA节点上均不存在连续的、目标数量个的空闲CPU时,对各NUMA节点上的CPU与虚拟机的绑定关系进行调整,以在一NUMA节点上调整出连续的、至少为目标数量个的空闲CPU;创建第一目标虚拟机,并将第一目标虚拟机绑定在一NUMA节点上的连续的、目标数量个数的空闲CPU上。上。上。

【技术实现步骤摘要】
一种虚拟机的绑定方法、装置、电子设备和一种调度系统


[0001]本专利技术涉及数据处理的
,特别是涉及一种虚拟机的绑定方法、装置、电子设备和一种调度系统。

技术介绍

[0002]目前计算机架构中,多核或者众核已经成为了主流,但是CPU(Central Processing Unit中央处理器)访问统一的存储器成了一个瓶颈,NUMA(Non Uniform Memory Access,非一致性内存访问架构)通过提供分离的存储器给各个处理器,避免当多个处理器访问同一个存储器产生的性能损失来试图解决这个问题,对于一个虚拟机来说,访问本NUMA的主存比访问跨NUMA的主存会快不少,为了解决这个问题,业界通常会将某个虚拟机限定在某个NUMA内进行访问。
[0003]在实际应用中,可以按照平均的方式,将虚拟机分配到每个NUMA,但是随着一段时间的运行,虚拟机会出现大量的添加或删除,NUMA上会产生大量的碎片,这可能会导致新的虚拟机无法创建,进而服务器吞吐量低的问题。

技术实现思路

[0004]鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种虚拟机的绑定方法、装置、电子设备和一种调度系统,包括:
[0005]一种虚拟机的绑定方法,所述方法包括:
[0006]接收创建第一目标虚拟机的创建指令,并根据所述创建指令,确定创建所述第一目标虚拟机所需要的中央处理器CPU的目标数量;
[0007]确定各非一致性内存访问架构NUMA节点上的CPU的分配情况,并判断各NUMA节点上是否存在连续的、目标数量个的空闲CPU;
[0008]当各NUMA节点上均不存在连续的、目标数量个的空闲CPU时,对各NUMA节点上的CPU与虚拟机的绑定关系进行调整,以在一NUMA节点上调整出连续的、至少为目标数量个的空闲CPU;
[0009]创建所述第一目标虚拟机,并将所述第一目标虚拟机绑定在所述一NUMA节点上的连续的、目标数量个数的空闲CPU上。
[0010]可选地,所述对各NUMA节点上的CPU与虚拟机的绑定关系进行调整,包括:
[0011]确定目标NUMA节点中的空闲碎片CPU,所述空闲碎片CPU为连续数量为1的空闲CPU;
[0012]确定与所述空闲碎片CPU相邻的已绑定CPU,所述已绑定CPU与一虚拟机绑定;
[0013]建立所述空闲碎片CPU与所述一虚拟机的绑定关系,并解除所述一虚拟机与所述已绑定CPU中距离所述空闲碎片CPU最远的一CPU的绑定关系。
[0014]可选地,所述对各NUMA节点上的CPU与虚拟机的绑定关系进行调整,包括:
[0015]统计各虚拟机的静置时间,所述静置时间从虚拟机结束上一次与CPU的数据交互
开始计算;
[0016]当所述静置时间超过第一预设值时,解除对应的虚拟机与CPU的绑定关系。
[0017]可选地,所述对各NUMA节点上的CPU与虚拟机的绑定关系进行调整,包括:
[0018]确定所述第一目标虚拟机的优先级,以及当前与CPU存在绑定关系的虚拟机的优先级;
[0019]确定优先级低于所述第一目标虚拟机的优先级的第二目标虚拟机;
[0020]解除所述第二目标虚拟机与对应的CPU的绑定关系。
[0021]可选地,所述方法还包括:
[0022]当所述第一目标虚拟机主动解除与对应CPU的绑定关系时,建立所述第二目标虚拟机与所述对应CPU的绑定关系。
[0023]可选地,所述方法还包括:
[0024]确定各NUMA节点中空闲碎片CPU的数量,所述空闲碎片CPU为连续数量为1的空闲CPU;
[0025]当所述空闲碎片CPU的数量超过第二预设值时,对各NUMA节点上的CPU与虚拟机的绑定关系进行调整,以将所述空闲碎片CPU的数量降低至第二预设值以下。
[0026]可选地,所述将所述第一目标虚拟机绑定在所述一NUMA节点上的连续的、目标数量个数的空闲CPU上,包括:
[0027]确定多个空闲CPU组,空闲CPU组由连续的、至少为目标数量个数的空闲CPU组成;
[0028]确定所述第一目标虚拟机绑定在各空闲CPU组时,各NUMA节点剩余的、连续数量大于1的连续CPU的数量;
[0029]将所述第一目标虚拟机绑定在剩余的连续数量大于1的连续CPU的数量最大的空闲CPU组中。
[0030]可选地,所述确定所述第一目标虚拟机绑定在各空闲CPU组时,各NUMA节点剩余的连续数量大于1的连续CPU的数量,包括:
[0031]确定所述第一目标虚拟机绑定在各空闲CPU组时,各NUMA节点剩余的连续数量大于1的连续CPU的CPU个数;
[0032]对所述CPU个数取平方,并将取平方后得到的数值作为NUMA节点剩余的连续数量大于1的连续CPU的数量。
[0033]可选地,在将所述第一目标虚拟机绑定在所述一NUMA节点上的连续的、目标数量个数的空闲CPU上后,所述方法还包括:
[0034]将绑定有第一目标虚拟机的CPU置为绑定状态。
[0035]可选地,所述方法还包括:
[0036]获取各NUMA上的各CPU的当前使用状态;所述当前使用状态包括空闲状态和绑定状态;
[0037]将所述当前使用状态存储至一预设数据库中。
[0038]可选地,所述确定各非一致性内存访问架构NUMA节点上的CPU的分配情况,包括:
[0039]从所述预设数据库中,获取各CPU的当前使用状态;
[0040]根据各CPU的当前使用状态,确定各NUMA节点上的CPU的分配情况。
[0041]本专利技术实施例还提供了一种调度系统,所述系统包括:NUMA配置收集模块和NUMA
碎片整理模块;
[0042]所述NUMA配置收集模块,用于确定各NUMA节点上的CPU的分配情况;
[0043]所述NUMA碎片整理模块,用于接收创建第一目标虚拟机的创建指令,并根据所述创建指令,确定创建所述第一目标虚拟机所需要的中央处理器CPU的目标数量;判断各NUMA节点上是否存在连续的、目标数量个的空闲CPU;当各NUMA节点上均不存在连续的、目标数量个的空闲CPU时,对各NUMA节点上的CPU与虚拟机的绑定关系进行调整,以在一NUMA节点上调整出连续的、至少为目标数量个的空闲CPU;创建所述第一目标虚拟机,并将所述第一目标虚拟机绑定在所述一NUMA节点上的连续的、目标数量个数的空闲CPU上
[0044]本专利技术实施例还提供了一种虚拟机的绑定装置,所述装置包括:
[0045]接收模块,用于接收创建第一目标虚拟机的创建指令,并根据所述创建指令,确定创建所述第一目标虚拟机所需要的中央处理器CPU的目标数量;
[0046]判断模块,用于确定各非一致性内存访问架构NUMA节点上的CPU的分配情况,并判断各NUMA节点上是否存在连续的、目标数量个的空闲CPU;...

【技术保护点】

【技术特征摘要】
1.一种虚拟机的绑定方法,其特征在于,所述方法包括:接收创建第一目标虚拟机的创建指令,并根据所述创建指令,确定创建所述第一目标虚拟机所需要的中央处理器CPU的目标数量;确定各非一致性内存访问架构NUMA节点上的CPU的分配情况,并判断各NUMA节点上是否存在连续的、目标数量个的空闲CPU;当各NUMA节点上均不存在连续的、目标数量个的空闲CPU时,对各NUMA节点上的CPU与虚拟机的绑定关系进行调整,以在一NUMA节点上调整出连续的、至少为目标数量个的空闲CPU;创建所述第一目标虚拟机,并将所述第一目标虚拟机绑定在所述一NUMA节点上的连续的、目标数量个数的空闲CPU上。2.根据权利要求1所述的方法,其特征在于,所述对各NUMA节点上的CPU与虚拟机的绑定关系进行调整,包括:确定目标NUMA节点中的空闲碎片CPU,所述空闲碎片CPU为连续数量为1的空闲CPU;确定与所述空闲碎片CPU相邻的已绑定CPU,所述已绑定CPU与一虚拟机绑定;建立所述空闲碎片CPU与所述一虚拟机的绑定关系,并解除所述一虚拟机与所述已绑定CPU中距离所述空闲碎片CPU最远的一CPU的绑定关系。3.根据权利要求1所述的方法,其特征在于,所述对各NUMA节点上的CPU与虚拟机的绑定关系进行调整,包括:统计各虚拟机的静置时间,所述静置时间从虚拟机结束上一次与CPU的数据交互开始计算;当所述静置时间超过第一预设值时,解除对应的虚拟机与CPU的绑定关系。4.根据权利要求1所述的方法,其特征在于,所述对各NUMA节点上的CPU与虚拟机的绑定关系进行调整,包括:确定所述第一目标虚拟机的优先级,以及当前与CPU存在绑定关系的虚拟机的优先级;确定优先级低于所述第一目标虚拟机的优先级的第二目标虚拟机;解除所述第二目标虚拟机与对应的CPU的绑定关系。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:当所述第一目标虚拟机主动解除与对应CPU的绑定关系时,建立所述第二目标虚拟机与所述对应CPU的绑定关系。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定各NUMA节点中空闲碎片CPU的数量,所述空闲碎片CPU为连续数量为1的空闲CPU;当所述空闲碎片CPU的数量超过第二预设值时,对各NUMA节点上的CPU与虚拟机的绑定关系进行调整,以将所述空闲碎片CPU的数量降低至第二预设值以下。7.根据权利要求1所述的方法,其特征在于,所述将所述第一目标虚拟机绑定在所述一NUMA节点上的连续的、目标数量个数的空闲CPU上,包括:确定多个空闲CPU组,空闲CPU组由连续的、至少为目标数量个数的空闲CPU组成;确定所述第一目标虚拟机绑定在各空闲CPU组时,各NUMA节点剩余的、连续数量大于1的连续CPU的数量;将所述第一目标虚拟机绑定在剩余的连续数量大于1的连续CPU的数量最大的空闲CPU
组中。8.根据权利要求7所述的方法,其特征在于,所述确定所述第一目标虚拟机绑定在各空闲CPU组时,各NUMA节点剩余的连续数量...

【专利技术属性】
技术研发人员:潘晓东陈丽娜
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1