用于共用GPU的方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:26303836 阅读:15 留言:0更新日期:2020-11-10 19:58
本申请实施例公开了用于共用GPU的方法、装置、电子设备及计算机可读存储介质,涉及Kubernetes、容器化、云平台、云计算、资源分配技术领域。该方法的一具体实施方式包括:接收目标容器发起的GPU使用请求;根据该GPU使用请求确定目标虚拟GPU,该目标虚拟GPU为所有虚拟GPU中的至少一个,该虚拟GPU通过对物理GPU使用虚拟化技术虚拟得到;将与该目标虚拟GPU对应的目标物理GPU挂载至该目标容器。该实施方式通过结合虚拟化技术将一个物理GPU虚拟出多个虚拟GPU,可实现将一个物理GPU同时挂载至多个容器、被多个容器共用的目的,提升了GPU的使用率、降低了GPU的购置需求和购置成本。

【技术实现步骤摘要】
用于共用GPU的方法、装置、电子设备及可读存储介质
本申请涉及数据处理
,具体涉及Kubernetes、容器化、云平台、云计算、资源分配
,尤其涉及用于共用GPU的方法、装置、电子设备及计算机可读存储介质。
技术介绍
当下容器技术已经改变了当前云计算的应用架构模式,随着kubernetes成为主流的容器编排引擎,越来越多的应用都托管到了kubernetes这个容器引擎之上。对于机器学习的场景下很多深度学习的训练、推理任务均需要使用GPU(GraphicsProcessingUnit,图形处理器)进行加速,训练任务一般运行在一个独立的容器中。现有的Kubernetes可为每一个容器单独挂载一个物理GPU,即一个物理GPU只能分配给一个容器使用。
技术实现思路
本申请实施例提出了一种用于共用GPU的方法、装置、电子设备及计算机可读存储介质。第一方面,本申请实施例提出了一种用于共用GPU的方法,包括:接收目标容器发起的GPU使用请求;根据GPU使用请求确定目标虚拟GPU;其中,目标虚拟GPU为所有虚拟GPU中的至少一个,虚拟GPU通过对物理GPU使用虚拟化技术虚拟得到;将与目标虚拟GPU对应的目标物理GPU挂载至目标容器。第二方面,本申请实施例提出了一种用于共用GPU的装置,包括:请求接收单元,被配置用于接收目标容器发起的GPU使用请求;虚拟GPU确定单元,被配置用于根据GPU使用请求确定目标虚拟GPU;中,目标虚拟GPU为所有虚拟GPU中的至少一个,虚拟GPU通过对物理GPU使用虚拟化技术虚拟得到;物理GPU挂载单元,被配置用于将与目标虚拟GPU对应的目标物理GPU挂载至目标容器。第三方面,本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面中任一实现方式描述的用于共用GPU的方法。第四方面,本申请实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面中任一实现方式描述的用于共用GPU的方法。本申请实施例提供的用于共用GPU的方法、装置、电子设备及计算机可读存储介质,首先,接收目标容器发起的GPU使用请求;然后,根据该GPU使用请求确定目标虚拟GPU,该目标虚拟GPU为所有虚拟GPU中的至少一个,该虚拟GPU通过对物理GPU使用虚拟化技术虚拟得到;最后,将与该目标虚拟GPU对应的目标物理GPU挂载至该目标容器。区别于一个物理GPU仅能被唯一挂载至的某个容器使用的现有技术,本申请实施例通过结合虚拟化技术将一个物理GPU虚拟出多个虚拟GPU,从而使Kubernetes的可用GPU检测机制基于不同的虚拟GPU信息识别出多个可用GPU并分配给不同的容器,进而实现一个物理GPU同时挂载至多个容器、被多个容器共同的目的,提升了GPU的使用率、降低了GPU的购置需求和购置成本。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请可以应用于其中的示例性系统架构;图2为本申请实施例提供的一种用于共用GPU的方法的流程图;图3为本申请实施例提供的另一种用于共用GPU的方法的流程图;图4为本申请实施例提供的在一应用场景下的用于共用GPU的方法的流程示意图;图5为本申请实施例提供的一种用于共用GPU的装置的结构框图;图6为本申请实施例提供的一种适用于执行用于共用GPU的方法的电子设备的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的用于共用GPU的方法、装置、电子设备及计算机可读存储介质的实施例的示例性系统架构100。如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103和服务器105上可以安装有各种用于实现两者之间进行信息通讯的应用,例如指令传输类应用、GPU加速类应用、即时通讯类应用等。终端设备101、102、103和服务器105可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等;当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器;服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。服务器105通过内置的各种应用可以提供各种服务,以可以为运行在容器化云平台上的容器提供GPU加速服务的GPU加速类应用为例,服务器105在运行该GPU加速类应用时可实现如下效果:首先,通过网络104从终端设备101、102、103中接收目标容器发起的GPU使用请求;然后,根据该GPU使用请求确定目标虚拟GPU,其中,该目标虚拟GPU为所有虚拟GPU中的至少一个,该虚拟GPU通过对物理GPU使用虚拟化技术虚拟得到;最后,将与该目标虚拟GPU对应的目标物理GPU挂载至该目标容器。即服务器105通过上述处理步骤为发起GPU使用请求的目标容器分配并挂载了目标物理GPU,且通过虚拟化技术的使用,可将相同物理GPU挂载至多个容器,实现GPU的共用。需要指出的是,GPU使用请求除可以从终端设备101、102、103通过网络104实时接收到之外,也可以通过各种方式预先存储在服务器105本地。因此,当服务器105检测到本地已经存储有这些数据时(例如开始处理之前留存的GPU分配任务),可选择直接从本地获取这些数据,在此种情况下,示例性系统架构100也可以不包括终端设备101、102、103和网络104。由于容器运行在云平台上,为容器挂载GPU加速本文档来自技高网...

【技术保护点】
1.一种用于共用GPU的方法,包括:/n接收目标容器发起的GPU使用请求;/n根据所述GPU使用请求确定目标虚拟GPU;其中,所述目标虚拟GPU为所有虚拟GPU中的至少一个,所述虚拟GPU通过对物理GPU使用虚拟化技术虚拟得到;/n将与所述目标虚拟GPU对应的目标物理GPU挂载至所述目标容器。/n

【技术特征摘要】
1.一种用于共用GPU的方法,包括:
接收目标容器发起的GPU使用请求;
根据所述GPU使用请求确定目标虚拟GPU;其中,所述目标虚拟GPU为所有虚拟GPU中的至少一个,所述虚拟GPU通过对物理GPU使用虚拟化技术虚拟得到;
将与所述目标虚拟GPU对应的目标物理GPU挂载至所述目标容器。


2.根据权利要求1所述的方法,其中,所述根据所述GPU使用请求确定目标虚拟GPU,包括:
根据所述GPU使用请求确定所述目标容器对GPU的需求数量;
在预设的GPU资源池中,选取出数量与所述需求数量一致的虚拟GPU,得到所述目标虚拟GPU;其中,所述GPU资源池中记录有所有处于空闲状态的虚拟GPU的信息。


3.根据权利要求2所述的方法,其中,所述选取出数量与所述需求数量一致的虚拟GPU,包括:
根据所述GPU使用请求确定所述目标容器对GPU的需求类型;
选取出类型为所述需求类型、数量为所述需求数量的虚拟GPU。


4.根据权利要求1所述的方法,其中,所述将与所述目标虚拟GPU对应的目标物理GPU挂载至所述目标容器,包括:
根据预设的对应表查询得到与所述目标虚拟GPU对应的目标物理GPU;其中,所述对应表记录有每个物理GPU与其通过虚拟化技术虚拟出的各虚拟GPU之间的对应关系;
将所述目标GPU的虚拟配置信息替换为所述目标物理GPU的真实配置信息;
根据所述真实配置信息将所述目标物理GPU挂载至所述目标容器。


5.根据权利要求1至4任一项所述的方法,还包括:
响应于所述目标物理GPU被同时挂载至至少两个容器,控制所述目标物理GPU通过不同的进程隔离来自不同容器的模型训练任务。


6.一种用于共用GPU的装置,包括:
请求接收单元,被配置用于接收目标容器发起的GPU使用请求;
虚拟GPU确定单元,被配置用于根据所述GPU使用请求确定目标虚拟GPU;其中,所述目标虚拟GPU为所有虚拟GPU中的至少一个,所述虚拟GPU通过对物理GPU使用虚拟化...

【专利技术属性】
技术研发人员:贺龙华
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1