技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于集群下虚拟机NUMA自动调度方法与流程  >  正文

一种基于集群下虚拟机NUMA自动调度方法与流程

  • 国知局
  • 2024-10-15 09:33:04

本发明涉及计算机网络,特别涉及一种基于集群下虚拟机numa自动调度方法。

背景技术:

1、numa(non-uniform memoryaccess),非一致性内存访问,是一种关于多个cpu如何访问内存的架构模型,在numa架构中,将处理器和存储器划分到不同的节点(numanode),它们都拥有几乎相等的资源;在numa节点内部会通过自身的存储总线访问内部的本地内存,而所有numa节点都可以通过qpi(quick path inter connect)总线来访问其他节点的远程内存。

2、由于cpu访问不同类型节点内存的速度是不相同的,访问本地节点的速度最快,访问远端节点的速度最慢,即访问速度与节点的距离有关,距离越远访问速度越慢,所以叫做非一致性内存访问,这个访问内存的距离称作节点距离node distance。

3、虽然numa很好地解决了对称多处理架构(smp,symmetrical multi-processing))下处理器大量扩展带来的性能问题,但是其自身也存在着不足,当node节点本地内存不足时,需要跨节点访问内存,节点间的访问速度慢,从而也会带来性能的下降。

4、且numa作为云基础设施平台的通用技术,以虚拟机为维度进行管理,需要专业的运维人员去布局numa,因此,虚拟机的虚拟处理器(vcpu,virtual central processingunit)和内存在numa节点上的错误布局,不但会导致降低服务器的性能,而且会导致服务器资源的严重浪费,这将抹掉任何内存与cpu决策所带来的好处,甚至会导致虚拟机启动失败。

技术实现思路

1、本发明提供了一种基于集群下虚拟机numa自动调度方法,其目的是为了在有效降低运维的使用成本的同时提高虚拟机的性能。

2、为了达到上述目的,本发明提供了一种基于集群下虚拟机numa自动调度方法,应用于云基础设施平台,云基础设施平台包括由多个服务器构成的集群、numa管理装置、多个numa资源监控装置,一个numa资源监控装置对应一个服务器,自动调度方法包括:

3、步骤1,numa管理装置基于集群中各服务器的numa资源组建虚拟numa资源池;

4、步骤2,针对集群中的每个服务器,利用与服务器对应的numa资源监控装置对服务器的numa资源使用情况进行统计,得到每个服务器的统计结果并上报至numa管理装置;

5、步骤3,numa管理装置接收待调度虚拟机开启numa自动调度功能的消息,当虚拟numa资源池满足待调度虚拟机的虚拟处理器和内存资源量要求时,在虚拟numa资源池内,根据集群中每个服务器的统计结果为待调度虚拟机选择目标服务器,并将选择结果下发至与目标服务器对应的numa资源监控装置;

6、步骤4,numa管理装置根据选择结果以及待调度虚拟机的虚拟处理器和内存资源量,在目标服务器内对待调度虚拟机的虚拟处理器和内存资源进行调度,得到调度结果。

7、进一步来说,自动调度方法还包括:

8、将集群中的服务器划分为一个控制节点和多个计算节点;

9、numa管理装置部署于控制节点上,用于对虚拟numa资源池进行管理,为待调度虚拟机选择目标服务器,根据选择结果在目标服务器内对待调度虚拟机的虚拟处理器和内存资源进行调度;

10、numa资源监控装置部署于计算节点上,numa资源监控装置与计算节点一一对应,用于对每个服务器的numa资源使用情况进行统计,并将每个服务器的统计结果上报至numa管理装置。

11、进一步来说,步骤2包括:

12、根据虚拟numa资源池内各服务器的numa资源使用情况,按照空闲资源量对各服务器的numa资源使用情况进行统计,并根据空闲资源量为各服务器打分,得到第一得分结果;

13、按照已分配虚拟机的numa资源量的服务器进行统计,并根据已分配虚拟机的numa资源量为各服务器打分,得到第二得分结果;

14、对第一得分结果和第二得分结果进行加权求和,得到每个服务器的统计结果。

15、进一步来说,服务器的numa资源使用情况包括:

16、服务器的numa拓扑情况、服务器的处理器使用情况、服务器的内存使用情况。

17、进一步来说,步骤3包括:

18、numa管理装置接收待调度虚拟机开启numa自动调度功能的消息;

19、判断虚拟numa资源池内的cpu利用率、内存使用率是否满足待调度虚拟机的虚拟处理器和内存资源量的使用要求;

20、当虚拟numa资源池内的cpu利用率、内存使用率不满足待调度虚拟机的虚拟处理器和内存资源量的使用要求时,结束调度;

21、当虚拟numa资源池内的cpu利用率、内存使用率满足待调度虚拟机分配的虚拟处理器和内存资源量的使用要求时,在虚拟numa资源池内,根据每个服务器的统计结果选择目标服务器,并将选择结果下发至numa资源监控装置。

22、进一步来说,在目标服务器内对待调度虚拟机的虚拟处理器和内存资源进行调度,得到调度结果,包括:

23、numa管理装置获取统计结果;

24、根据选择结果判断目标服务器的空闲资源量是否大于待调度虚拟机的虚拟处理器和内存资源量;

25、当目标服务器的空闲资源量大于或等于待调度虚拟机的虚拟处理器和内存资源量时,将待调度虚拟机的虚拟处理器和内存资源调度至目标服务器中的一个物理numa节点上运行;

26、当目标服务器的空闲资源量小于待调度虚拟机的虚拟处理器和内存资源量时,将待调度虚拟机与目标服务器进行关联映射,并将待调度虚拟机的虚拟处理器和内存资源分别调度至目标服务器中不同的物理numa节点上运行。

27、进一步来说,自动调度方法还包括:

28、当待调度虚拟机重启时,numa管理装置根据虚拟numa资源池的统计结果以及待调度虚拟机的虚拟处理器和内存资源量,对待调度虚拟机的虚拟处理器和内存资源进行重新调度。

29、本发明的上述方案有如下的有益效果:

30、本发明应用于云基础设施平台,云基础设施平台包括由多个服务器构成的集群、numa管理装置、多个numa资源监控装置;numa管理装置基于集群中各服务器的numa资源组建虚拟numa资源池;针对集群中的每个服务器,利用与服务器对应的numa资源监控装置对服务器的numa资源使用情况进行统计,得到统计结果并上报至numa管理装置;numa管理装置接收待调度虚拟机开启numa自动调度功能的消息,当虚拟numa资源池满足待调度虚拟机的虚拟处理器和内存资源量要求时,在虚拟numa资源池内,根据集群中每个服务器的统计结果为待调度虚拟机选择目标服务器,并将选择结果下发至与目标服务器对应的numa资源监控装置;numa管理装置根据选择结果以及待调度虚拟机的虚拟处理器和内存资源量,在目标服务器内对待调度虚拟机的虚拟处理器和内存资源进行调度,得到调度结果;与现有技术相比,以多个服务器构成的集群为维度,通过numa管理装置将各服务器的numa资源整合成虚拟numa资源池,通过numa资源监控装置对服务器的numa资源使用情况进行统计,得到每个服务器的统计结果,通过numa管理装置根据每个服务器的统计结果选择目标服务器,根据选择结果和待调度虚拟机的虚拟处理器和内存资源量,在目标服务器内对待调度虚拟机的虚拟处理器和内存资源进行调度进行动态调度,确保待调度虚拟机在最合适的目标服务器上运行,在有效降低运维的使用成本的同时提高了虚拟机的性能。

31、本发明的其它有益效果将在随后的具体实施方式部分予以详细说明。

本文地址:https://www.jishuxx.com/zhuanli/20241015/314539.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。