基于kubernetes的GPU共享方法、装置、设备及介质制造方法及图纸

技术编号:33968344 阅读:16 留言:0更新日期:2022-06-30 01:54
本发明专利技术涉及互联网领域,提供一种基于kubernetes的GPU共享方法、装置、设备及介质,在内核层,通过配置的第一插件监听每个GPU设备的资源占用信息并记录至预设文件,当根据预设文件检测到有GPU设备处于空闲状态,且有目标docker请求GPU资源时,将GPU设备确定为目标GPU设备,并利用kubernetes的device

【技术实现步骤摘要】
基于kubernetes的GPU共享方法、装置、设备及介质


[0001]本专利技术涉及互联网
,尤其涉及一种基于kubernetes的GPU共享方法、装置、设备及介质。

技术介绍

[0002]Kubernetes 是一个可移植、可扩展的平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。现有的Kubernetes中,上报给Kubernetes的GPU(Graphics Processing Unit,图形处理器)资源,一旦分配给某个docker,就会被docker独占,即便该docker并未使用GPU资源,也无法再分配给其他docker使用,造成了资源的浪费。
[0003]并且,在利用GPU设备执行任务时,通常是由多个任务同时共享使用同一个GPU设备,存在任务相互干扰的情况,并导致任务的执行效率低。
[0004]另外,当有GPU设备被长期闲置时,也会造成GPU资源的浪费,导致GPU资源的利用率低。

技术实现思路

[0005]鉴于以上内容,有必要提供一种基于kubernetes的GPU共享方法、装置、设备及介质,旨在解决GPU资源浪费及GPU任务执行效率低的问题。
[0006]一种基于kubernetes的GPU共享方法,所述基于kubernetes的GPU共享方法包括:在内核层,通过配置的第一插件监听每个GPU设备的资源占用信息,并将每个GPU设备的资源占用信息记录至预设文件;根据所述预设文件检测是否有GPU设备处于空闲状态;当检测到有GPU设备处于空闲状态,且有目标docker请求GPU资源时,将所述GPU设备确定为目标GPU设备,并利用所述kubernetes的device

plugin插件将所述目标GPU设备作为扩展资源上报至kubelet;通过所述kubelet上报所述目标GPU设备至所述kubernetes,并将所述目标GPU设备映射至所述目标docker进行使用。
[0007]根据本专利技术优选实施例,所述GPU设备的资源占用信息包括该GPU设备的打开事件及关闭事件;所述通过配置的第一插件监听每个GPU设备的资源占用信息,并将每个GPU设备的资源占用信息记录至预设文件包括:通过所述第一插件的预设开关控制是否监听每个GPU设备的资源占用信息;当通过所述预设开关控制监听每个GPU设备的资源占用信息时,通过所述第一插件监听每个GPU设备的打开事件及关闭事件;获取所述打开事件的进程ID,及获取所述关闭事件的进程ID,并通过所述第一插件将所述打开事件的进程ID及所述关闭事件的进程ID发送至配置的第二插件;通过所述第二插件将每个GPU设备的资源占用信息记录至所述预设文件,其中,每
个GPU设备的资源占用信息包括所述打开事件的进程ID及所述关闭事件的进程ID。
[0008]根据本专利技术优选实施例,在通过所述第一插件将所述打开事件的进程ID及所述关闭事件的进程ID发送至配置的第二插件前,所述方法还包括:向所述第一插件注册所述第二插件。
[0009]根据本专利技术优选实施例,所述根据所述预设文件检测是否有GPU设备处于空闲状态包括:当根据所述预设文件中的记录检测到有GPU设备被任意docker占用,且在预设时长内未被使用时,确定检测到的GPU设备处于所述空闲状态。
[0010]根据本专利技术优选实施例,所述将所述目标GPU设备映射至所述目标docker进行使用包括:当所述目标docker的数量为多个时,获取所述目标docker中每个目标docker的请求时间;获取所述请求时间最早的目标docker作为当前目标docker;将所述目标GPU设备映射至所述当前目标docker进行使用。
[0011]根据本专利技术优选实施例,在将所述目标GPU设备映射至所述目标docker进行使用后,所述方法还包括:获取所述目标GPU设备处于所述空闲状态时所属的docker作为初始docker;当检测到所述初始docker请求使用所述目标GPU设备的GPU资源时,解除所述目标docker对所述目标GPU设备的占用,并将所述目标GPU设备的GPU资源返还至所述初始docker。
[0012]根据本专利技术优选实施例,在解除所述目标docker对所述目标GPU设备的占用后,所述方法还包括:记录所述目标docker的任务节点;当检测到所述目标docker的任务被重启时,从所述目标docker的任务节点处开始执行所述目标docker的任务。
[0013]一种基于kubernetes的GPU共享装置,所述基于kubernetes的GPU共享装置包括:监听单元,用于在内核层,通过配置的第一插件监听每个GPU设备的资源占用信息,并将每个GPU设备的资源占用信息记录至预设文件;检测单元,用于根据所述预设文件检测是否有GPU设备处于空闲状态;上报单元,用于当检测到有GPU设备处于空闲状态,且有目标docker请求GPU资源时,将所述GPU设备确定为目标GPU设备,并利用所述kubernetes的device

plugin插件将所述目标GPU设备作为扩展资源上报至kubelet;映射单元,用于通过所述kubelet上报所述目标GPU设备至所述kubernetes,并将所述目标GPU设备映射至所述目标docker进行使用。
[0014]一种计算机设备,所述计算机设备包括:存储器,存储至少一个指令;及处理器,执行所述存储器中存储的指令以实现所述基于kubernetes的GPU共享方法。
[0015]一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所
述至少一个指令被计算机设备中的处理器执行以实现所述基于kubernetes的GPU共享方法。
[0016]由以上技术方案可以看出,本专利技术利用配置的插件,并结合kubernetes实现对GPU资源的共享,避免造成GPU资源的浪费,同时提高了GPU任务的执行效率。
附图说明
[0017]图1是本专利技术基于kubernetes的GPU共享方法的较佳实施例的流程图。
[0018]图2是本专利技术基于kubernetes的GPU共享装置的较佳实施例的功能模块图。
[0019]图3是本专利技术实现基于kubernetes的GPU共享方法的较佳实施例的计算机设备的结构示意图。
具体实施方式
[0020]为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。
[0021]如图1所示,是本专利技术基于kubernetes的GPU共享方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
[0022]所述基于kubernetes的GPU共享方法应用于一个或者多个计算机设备中,所述计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Ci本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于kubernetes的GPU共享方法,其特征在于,所述基于kubernetes的GPU共享方法包括:在内核层,通过配置的第一插件监听每个GPU设备的资源占用信息,并将每个GPU设备的资源占用信息记录至预设文件;根据所述预设文件检测是否有GPU设备处于空闲状态;当检测到有GPU设备处于空闲状态,且有目标docker请求GPU资源时,将所述GPU设备确定为目标GPU设备,并利用所述kubernetes的device

plugin插件将所述目标GPU设备作为扩展资源上报至kubelet;通过所述kubelet上报所述目标GPU设备至所述kubernetes,并将所述目标GPU设备映射至所述目标docker进行使用。2.如权利要求1所述的基于kubernetes的GPU共享方法,其特征在于,所述GPU设备的资源占用信息包括该GPU设备的打开事件及关闭事件;所述通过配置的第一插件监听每个GPU设备的资源占用信息,并将每个GPU设备的资源占用信息记录至预设文件包括:通过所述第一插件的预设开关控制是否监听每个GPU设备的资源占用信息;当通过所述预设开关控制监听每个GPU设备的资源占用信息时,通过所述第一插件监听每个GPU设备的打开事件及关闭事件;获取所述打开事件的进程ID,及获取所述关闭事件的进程ID,并通过所述第一插件将所述打开事件的进程ID及所述关闭事件的进程ID发送至配置的第二插件;通过所述第二插件将每个GPU设备的资源占用信息记录至所述预设文件,其中,每个GPU设备的资源占用信息包括所述打开事件的进程ID及所述关闭事件的进程ID。3.如权利要求2所述的基于kubernetes的GPU共享方法,其特征在于,在通过所述第一插件将所述打开事件的进程ID及所述关闭事件的进程ID发送至配置的第二插件前,所述方法还包括:向所述第一插件注册所述第二插件。4.如权利要求1所述的基于kubernetes的GPU共享方法,其特征在于,所述根据所述预设文件检测是否有GPU设备处于空闲状态包括:当根据所述预设文件中的记录检测到有GPU设备被任意docker占用,且在预设时长内未被使用时,确定检测到的GPU设备处于所述空闲状态。5.如权利要求1所述的基于kubernetes的GPU共享方法,其特征在于,所述将所述目标GPU设备映射至所述目标docker进行使用包括:当所述目标docker的数量为多个...

【专利技术属性】
技术研发人员:胡俊彬
申请(专利权)人:深圳前海环融联易信息科技服务有限公司
类型:发明
国别省市:

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

1