适于Kubernetes的多核组加速卡的调度方法及系统与流程

文档序号:36014586发布日期:2023-11-17 10:11阅读:37来源:国知局
适于Kubernetes的多核组加速卡的调度方法及系统与流程

本发明涉及一种调度方法及系统,尤其是一种适于kubernetes的多核组加速卡的调度方法及系统。


背景技术:

1、kubernetes是目前最火热的容器编排技术,其默认支持容器使用时对cpu、内存资源的调度,但对异构设备在kubernetes中的调度使用,需要设备厂商基于kubernetes的device plugin接口进行插件的开发。

2、目前,基于device plugin接口插件开发的调度技术,都是单独调度一个操作系统层面的独立设备进容器,但由于多核组加速卡的特性,其在物理层面是一张加速卡,但在操作系统层面的表现为多个设备,因此,需要将在操作系统层面表现的同属于一个物理加速卡的多个设备(device)组合绑定调度,才能在容器中正常使用当前的多核组加速卡。

3、由上述说明可知,现有技术中,在kubernetes中调度时,都是以单个device为单位进行的,在容器内也是以单个device出现,但对于物理上是一个独立设备,但在操作系统中,是以多个device来运行的多核组加速卡,单独调度一个device进容器,将会发生存在于不同容器内的设备在接受用户命令时会互相干扰,进而会造成用户任务失败,也即目前在kubernetes中调度时,无法满足对多核组加速度的调度。


技术实现思路

1、本发明的目的是克服现有技术中存在的不足,提供一种适于kubernetes的多核组加速卡的调度方法及系统,其能有效实现多核组加速卡在kubernetes中的调度。

2、按照本发明提供的技术方案,一种适于kubernetes的多核组加速卡的调度方法,所述调度方法包括:

3、在kubernetes中,配置适于多核组加速卡的device plugin接口插件,以利用所述device plugin接口插件获取对应多核组加速卡内所有核组的物理卡id,并将服务器节点上的所有多核组加速卡相应的物理卡id注册到kubernetes的一节点node内;

4、获取并解析用户pod配置文件,当所解析的用户pod配置文件包含加速卡资源需求时,kubernetes基于用户pod配置文件中加速卡资源需求从节点node内已注册的加速卡资源池内取出等量未分配加速卡id,并将所取出未分配加速卡id传递给device plugin接口插件;

5、基于所接收加速卡id,device plugin接口插件查询对应所接收加速卡id的index信息,并将所述查询所有的index信息传递给所述节点node的kubelet;

6、所述节点node的kubelet将index信息以环境变量形式传递至与所述deviceplugin接口插件适配的docker runtime组件,docker runtime组件接收到环境变量及其对应的index信息时,docker runtime组件在创建容器时,把index信息中序号对应的device挂载到容器内的/dev下,同时docker runtime组件将device所需的driverapi同时映射进容器。

7、对多核组加速卡内所有核组的物理卡id,所述device plugin接口插件通过管理库获取。

8、对用户pod配置文件包含加速卡资源需求,所述加速卡资源需求包括加速卡的数量,其中,所述加速卡的数量为不小于1的整数倍。

9、对接收加速卡id的index信息,device plugin接口插件通过管理库查询获取。

10、一种适于kubernetes的多核组加速卡的调度系统,包括调度处理器,其中,对多核组加速卡,调度处理器采用上述所述的调度方法调度,以在kubernetes中支持对所述多核组加速卡的调度使用。

11、本发明的优点:能有效实现多核组加速卡在kubernetes中的调度,避免造成用户任务的失败;同时,对多核组加速卡调度时,可降低用户在描述kubernetes资源时的配置复杂性,用户只需在用户pod配置文件内描述所需的加速卡数即可,无需计算所需的device数。



技术特征:

1.一种适于kubernetes的多核组加速卡的调度方法,其特征是,所述调度方法包括:

2.根据权利要求1所述的适于kubernetes的多核组加速卡的调度方法,其特征是:对多核组加速卡内所有核组的物理卡id,所述device plugin接口插件通过管理库获取。

3.根据权利要求1所述的适于kubernetes的多核组加速卡的调度方法,其特征是:对用户pod配置文件包含加速卡资源需求,所述加速卡资源需求包括加速卡的数量,其中,所述加速卡的数量为不小于1的整数倍。

4.根据权利要求1所述的适于kubernetes的多核组加速卡的调度方法,其特征是:对接收加速卡id的index信息,device plugin接口插件通过管理库查询获取。

5.一种适于kubernetes的多核组加速卡的调度系统,其特征是,包括调度处理器,其中,对多核组加速卡,调度处理器采用上述权利要求1~权利要求4中任一项所述的调度方法调度,以在kubernetes中支持对所述多核组加速卡的调度使用。


技术总结
本发明涉及一种适于Kubernetes的多核组加速卡的调度方法及系统。其包括:Kubernetes基于用户Pod配置文件中加速卡资源需求从节点node内已注册的加速卡资源池内取出等量未分配加速卡ID;将所述查询所有的index信息传递给所述节点node的kubelet;所述节点node的kubelet将index信息以环境变量形式传递至Docker runtime组件,Docker runtime组件接收到环境变量及其对应的index信息时,Docker runtime组件在创建容器时,把index信息中序号对应的device挂载到容器内的/dev下,同时Docker runtime组件将device所需的driverapi同时映射进容器。本发明能有效实现多核组加速卡在Kubernetes中的调度。

技术研发人员:胡忆峰,牛群
受保护的技术使用者:太初(无锡)电子科技有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1