[发明专利]一种多个服务共享同一个GPU的方法、系统、设备及介质有效
申请号: | 202110271407.8 | 申请日: | 2021-03-12 |
公开(公告)号: | CN113127192B | 公开(公告)日: | 2023-02-28 |
发明(设计)人: | 张荣国 | 申请(专利权)人: | 山东英信计算机技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48;G06T1/20;G06N20/00 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰;陈黎明 |
地址: | 250101 山东省济南市高新区*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务 共享 同一个 gpu 方法 系统 设备 介质 | ||
本发明公开了一种多个服务共享同一个GPU的方法、系统、设备和存储介质,方法包括:响应于接收到创建GPU服务的请求,根据请求创建对应的GPU服务,根据GPU服务创建对应数量的GPU Pods,将GPU服务与GPU Pods进行关联;根据GPU Pods的配置创建Kubernetes Pods,将Kubernetes Pods与GPU Pods进行关联;响应于接收到计算请求,根据计算请求确定需要申请的GPU显存或GPU时间片的规格并与GPU服务规定的阈值比对;响应于GPU显存或时间片的规格小于阈值,读取GPU Pods和Kubernetes Pods的当前资源剩余量并与GPU显存或时间片的规格比对;响应于GPU显存或时间片的规格小于GPU Pods和Kubernetes Pods的当前资源剩余量的总和,根据当前资源使用率调度GPU Pods和Kubernetes Pods进行计算。本发明的方案可以实现根据计算请求合理分配资源。
技术领域
本发明涉及深度学习领域,更具体地,特别是指一种多个服务共享同一个GPU的方法、系统、计算机设备及可读介质。
背景技术
在机器学习和深度学习中使用GPU(Graphics Processing Unit,图形处理器)提供算力已经非常普遍,典型的场景是在数据中心中,依托Kubernetes(一个开源的容器编排引擎,用来对容器化应用进行自动化部署、扩缩和管理)作为容器编排环境,构建出一个云环境集群来部署机器学习和深度学习服务,集群中的节点(服务器)分为不同的类型,配备有GPU的节点称为GPU节点,其他节点为CPU节点,GPU节点负责具体的机器学习和深度学习任务,CPU节点负责集群管理、服务调度等内容。然而,由于单个GPU提供的显存、寄存器、线程等资源是很充足的,通常一个Kubernetes Pod(Kubernetes的最小单元)并不能完全利用单个GPU的显存、寄存器、线程等资源,所以需要一种技术来实现将多个服务的多个Pod调度到同一个GPU上,从而达到GPU高利用率的目的。
发明内容
有鉴于此,本发明实施例的目的在于提出一种多个服务共享同一个GPU的方法、系统、计算机设备及计算机可读存储介质,采用Kubernetes的自定义资源、自定义注解等功能实现虚拟服务的注册和调度,采用CUDA劫持的方式来实现GPU显存申请限制和GPU时间片占用控制,从而根据计算请求合理分配资源。
基于上述目的,本发明实施例的一方面提供了一种多个服务共享同一个GPU的方法,包括如下步骤:响应于接收到创建GPU服务的请求,根据所述请求创建对应的GPU服务,并根据所述GPU服务创建对应数量的GPU Pods,将所述GPU服务与所述GPU Pods进行关联;根据GPU Pods的配置创建Kubernetes Pods,并将所述Kubernetes Pods与所述GPU Pods进行关联;响应于接收到计算请求,根据所述计算请求确定需要申请的GPU显存或GPU时间片的规格并与所述GPU服务规定的阈值比对;响应于所述GPU显存或时间片的规格小于所述GPU服务规定的阈值,读取所述GPU Pods和Kubernetes Pods的当前资源剩余量并与所述GPU显存或时间片的规格比对;以及响应于所述GPU显存或时间片的规格小于所述GPU Pods和Kubernetes Pods的当前资源剩余量的总和,根据当前资源使用率调度所述GPU Pods和Kubernetes Pods进行计算。
在一些实施方式中,还包括:响应于所述GPU显存或时间片的规格不小于所述GPU服务规定的阈值,根据所述GPU显存或时间片的规格生成新的创建GPU服务的请求。
在一些实施方式中,还包括:响应于所述GPU显存或时间片的规格不小于所述GPUPods和Kubernetes Pods的当前资源剩余量的总和,将失败次数加一并每隔预设时间再次判断所述GPU显存或时间片的规格是否小于所述GPU Pods和Kubernetes Pods的当前资源剩余量的总和。
在一些实施方式中,还包括:判断失败次数是否达到第二阈值,响应于失败次数达到第二阈值,增加所述预设时间的大小。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东英信计算机技术有限公司,未经山东英信计算机技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110271407.8/2.html,转载请声明来源钻瓜专利网。