一种异构加速设备管理调度方法、装置、设备和存储介质与流程
- 国知局
- 2024-07-31 22:38:09
本技术涉及云计算,特别是涉及一种异构加速设备管理调度方法、装置、设备和存储介质。
背景技术:
1、现阶段,随着人工智能和机器学习的迅猛发展,对加速设备,如gpu(graphicsprocessing unit,图形处理器)计算资源的需求越来越高。主流的容器化管理平台k8s(kubernetes,一个开源的用于管理云平台中多个主机上的容器化的应用)虽然提供了扩展接口设备插件,可以为不同种类的加速设备提供支持,但默认的调度器策略并不具备针对多种智能加速卡资源的统一调度能力。
2、当前加速设备生产厂商提供的加速设备资源调度方法通产只支持k8s集群中的容器集以独占的方式使用节点上的加速设备资源,即,当k8s集群中存在多种厂商的加速设备时,k8s默认调度器在绑定容器集到节点时,会逐个调用加速设备,一旦某个加速设备执行成功,就会退出并忽略其他加速设备,这可能导致一个容器集中某些加速设备资源在运行设备插件时因缺少必要参数而导致资源分配失败。
3、因此,随着加速设备的厂商及型号的不断增多,亟需提出一种能够实现多种加速设备的混合调度的异构加速设备管理调度方法、装置、设备和存储介质。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够实现多种加速设备的混合调度的异构加速设备管理调度方法、装置、设备和存储介质。
2、第一方面,提供一种异构加速设备管理调度的方法,应用于k8s,k8s包括代理调度器,所述方法包括:
3、创建待调度容器集,并将所述待调度容器集放入调度队列;
4、检测所述待调度容器集中是否包含代理资源的声明,其中,所述代理资源由所述代理调度器进行管理;
5、响应于所述待调度容器集中包含所述代理资源的声明,确定所述待调度容器集需要进行代理调度;
6、读取所述待调度容器集中加速设备的资源声明以及k8s中带有节点绑定操作的加速设备信息;
7、将所述待调度容器集中加速设备的资源声明与所述k8s中带有节点绑定操作的加速设备信息匹配,获得至少两种待调用加速设备;
8、通过所述代理调度器调用所述至少两种待调用加速设备,以将所述待调度容器集与节点绑定。
9、在其中一个实施例中,所述将所述待调度容器集与节点绑定前,所述方法还包括:
10、开发代理调度器并将其注册到k8s,同时声明所述代理调度器管理的代理资源,以及向k8s所有计算节点的节点信息中添加所述代理资源,其中,所述代理资源为虚拟资源;
11、开发代理预处理器并将其注册到k8s,通过所述代理预处理器向k8s需要进行代理调度的容器集中添加所述代理资源的声明,其中,所述需要进行代理调度的容器集中包括至少两种加速设备的资源声明;
12、开发代理协调器和代理存储器并将其分别注册到k8s,通过所述代理协调器读取k8s默认配置文件中带有节点绑定操作的加速设备信息,并将所述带有节点绑定操作的加速设备信息存放到所述代理存储器,其中,所述带有节点绑定操作的加速设备信息包含至少两种带有节点绑定操作的加速设备的名称、对外可访问的http接口及其资源类型。
13、在其中一个实施例中,所述向k8s所有计算节点的节点信息中添加所述代理资源,包括:
14、监听k8s中所有计算节点的节点信息;
15、响应于监听到所述节点信息发生变化,向对应的计算节点中添加n个代理资源,其中,n=99999;
16、所述通过所述代理预处理器向k8s需要进行代理调度的容器集中添加所述代理资源的声明,包括:
17、获取所述容器集中所有加速设备的资源声明;
18、响应于所述容器集中含有至少两种带有节点绑定操作的加速设备的资源声明,确定所述容器集为需要进行代理调度的容器集,向所述容器集中添加代理资源的声明;
19、响应于所述容器集中只含有一种带有节点绑定操作的加速设备的资源声明,通过所述默认调度器调用该带有节点绑定操作的加速设备执行绑定节点操作;
20、所述响应于监听到所述节点信息发生变化,向对应的计算节点中添加n个代理资源,其中,n=99999,所述方法还包括:
21、获取每个计算节点消耗的资源数量,并通过所述代理协调器对所述每个计算节点进行资源数量补给。
22、在其中一个实施例中,所述将所述带有节点绑定操作的加速设备信息存放到所述代理存储器后,所述方法还包括:
23、根据所述带有节点绑定操作的加速设备信息,将所述待调度容器集与节点进行绑定,同时将所述带有节点绑定操作的加速设备信息从所述默认配置文件中移除,重新启动k8s默认调度框架。
24、在其中一个实施例中,所述通过所述代理调度器调用所述至少两种待调用加速设备,以将所述待调度容器集与节点绑定后,所述方法还包括:
25、获取绑定操作的执行结果,并将所述执行结果统一写入所述待调度容器集的注解信息中,其中,所述绑定操作指通过所述代理调度器调用所述至少两种加速设备,以将所述待调度容器集与节点进行绑定;
26、将所述待调度容器集的注解信息返回给k8s默认调度框架。
27、在其中一个实施例中,所述方法还包括:
28、将所述带有节点绑定操作的加速设备信息存放到所述代理存储器;
29、响应于所述带有节点绑定操作的加速设备信息包含至少两种带有节点绑定操作的加速设备的名称、对外可访问的http接口及其管理的资源类型,开发所述代理调度器并将其注册到k8s。
30、在其中一个实施例中,所述方法还包括:
31、接收用户发送的所述带有节点绑定操作的加速设备信息,并将所述带有节点绑定操作的加速设备信息配置到所述代理存储器中;
32、通过所述代理协调器将所述代理存储器中带有节点绑定操作的加速设备信息自动注册到所述默认配置文件。
33、第二方面,提供了一种异构加速设备管理调度的装置,应用于k8s,k8s包括代理调度器,所述装置包括:
34、创建模块,所述创建模块用于创建待调度容器集,并将所述待调度容器集放入调度队列;
35、判断模块,所述判断模块用于检测所述待调度容器集中是否包含代理资源的声明,其中,所述代理资源由所述代理调度器进行管理,以及用于响应于所述待调度容器集中包含所述代理资源的声明,确定所述待调度容器集需要进行代理调度;
36、读取模块,所述读取模块用于读取所述待调度容器集中加速设备的资源声明以及k8s中带有节点绑定操作的加速设备信息;
37、匹配模块,所述匹配模块用于将所述待调度容器集中加速设备的资源声明与所述k8s中带有节点绑定操作的加速设备信息匹配,获得至少两种待调用加速设备;
38、调用模块,所述调用模块用于通过所述代理调度器调用所述至少两种待调用加速设备,以将所述待调度容器集与节点绑定。
39、第三方面,提供了一种计算机设备,所述计算机设备包括一个或多个处理器;以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如上述第一方面任意一项所述方法的步骤。
40、第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,执行如上述第一方面任意一项所述方法的步骤。
41、第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面任意一项所述方法的步骤。
42、上述异构加速设备管理调度的方法、装置、计算机设备和存储介质,根据待调度容器集中是否包含代理资源,确定该待调度容器集是否需要进行代理调度,其中,代理资源由代理调度器进行管理;将读取到的所述待调度容器集中加速设备的资源声明与所述k8s中带有节点绑定操作的加速设备信息匹配,获得至少两种待调用加速设备;通过所述代理调度器调用所述至少两种待调用加速设备,以将所述待调度容器集与节点绑定,实现多种加速设备的混合调度。
本文地址:https://www.jishuxx.com/zhuanli/20240730/193926.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表