CN117234741B - 资源管理与调度方法、装置、电子设备以及存储介质 - Google Patents
资源管理与调度方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN117234741B CN117234741B CN202311514871.0A CN202311514871A CN117234741B CN 117234741 B CN117234741 B CN 117234741B CN 202311514871 A CN202311514871 A CN 202311514871A CN 117234741 B CN117234741 B CN 117234741B
- Authority
- CN
- China
- Prior art keywords
- target
- instance
- virtual
- virtual machine
- accelerator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000015654 memory Effects 0.000 claims description 41
- 238000006073 displacement reaction Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 8
- 239000004020 conductor Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明实施例提供了一种资源管理与调度方法、装置、电子设备以及存储介质,涉及云计算技术领域,该方法通过获取对图形处理器进行划分得到的多个实例;基于图形处理器对应的虚拟设备的使用状态,从多个实例中自动确定可用实例;在目标平台接收到虚拟机创建指令的情况下,基于所创建的可用实例与目标虚拟机的对应关系,在目标云服务器上创建并运行目标虚拟机;目标虚拟机挂载有可用实例对应的加速器。这样,提高了实例状态确定的效率以及实例资源管理的效率,并且在创建虚拟机的过程中无需再次对可用实例手动进行判断,直接获取自动发现并确定的可用实例,并创建相应的目标虚拟机,提高了资源利用率的同时,提高了资源调度的效率与指令响应速度。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种资源管理与调度方法、装置、电子设备以及存储介质。
背景技术
随着机器学习(machine learning)和机器视觉(compute vision)的快速发展,用户对GPU的需求也日益剧增。深度学习模型的训练和推理往往需要大量的显卡,用来支持更大的模型和数据集。
相关技术中,往往通过对GPU进行划分得到多个vGPU,以使得单个GPU可以同时供多个虚拟机使用。但虚拟机使用vGPU资源的过程中,基于时分复用抢占式远离,竞争式的使用vGPU资源,资源管理的效率较低且资源利用效率较低。
发明内容
为克服相关技术中存在的问题,本发明提供了一种资源管理与调度方法、装置、电子设备以及存储介质。
第一方面,本发明提供了一种资源管理与调度方法,所述方法包括:
获取对图形处理器进行划分得到的多个实例;
基于所述图形处理器对应的虚拟设备的使用状态,从所述多个实例中自动确定可用实例;
在目标平台接收到虚拟机创建指令的情况下,基于所创建的所述可用实例与目标虚拟机的对应关系,在目标云服务器上创建并运行所述目标虚拟机;所述目标虚拟机挂载有所述可用实例对应的加速器。
可选地,所述基于所述图形处理器对应的虚拟设备的使用状态,从所述多个实例中自动确定可用实例,包括:
针对所述图形处理器对应的多个虚拟设备中的任一虚拟设备,基于所述虚拟设备对应的多个虚拟化类型,确定所述虚拟设备的使用状态;
在所述虚拟设备的使用状态为待使用状态的情况下,将所述虚拟设备确定为可用虚拟设备,并获取所述可用虚拟设备对应的可用实例。
可选地,在获取所述可用虚拟设备对应的可用实例之后,所述方法还包括:
将所述可用实例对应的可用实例信息记录至实例上报列表;
在达到停止条件的情况下,将所述实例上报列表发送至目标平台的数据库。
可选地,在所述图形处理器的数量为至少两个的情况下,所述方法还包括:
针对所述多个图形处理器中的任一图形处理器,确定所述图形处理器是否开启目标模式;
所述针对所述图形处理器对应的多个虚拟设备中的任一虚拟设备,基于所述虚拟设备对应的多个虚拟化类型,确定所述虚拟设备的使用状态,包括:
在所述图形处理器开启目标模式的情况下,针对所述图形处理器对应的多个虚拟设备中的任一虚拟设备,基于所述虚拟设备对应的多个虚拟化类型,确定所述虚拟设备的使用状态。
可选地,所述将所述可用实例对应的可用实例信息记录至实例上报列表,包括:
将所述至少两个图形处理器对应的可用实例所对应的可用实例信息记录至实例上报列表。
可选地,所述基于所述虚拟设备对应的多个虚拟化类型,确定所述虚拟设备的使用状态,包括:
获取所述图形处理器对应的虚拟设备列表;所述虚拟设备列表包括多个虚拟设备;
针对所述多个虚拟设备中的任一虚拟设备,获取所述虚拟设备对应的多个虚拟化类型;
针对所述多个虚拟化类型中的任一虚拟化类型,获取所述虚拟化类型对应的可分配虚拟机数量;
在所述可分配虚拟机数量为1的情况下,将所述虚拟设备的使用状态确定为待使用状态;
在所述可分配虚拟机数量为0的情况下,基于所述虚拟化类型对应的设备目录,确定所述虚拟设备的使用状态。
可选地,所述在所述可分配虚拟机数量为0的情况下,基于所述虚拟化类型对应的设备目录,确定所述虚拟设备的使用状态,包括:
在所述可分配虚拟机数量为0且所述设备目录中包含设备信息的情况下,确定所述虚拟设备的使用状态为已使用状态;
在所述可分配虚拟机数量为0且所述设备目录中不包含设备信息的情况下,确定不存在所述虚拟化类型对应的实例,并重复执行所述针对所述多个虚拟化类型中的任一虚拟化类型,获取所述虚拟化类型对应的可分配虚拟机数量的步骤。
可选地,所述方法还包括:
获取所述图形处理器对应的实例列表;
在确定所述虚拟设备的使用状态为已使用状态或待使用状态的情况下,将所述实例列表中与所述虚拟设备对应的实例相同的实例删除;
所述停止条件包括所述实例列表为空。
可选地,所述虚拟机创建指令携带有指定加速器规格;所述方法还包括:
基于所述数据库中的实例上报列表中的可用实例,创建指定实例对应的指定加速器规格;所述可用实例包括所述指定实例;
基于所述指定加速器规格,确定目标云服务器。
可选地,所述指定加速器规格中包括指定实例的显存大小信息以及所述指定实例对应的图形编辑器的编号信息;所述基于所述指定加速器规格,确定目标云服务器,包括:
基于所述显存大小信息以及所述指定实例对应的图形编辑器的编号信息,根据多个云服务器的处理器信息以及内存信息,确定目标云服务器。
可选地,所述目标平台中包括Nova组件以及Cyborg组件,所述在目标平台接收到虚拟机创建指令的情况下,基于所创建的所述可用实例与目标虚拟机的对应关系,在目标云服务器上创建并运行所述目标虚拟机,包括:
在所述Nova组件接收到虚拟机创建请求的情况下,向所述Cyborg组件请求所述指定加速器规格对应的加速器;所述虚拟机创建请求用于请求创建挂载有所述指定加速器规格对应的加速器的虚拟机;
通过所述Nova组件向所述Cyborg组件请求所述加速器的挂载操作,在所述目标云服务器上创建所述目标虚拟机。
可选地,所述Nova组件包括nova-compute,所述Cyborg组件包括cyborg-api,所述cyborg-api位于所述目标平台的控制节点;所述向所述Cyborg组件请求所述指定加速器规格对应的加速器,包括:
通过所述nova-compute调用所述cyborg-api在所述控制节点上创建所述指定加速器规格对应的指定实例与目标虚拟机的对应关系,并在所述目标平台的数据库中记录所述对应关系;
所述方法还包括:
通过所述Cyborg组件向所述nova-compute发送反馈消息。
可选地,所述Cyborg组件还包括cyborg-agent,所述cyborg-agent位于所述Cyborg组件中的计算节点;所述通过所述Nova组件向所述Cyborg组件请求所述加速器的挂载操作,在所述目标云服务器上创建所述目标虚拟机,包括:
通过所述cyborg-api指示所述目标云服务器调用cyborg-agent,在所述计算节点上生成目标中点设备;
在所述nova-compute接收到所述反馈消息的情况下,调用所述目标平台中的libvirt在所述目标云服务器上基于所述目标中点设备将所述加速器挂载至所述目标虚拟机。
可选地,所述调用所述目标平台中的libvirt在所述目标云服务器上基于所述目标中点设备将所述加速器挂载至所述目标虚拟机,包括:
利用所述libvirt将所述目标中点设备对应的标识符写入目标文件;
基于所述目标文件,在所述目标云服务器上创建挂载有所述加速器的目标虚拟机。
可选地,所述Nova组件还包括nova-api,所述目标平台还包括placement数据库;所述方法还包括:
在接收到加速器绑定请求的情况下,通过所述nova-api向所述nova-compute发送绑定指令;所述绑定指令用于指示将第一目标加速器对应的实例与待绑定虚拟机进行绑定;
通过所述nova-compute在placement数据库以及所述Cyborg组件中添加所述第一目标加速器对应的实例与所述待绑定虚拟机的绑定关系;
通过所述cyborg-api调用所述待绑定虚拟机对应的云服务器创建所述第一目标加速器对应的第一中点设备;
基于所述第一中点设备,利用libvirt在所述待绑定虚拟机上挂载所述第一目标加速器。
可选地,所述方法还包括:
在接收到加速器解绑请求的情况下,通过所述nova-api向所述nova-compute发送解绑指令;所述解绑指令用于指示将第二目标加速器对应的实例与待解绑虚拟机进行解绑;
通过所述nova-compute在所述placement数据库以及所述Cyborg组件中删除所述第二目标加速器对应的实例与所述待解绑虚拟机的绑定关系;
通过所述cyborg-api调用所述待解绑虚拟机对应的云服务器删除所述第二目标加速器对应的第二中点设备;
利用所述libvirt在所述待解绑虚拟机上卸载所述第二目标加速器。
可选地,所述可用实例信息包括:所述可用实例对应的图形处理器编号信息、设备地址信息、显存大小信息、所述可用实例所在的云服务器信息以及所述可用实例的使用状态信息等。
第二方面,本发明提供了一种资源管理与调度装置,所述装置包括:
第一获取模块,用于获取对图形处理器进行划分得到的多个实例;
第一确定模块,用于基于所述图形处理器对应的虚拟设备的使用状态,从所述多个实例中自动确定可用实例;
第一创建模块,用于在目标平台接收到虚拟机创建指令的情况下,基于所创建的所述可用实例与目标虚拟机的对应关系,在目标云服务器上创建并运行所述目标虚拟机;所述目标虚拟机挂载有所述可用实例对应的加速器。
第三方面,本发明提供一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述第一方面中任一项所述的资源管理与调度方法。
第四方面,本发明提供一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述第一方面中任一项实施例中的资源管理与调度方法中的步骤。
本发明实施例中,通过将图形处理器划分得到多个实例,并根据图形处理器对应的虚拟设备的使用状态,可以自动确定实例的可用状态,即确定可用实例,无需手动查找实例是否被使用,通过自动化的方式及时确定实例的可用状态,提高了实例状态确定的效率以及实例资源管理的效率。并且,通过创建可用实例以及目标虚拟机的对应关系,可以在接收到指示创建虚拟机的虚拟机创建指令的情况下,直接在目标云服务器上创建并运行目标虚拟机,使得目标虚拟机中挂载有可用实例对应的加速器,通过在创建目标虚拟机时挂载实例等加速器设备,以此来提升目标虚拟机的图形图像处理的能力,同时也丰富了目标虚拟机设备使用的多样性,一定程度上提高了目标虚拟机的运行速度,并且在创建虚拟机的过程中无需再次对可用实例手动进行判断,直接获取自动发现并确定的可用实例,并创建相应的目标虚拟机,提高了资源利用率的同时,一定程度上提高资源调度的效率与指令响应速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种资源管理与调度方法的步骤流程图;
图2是本发明实施例提供的一种目标虚拟机的创建流程的示意图;
图3是本发明实施例提供的一种系统架构示意图;
图4是本发明实施例提供的一种资源管理与调度方法的具体步骤流程图;
图5是本发明实施例提供的一种资源管理与调度装置的结构图;
图6是本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,使用云平台中的Nova组件管理资源,但资源配置的流程较复杂,需要每次修改完配置后重启nova-compute服务才能修改生效,配置效率以及配置准确性较低。基于本发明实施例提供的方法,可以自动发现目标平台中的可用实例资源并上报到目标平台的数据库中,同时能够定时更新可用实例资源资源,不需要人为配置高速串行计算机扩展总线标准(peripheral component interconnect express,PCIe)物理地址和虚拟化类型。在需要创建虚拟机时,只需要选择可用实例对应的加速器规格,就能创建挂载有加速器的虚拟机,方便了用户对实例资源的使用,提高了目标平台使用效率。同时,只需要在cyborg-agent服务中配置相应的驱动即可,配置信息可以如下:
[agent]
enable_drivers=nvidia_mig_gpu。
图1是本发明实施例提供的一种资源管理与调度方法的步骤流程图,可以应用于目标平台,其中,目标平台可以是OpenStack云平台,目标平台可以部署有Nova组件、Cyborg组件以及相关服务。Nova组件可以包括如图1所示,该方法可以包括:
步骤101、获取对图形处理器进行划分得到的多个实例。
本发明实施例中,为了提高图形处理器(GPU)的使用率,可以将图形处理器进行划分,基于划分得到的图形处理器资源,就可以将单个图形处理器同时分配至多个虚拟机进行使用。对图形处理器进行划分,可以得到多个实例资源(GPU Instance),这些实例资源可以是基于实际使用需求对图形处理器进行不同显存块的划分得到的。示例性的,以图形处理器A100(40G)GPU卡为例,该图形处理器具有8个5GB内存切片和7个计算切片组成,根据需求可以对该图形处理器进行资源划分,例如划分成5G或者20G显存的实例。多个实例资源之间资源隔离,互不影响,每个实例都有专用的计算、显存和显存带宽资源,从而实现可预测的性能。
在一种可能的实施方式中,可以将图形处理器划分为7个独立实例,相应的,支持7个虚拟机同时使用该图形处理器,使得多个用户可以共享图形处理器的加速性能。
步骤102、基于所述图形处理器对应的虚拟设备的使用状态,从所述多个实例中自动确定可用实例。
本发明实施例中,在图形处理器开启虚拟化(Single Root I/O Virtualization,SRIOV)协议功能的情况下,图形处理器会生成相应的虚拟资源(VF资源),即图形处理器中会包含多个虚拟设备(VF设备),相应的,在图形处理器包含多个虚拟设备的情况下,可以表征图形处理器的使用方式可以是GPU虚拟化,例如多实例GPU(Multi-Instance GPU,GPUMIG)模式。可以理解的是,在图形处理器不包含虚拟设备的情况下,说明当前图形处理器的使用方式不是多实例GPU模式,不适用本发明实施例提供的资源管理与调度方法。
判断图形处理器对应的多个虚拟设备的使用状态,虚拟设备的使用状态可以包括已使用状态以及未使用状态,根据多个虚拟设备的使用状态以及虚拟设备与实例的对应关系,可以确定图形处理器对应的多个实例的使用状态,也即,可以从多个实例中确定可用实例。其中,可用实例即实例的使用状态为未使用状态的实例。
可以理解的是,应用本发明实施例的方法的前提是服务器安装有图形处理器虚拟化驱动,并开启虚拟化(Single Root I/O Virtualization,SRIOV)协议功能。若存在多个图形处理器,则需要制定不同的高速串行计算机扩展总线标准(peripheral componentinterconnect express,PCIe)开启虚拟化协议模式。示例性的,可以通过以下命令完成:
/usr/lib/nvidia/sriov-manage -e 00:41:0000.0;
其中,00:41:0000.0为图形处理器的PCIe物理地址。
步骤103、在目标平台接收到虚拟机创建指令的情况下,基于所创建的所述可用实例与目标虚拟机的对应关系,在目标云服务器上创建并运行所述目标虚拟机;所述目标虚拟机挂载有所述可用实例对应的加速器。
本发明实施例中,在目标平台接收到虚拟机创建指令的情况下,基于虚拟机创建指令,创建目标虚拟机,具体的,可以基于可用实例,在目标平台中创建可用实例与目标虚拟机的对应关系,并将该对应关系进行记录,在完成虚拟机创建过程的相关配置操作后,在目标云服务器上创建并运行目标虚拟机,这样,生成的目标虚拟机即挂载有可用实例对应的加速器,实现了虚拟机的创建。
综上所述,本发明实施例中,通过将图形处理器划分得到多个实例,并根据图形处理器对应的虚拟设备的使用状态,可以自动确定实例的可用状态,即确定可用实例,无需手动查找实例是否被使用,通过自动化的方式及时确定实例的可用状态,提高了实例状态确定的效率以及实例资源管理的效率。并且,通过创建可用实例以及目标虚拟机的对应关系,可以在接收到指示创建虚拟机的虚拟机创建指令的情况下,直接在目标云服务器上创建并运行目标虚拟机,使得目标虚拟机中挂载有可用实例对应的加速器,通过在创建目标虚拟机时挂载实例等加速器设备,以此来提升目标虚拟机的图形图像处理的能力,同时也丰富了目标虚拟机设备使用的多样性,一定程度上提高了目标虚拟机的运行速度,并且在创建虚拟机的过程中无需再次对可用实例手动进行判断,直接获取自动发现并确定的可用实例,并创建相应的目标虚拟机,提高了资源利用率的同时,一定程度上提高资源调度的效率与指令响应速度。
可选地,步骤102可以包括以下步骤:
步骤201、针对所述图形处理器对应的多个虚拟设备中的任一虚拟设备,基于所述虚拟设备对应的多个虚拟化类型,确定所述虚拟设备的使用状态。
本发明实施例中,基于虚拟设备获取命令,确定图形处理器对应的多个虚拟设备。示例性的,虚拟设备获取命令可以是ls -l /sys/bus/pci/devices/domain\:bus\:slot.function/ | grep virtfn,本发明实施例对此不做限制。针对多个虚拟设备中的任一虚拟设备,获取该虚拟设备对应的多个虚拟化类型。其中,虚拟化类型可以用于标记实例的显存大小,即一种实例的显存大小可以称为一种虚拟化类型,一个虚拟设备可以对应多个虚拟化类型。一个虚拟设备对应的虚拟化类型可以基于图形处理器对应的实例确定,具体的,虚拟化类型的种类数可以与实例数量相同,相应的,虚拟化类型对应的显存大小与实例对应的显存大小相同。示例性的,假设一个图形处理器对应的实例数量为3个,3个实例对应的显存大小分别为20G、20G、10G,则相应的,该图形处理器对应的每个虚拟设备所对应的虚拟化类型的种类数为3种,分别包括:20G、20G、10G。虚拟化类型可以是基于虚拟设备对应的虚拟化类型目录确定的,虚拟化类型目录中的数据可以包括虚拟化类型对应的显存大小信息、虚拟化类型对应的可分配虚拟机数量信息、虚拟化类型对应的已分配的设备信息以及虚拟化类型对应的描述信息等。
针对一个虚拟设备对应的每个虚拟化类型,各虚拟化类型可以对应一个可分配虚拟机数量(available_instance),因为一个虚拟设备只能被一个虚拟机使用,则可分配虚拟机数量可以为0或1。虚拟化类型对应的可分配虚拟机数量为0可以表征虚拟设备被使用或该虚拟化类型不可用,即表示该物理GPU上已经存在另一种虚拟化类型对应的实例,或者已经创建了允许的最大实例数。虚拟化类型对应的可分配虚拟机数量为1可以表征虚拟设备可用且虚拟设备对应的该虚拟化类型可用。在虚拟设备被虚拟机使用的情况下,该虚拟设备对应的多个虚拟化类型所对应的可分配虚拟机数量均为0。
由于一个虚拟设备可以对应多个虚拟化类型,并且虚拟化类型与实例具有一定的对应关系,即一个虚拟化类型对应一个实例,则在虚拟设备被虚拟机使用的情况下,会存在一个实例被使用,相应的,虚拟设备对应的虚拟化类型对应的可用虚拟机数量会发生变化。因此,可以基于虚拟设备对应的多个虚拟化类型,判断虚拟设备是否被虚拟机使用,即可以确定虚拟设备的使用状态。示例性的,可以在
步骤202、在所述虚拟设备的使用状态为待使用状态的情况下,将所述虚拟设备确定为可用虚拟设备,并获取所述可用虚拟设备对应的可用实例。
本发明实施例中,在虚拟设备的使用状态为待使用状态的情况下,说明该虚拟设备并未被虚拟机使用,为可用虚拟设备,因此,可以获取该可用虚拟设备对应的实例,作为可用实例。由于虚拟设备的使用状态是基于虚拟化类型对应的可分配虚拟机数量确定的,因此,存在一虚拟化类型对应的可分配虚拟机数量为1时,可以确定一虚拟设备的使用状态为待使用状态(即该虚拟设备为可用虚拟设备),相应的,将可分配虚拟机数量为1对应的虚拟化类型所对应的实例确定为该可用虚拟设备对应的可用实例。
本发明实施例中,通过虚拟设备对应的多个虚拟化类型确定虚拟设备的使用状态,并确定可用实例,提供了一种快捷的可用实例确认方式。
可选地,在步骤202之后,本发明实施例还可以包括以下步骤:
步骤203、将所述可用实例对应的可用实例信息记录至实例上报列表。
本发明实施例中,在确定可用实例后,将可用实例对应的可用实例信息进行记录,具体可以记录在一个实例上报列表(report_mig列表)。其中,所述可用实例信息包括:所述可用实例对应的图形处理器编号信息(如GPU产品号)、设备地址信息(如高速串行计算机扩展总线(PCIE)地址)、显存大小信息、所述可用实例所在的云服务器信息以及所述可用实例的使用状态信息等。
步骤204、在达到停止条件的情况下,将所述实例上报列表发送至目标平台的数据库。
本发明实施例中,在达到停止条件的情况下,将实例上报列表发送至目标平台的数据库中。其中,停止条件可以包括在图形处理器中的虚拟设备的使用状态均确认,即,在图形处理器中的虚拟设备的使用状态均已确认的情况下,将实例上报列表发送至目标平台的数据库。目标平台的数据库在接受到实例上报列表的情况下,将实例上报列表进行保存。目标平台的数据库可以包括Cyborg组件中的数据库。将实例上报列表发送至Cyborg组件中的数据库(DB),并将该实例上报列表按照相应的资源类型以及特征同步上上报至目标平台对应的placement数据库进行存储,可以使得Cyborg组件中的数据库以及目标平台对应的placement数据库中的信息一致,以便后续基于资源调度创建目标虚拟机。由于实例上报列表中包含可用实例的可用实例信息,因此,在后续目标平台接收到虚拟机创建指令的情况下,可以直接基于数据库中的实例上报列表直接获取可用实例,以创建目标虚拟机。
在一种可能的实施方式中,目标平台可以基于定时任务自动判断可用实例,并周期性的获取实力上报列表。可以理解的是,可以在达到停止条件的情况,立刻将实例上报列表发送至目标平台的数据库中,也可以在达到停止条件的情况下,保存实例上报列表,在接收发到列表获取请求的情况下,再将实例上报列表发送至目标平台的数据中。
本发明实施例中,通过记录可用实例对应的可用实例信息,得到实例上报列表,并将实例上报列表发送至目标平台的数据库,可以使得在虚拟机创建的过程中,可用实例信息作为现有的信息被获取,简化了虚拟机创建过程中的步骤,一定程度上提高了虚拟机创建的效率。
可选地,在电子设备中包含至少两个图形设备的情况下,本发明实施例可以包括以下步骤:
步骤301、针对所述多个图形处理器中的任一图形处理器,确定所述图形处理器是否开启目标模式。
本发明实施例中,针对任一图形处理器,确定该图形处理器是否开启目标模式,目标模式可以是多实例GPU(Multi-Instance GPU,GPU MIG)模式,在开启目标模式的情况下,可以使用本发明实施例提供的方法,在未开启目标模式的情况下,说明该图形处理器不在当前驱动进行处理,继续对下一个图形处理器进行判断。
相应的,步骤201可以包括以下步骤:
步骤302、在所述图形处理器开启目标模式的情况下,针对所述图形处理器对应的多个虚拟设备中的任一虚拟设备,基于所述虚拟设备对应的多个虚拟化类型,确定所述虚拟设备的使用状态。
本发明实施例中,在图形处理器开启目标模式的情况下,执行确定图形处理器对应的虚拟设备的使用状态的步骤。
本发明实施例中,通过判断图形处理器是否开启目标模式,可以确定图形处理器的使用模式,在开启目标模式的情况下,才会对虚拟设备的使用状态进行确认。
可选地,步骤203可以包括以下步骤:
步骤401、将所述至少两个图形处理器对应的可用实例所对应的可用实例信息记录至实例上报列表。
本发明实施例中,针对每个图形处理器,均确定图形处理器对应的可用实例,并将可用实例对应的可用实例信息均记录至实例上报列表,这样,可以在实例上报列表发送至目标平台的数据库后,电子设备中全部的可用实例均被目标平台发现并获取。
可选地,步骤201可以包括以下步骤:
步骤501、获取所述图形处理器对应的虚拟设备列表;所述虚拟设备列表包括多个虚拟设备。
本发明实施例中,可以通过虚拟设备获取命令获取图形处理器对应的虚拟设备列表,虚拟设备列表中可以包括多个虚拟设备,虚拟设备可以包括多个图形处理器对应的虚拟设备
步骤502、针对所述多个虚拟设备中的任一虚拟设备,获取所述虚拟设备对应的多个虚拟化类型。
本发明实施例中,遍历虚拟设备列表中的全部虚拟设备,针对任一虚拟设备,获取该虚拟设备对应的多个虚拟化类型。虚拟设备对应的多个虚拟化类型可以是基于图形处理器话费得到的多个实例确定的。
步骤503、针对所述多个虚拟化类型中的任一虚拟化类型,获取所述虚拟化类型对应的可分配虚拟机数量。
本发明实施例中,遍历多个虚拟化类型,针对多个虚拟化类型中的任一虚拟化类型,获取该虚拟化类型对应的可分配虚拟机数量。
步骤504、在所述可分配虚拟机数量为1的情况下,将所述虚拟设备的使用状态确定为待使用状态。
本发明实施例中,在可分配虚拟机数量为1的情况下,表征当前虚拟设备对应的虚拟化类型可用,则将该虚拟设备的使用状态确定为待使用状态。将该虚拟设备对应的实例确定为可用实例,获取该可用实例对应的可用实例信息,并将可用实例信息添加至实例上报列表中。由于当前虚拟设备的状态已经被确定,则可以继续遍历下一虚拟设备,示例性的,可以执行步骤502。
步骤505、在所述可分配虚拟机数量为0的情况下,基于所述虚拟化类型对应的设备目录,确定所述虚拟设备的使用状态。
本发明实施例中,虚拟化类型对应的可分配虚拟机数量为0的情况下,表征虚拟设备被使用或该虚拟化类型不可用,因此,为了进一步确定虚拟设备的使用状态,可以基于虚拟化类型对应的设备目录,确定虚拟设备的使用状态。其中,虚拟化类型对应的设备目录可以是该虚拟化类型下的devices目录,设备目录用于记录在虚拟设备被虚拟机使用的情况下,该虚拟设备对应的实例信息。
本发明实施例中,根据可分配虚拟机数量,确定虚拟设备的使用状态,可以使得虚拟设备的使用状态的确定方式更加快速。
可选地,步骤505可以包括以下步骤:
步骤5051、在所述可分配虚拟机数量为0且所述设备目录中包含设备信息的情况下,确定所述虚拟设备的使用状态为已使用状态。
本发明实施例中,在设备目录中包含设备信息的情况下,表征虚拟设备已经被虚拟机使用,相应的,该虚拟设备对应的实例不可用。因此,在可分配虚拟机数量为0且设备目录中包含设备信息的情况下,可以确定虚拟设备的使用状态为已使用状态。由于该虚拟设备已被判断为处于已使用状态,则可以继续遍历下一虚拟设备,示例性的,可以执行步骤502。
步骤5052、在所述可分配虚拟机数量为0且所述设备目录中不包含设备信息的情况下,确定不存在所述虚拟化类型对应的实例,并重复执行所述针对所述多个虚拟化类型中的任一虚拟化类型,获取所述虚拟化类型对应的可分配虚拟机数量的步骤。
本发明实施例中,在可分配虚拟机数量为0且设备目录中不包含设备信息的情况下,确定该虚拟化类型不存在对应的实例,即针对当前虚拟设备,不存在与该虚拟化类型对应的实例。则可以继续遍历下一虚拟化类型,直至当前虚拟设备的多个虚拟化类型均被遍历完成,例如:可以继续执行步骤503。可以理解的是,当一个虚拟设备的多个虚拟化类型均遍历完成的情况下,可以确定出虚拟设备对应的使用状态。
本发明实施例中,在可分配虚拟机数量为0的情况下,通过判断设备目录中是否包含设备信息,可以进一步确定虚拟机的使用状态,使得上述状态判断策略更加全面,针对任一虚拟设备,均可以确定出该虚拟设备对应的使用状态。
可选地,本发明实施例可以包括以下步骤:
步骤601、获取所述图形处理器对应的实例列表。
本发明实施例中,通过实例获取命令,获取图形处理器对应的实例列表,其中,实例列表中可以包括多个基于对该图形处理器进行划分得到的实例。示例性的,实例获取命令可以是nvidia-smi mig –lgi,实例列表可以例如:[‘2g.20gb’,’2g.20gb’,’1g.10gb’],2g.20gb代表1个20G显存的实例,‘2g.20gb’,’2g.20gb’,’1g.10gb’分别表示对图形处理器划分得到的三个实例,分别为20G、20G、10G。
步骤602、在确定所述虚拟设备的使用状态为已使用状态或待使用状态的情况下,将所述实例列表中与所述虚拟设备对应的实例相同的实例删除。
本发明实施例中,为了确定出可用实例,确保对图形处理器对应的全部实例进行判定,可以在虚拟设备的使用状态确定后,直接将实例列表中与确定出使用状态的该虚拟设备对应的实例删除,在对图形处理器对应的所有虚拟设备以及所有虚拟化类型进行遍历后,实例列表为空,即在实例列表为空的情况下,表征对该图形处理器对应的全部实例均完成判断,可用实例已经被记录至实例上报列表中,因此,可以将实例上报列表发送至目标平台的数据库。
相应的,在上述步骤5051中,在确定虚拟设备的使用状态为已使用状态后,可以将实例列表中与该虚拟设备对应的实例相同的实例删除;在上述步骤504中,在将虚拟设备的使用状态确定为待使用状态之后,可以将实例列表中与该虚拟设备对应的实例相同的实例删除。
本发明实施例中,通过获取实例列表,并在确定虚拟设备的使用状态后,对实力列表进行更新,可以确保图形处理器对应的全部实例均被判断,进一步确保可用实例的准确性。
可选地,所述虚拟机创建指令携带有指定加速器规格;本发明实施例可以包括以下步骤:
步骤701、基于所述数据库中的实例上报列表中的可用实例,创建指定实例对应的指定加速器规格;所述可用实例包括所述指定实例。
本发明实施例中,在自动发现并上报可用实例以及将实例上报列表发送至目标平台的数据库的前提下,基于目标平台中的Cyborg组件中的数据库中的实例上报列表,获取可用实例,并在Cyborg组件中基于可用实例创建相应的加速器规格。具体的,可以根据需求选择指定实例,并通过cyborg-api创建加速器规格,加速器规格可以包括所需的实例型号以及显存大小,示例性的,在可用实例包括一个NVIDIA厂商的3g.40gb显存大小的实例(MIG设备)的情况下,将该可用实例确定为指定实例,并可以通过下述命令创建该指定实例对应的指定加速器规格:
[{“resources:VGPU”:1,”
traits:CUSTOM_GPU_PRODUCT_ID_20B5_A100D_3_40C”:”
required”,”traits:CUSTOM_GPU_NVIDIA”:”required”}]
步骤702、基于所述指定加速器规格,确定目标云服务器。
本发明实施例中,虚拟机创建指令包括指定加速器规格,可以基于那个加速器规格,从多个云服务器中确定目标云服务器,目标云服务器用于运行目标虚拟机。
相应的,所述指定加速器规格中包括指定实例的显存大小信息以及所述指定实例对应的图形编辑器的编号信息;步骤702可以包括以下步骤:
步骤7021、基于所述显存大小信息以及所述指定实例对应的图形编辑器的编号信息,根据多个云服务器的处理器信息以及内存信息,确定目标云服务器。
本发明实施例中,由于指定加速器规格中可以包括指定实例的显存大小信息以及执行实例对应的图形编辑器的编号信息,因此,可以基于指定加速器规格,确定目标云服务器,使得目标云服务器的性能可以满足指定加速器规格对应的实例以及虚拟机的运行需求。示例性的,在目标平台中的nova-api接收到虚拟机创建指令的情况下,可以通过nova-conductor根据指定加速器规格中的显存大小信息以及指定实例对应的图形编辑器的编号信息(GPU产品号),结合多个云服务器的处理器信息以及内存信息进行判断,从多个云服务器确定一个满足预设条件的目标云服务器。多个云服务器可以在placement数据库中获取。在确定目标云服务器后,Nova组件可以调用placement数据库占用目标云服务器,即将请求的目标云服务器标记为已分配资源,避免重复调用。其中,预设条件可以是使得目标云服务器的性能可以满足指定加速器规格对应的实例以及虚拟机的运行需求的筛选条件,可以根据需求自行设定,本发明实施例对此不做限制。可以理解的是,在满足预设条件的云服务器的数量为多个的情况下,可以进一步基于云服务器的处理器信息以及内存信息进行比较,确定目标云服务器。示例性的,可以将处理器的处理性能更优和/或内存剩余量较多的云服务器确定为目标云服务器。
在一种可能的实施方式中,在目标平台中的nova-api接收到虚拟机创建指令的情况下,可以通过nova-conductor向nova-scheduler发送获取指令,以获取满足预设条件的目标云服务器,nova-scheduler基于预设条件过滤筛选获取到目标云服务器后,基于placement数据库占用目标云服务器(将目标云服务器标记为已分配资源),并将目标云服务器返回nova-conductor。nova-conductor再向nova-compute发送创建指令,待基于Cyborg组件完成对加速器的配置后,直接通过libvirt创建目标虚拟机。
本发明实施例中,通过已确定的可用实例直接创建对应的加速器规格,无需在接收到虚拟机创建指令的情况下,再通过遍历实例以查找实例是否已经被使用、并进行复杂的PCIe地址和虚拟化类型配置,可以直接基于目标平台的数据库中存储的实例上报列表中的可用实例直接创建加速器规格,提高了虚拟机创建的效率。并且,通过指定加速器规格确定目标云服务器,可以确保目标云服务器能够满足虚拟机的创建需求,一定程度上确保了虚拟机的稳定性以及可用性。
可选地,步骤103可以包括以下步骤:
步骤801、在所述Nova组件接收到虚拟机创建请求的情况下,向所述Cyborg组件请求所述指定加速器规格对应的加速器;所述虚拟机创建请求用于请求创建挂载有所述指定加速器规格对应的加速器的虚拟机。
本发明实施例中,通过Nova组件中接收虚拟机创建请求,虚拟机创建请求用于指示创建一个挂载有指定加速器规格对应的加速器的虚拟机,在Nova组件接收到虚拟机创建请求的情况下,需要向Cyborg组件请求指定加速器规格对应的加速器,例如:可以在Cyborg组件中进行加速器的配置以及指定。示例性的,可以通过Nova组件中的nova-compute调用Cyborg组件中的cyborg-api,以请求指定加速器规格对应的加速器。
步骤802、通过所述Nova组件向所述Cyborg组件请求所述加速器的挂载操作,在所述目标云服务器上创建所述目标虚拟机。
本发明实施例中,在基于Nova组件完成虚拟机的配置以及基于Cyborg组件完成指定加速器规格对应的加速器的配置后,通过Nova组件向Cyborg组件请求加速器的挂载操作,并在目标服务器上创建目标虚拟机。示例性的,Nova组件向Cyborg组件请求加速器的挂载操作,Nova组件在接受到Cyborg组件以及其他服务发送的通知后,会调用libvirt挂载加速器,以完成创建目标虚拟机的流程。
本发明实施例中,通过Nova组件以及Cyborg组件,可以实现创建挂载有加速器的目标虚拟机,由于加速器是基于实例上报列表中的可用实例确定的,通过向Cyborg组件请求加速器的挂载操作,相当于基于可用实例与目标虚拟机的对应关系,创建目标虚拟机,并在目标云服务器运行目标虚拟机,一定程度上提高了资源调度的效率。
可选地,所述Nova组件包括nova-compute,所述Cyborg组件包括cyborg-api,所述cyborg-api位于所述目标平台的控制节点(Controller)。
步骤801可以包括:
步骤901、通过所述nova-compute调用所述cyborg-api在所述控制节点上创建所述指定加速器规格对应的指定实例与目标虚拟机的对应关系,并在所述目标平台的数据库中记录所述对应关系。
本发明实施例中,通过nova-compute调用cyborg-api在控制节点上创建指定加速器规格对应的可用实例与目标虚拟机的对应关系,相当于将指定加速器规格对应的指定实例与目标虚拟机进行绑定,并将绑定关系记录至目标平台的数据库(DB)中,并将指定加速器规格对应的指定实例进行标记,以表征该指定实例已使用。具体的,目标平台中可以包括设备绑定表,每进行一次可用实例与虚拟机的绑定,在设备绑定表中记录该绑定关系对应的相关信息。
相应的,本发明实施例可以包括以下步骤:
步骤902、通过所述Cyborg组件向所述nova-compute发送反馈消息。
本发明实施例中,在nova-compute调用cyborg-api在控制节点上创建指定加速器规格对应的指定实例与目标虚拟机的对应关系并在Cyborg组件完成加速器的相关配置后之后,Cyborg组件需要向nova-compute发送反馈消息,以通知nova-compute指定加速器规格对应的指定实例与目标虚拟机的对应关系已创建。反馈消息用于表征指定加速器规格对应的指定实例与目标虚拟机的对应关系已创建且Cyborg组件已完成指定实例对应的加速器的相关配置。
本发明实施例中,基于Nova组件与Cyborg组件之间的交互,使得cyborg-api在控制节点上创建指定加速器规格对应的指定实例与目标虚拟机的对应关系,通过Cyborg组件实现了创建以及管理加速器的过程。
可选地,所述Cyborg组件还包括cyborg-agent,所述cyborg-agent位于所述Cyborg组件中的计算节点(Compute)。
步骤802可以包括以下步骤:
步骤8021、通过所述cyborg-api指示所述目标云服务器调用cyborg-agent,在所述计算节点上生成目标中点设备。
本发明实施例中,通过cyborg-api指定目标云服务器调用Cyborg组件中的cyborg-agent,以在计算节点上创建指定实例对应的目标中点设备(mdev)。cyborg-agent可以获取指定实例的通用唯一识别码(Universally Unique Identifier,UUID),并将其写入指定文件,以得到指定实例对应的目标中点设备。其中,可以通过VF直通技术,使得基于目标中点设备(mdev)的虚拟设备(VF设备)跨过物理机虚拟化平台(hypervisor)直通给虚拟机使用,以提高设备使用效率。示例性的,可以通过向/sys/devices/<device path>/mdev_supported_types/<type id>/create输入一个指定实例对应的通用唯一识别码,就可以创建一个<type id>类型对应的中点设备(Mediated Device)。其中,type id可以是指定实例对应的虚拟化类型。
步骤8022、在所述nova-compute接收到所述反馈消息的情况下,调用所述目标平台中的libvirt在所述目标云服务器上基于所述目标中点设备将所述加速器挂载至所述目标虚拟机。
本发明实施例中,在nova-compute接收到反馈消息的情况下,表征指定实例对应的加速器的相关配置已完成,因此,nova-compute基于nova-conductor发送的创建指令以及Cyborg组件发送的反馈消息,调用libvirt在目标云服务器上基于目标中点设备将加速器挂载至目标虚拟机。
本发明实施例中,通过在Cyborg组件中的计算节点生成目标中点设备,可以使得可用实例可以基于目标中点设备直通给虚拟机使用,保证了虚拟机能够使用独立的实例资源,避免受到其它实例资源的影响。
可选地,步骤8022可以包括以下步骤:
步骤8022a、利用所述libvirt将所述目标中点设备对应的标识符写入目标文件。
本发明实施例中,利用libvirt将目标中点设备对应的标识符写入目标文件,标识符可以是目标中点设备对应的通用唯一识别码(Universally Unique Identifier,UUID),目标文件可以是目标虚拟机对应的XML格式的配置文件。
步骤8022b、基于所述目标文件,在所述目标云服务器上创建挂载有所述加速器的目标虚拟机。
本发明实施例中,基于目标文件,在目标云服务器上创建挂载有加速器的目标虚拟机,以完成虚拟机创建流程。示例性的,可以利用libvirt将目标中点设备对应的UUID写入XML文件中,然后使用virsh create --file命令,指定XML文件创建目标虚拟机。
本发明实施例中,通过libvirt基于目标中点设备创建目标虚拟机,可以使得基于目标中点设备的虚拟设备可以直通给虚拟机使用,方便了对实例资源的使用,提高了目标平台的资源使用效率。
示例性的,图2提供了一种目标虚拟机的创建流程的示意图,如图2所示,目标平台中包括Nova组件、Cyborg组件以及placement数据库,Cyborg组件中的数据库1以及placement数据库中包括实例上报列表,可以通过cyborg-api创建指定实例对应的指定加速器规格,并且,向nova-api发送虚拟机创建指令,使得nova-conductor能够基于指定加速器规格,从placement数据库中多个云服务器中过滤筛选出目标服务器,并在placement数据库中占用目标云服务器。nova-scheduler将目标云服务器返回nova-conductor,nova-conductor向nova-compute发送创建指令,以指示在加速器的相关配置完成后,创建目标虚拟机。nova-compute调用Cyborg组件中的cyborg-api创建指定实例与目标虚拟机的对应关系,并将对应关系记录在数据库中。cyborg-api指定目标云服务器调用cyborg-agent在计算节点(Compute)上创建目标中点设备,在完成加速器相关配置后,向nova-compute发送反馈消息,以使得nova-compute调用libvirt在目标云服务器上创建挂载有加速器的目标虚拟机。
可选地,所述Nova组件还包括nova-api,所述目标平台还包括placement数据库。本发明实施例还可以包括以下步骤:
步骤901、在接收到加速器绑定请求的情况下,通过所述nova-api向所述nova-compute发送绑定指令;所述绑定指令用于指示将第一目标加速器对应的实例与待绑定虚拟机进行绑定。
本发明实施例中,在Nova组件中的nova-api接收到加速器绑定请求的情况下,向nova-compute发送绑定指令。其中,绑定指令用于指示将第一目标加速器对应的实例与待绑定虚拟机进行绑定,待绑定虚拟机为已经创建完成的虚拟机。第一目标加速器可以为可用实例对应的加速器规格所指的加速器。
步骤902、通过所述nova-compute在placement数据库以及所述Cyborg组件中添加所述第一目标加速器对应的实例与所述待绑定虚拟机的绑定关系。
本发明实施例中,nova-compute在接收到绑定指令的情况下,在placement数据库中新增第一目标加速器对应的实例与待绑定虚拟机的绑定关系,并通过nova-compute调用cyborg-api在控制节点上创建第一目标加速器与待绑定虚拟机的绑定关系。具体的,可以在placement数据库中allocations表中新增一条第一目标加速器对应的实例与待绑定虚拟机的绑定记录,在Cyborg组件的数据库中添加第一目标加速器对应的实例与待绑定虚拟机的绑定关系。
步骤903、通过所述cyborg-api调用所述待绑定虚拟机对应的云服务器创建所述第一目标加速器对应的第一中点设备。
本发明实施例中,通过cyborg-api调用待绑定虚拟机对应的云服务器创建第一目标加速器对应的第一中点设备。其中,待绑定虚拟机对应的云服务器可以是在待绑定虚拟机创建时对应的云服务器,具体的,通过cyborg-api调用待绑定虚拟机对应的云服务器创建第一目标加速器对应的第一中点设备的步骤与步骤8021中创建目标中点设备的过程类似,在此不再赘述。
步骤904、基于所述第一中点设备,利用libvirt在所述待绑定虚拟机上挂载所述第一目标加速器。
本发明实施例中,基于第一中点设备,利用libvirt在待绑定虚拟机上挂载第一目标加速器,完成加速器绑定流程。
本发明实施例中,通过加速器绑定请求,可以在已有虚拟机的基础上进行加速器的绑定,提供了多样化的资源调度方法,提高了实例资源的易用性和使用效率。并且针对存量虚拟机,可以通过绑定加速器,提高虚拟机的图形图像处理的能力。
可选地,本发明实施例可以包括以下步骤:
步骤1001、在接收到加速器解绑请求的情况下,通过所述nova-api向所述nova-compute发送解绑指令;所述解绑指令用于指示将第二目标加速器对应的实例与待解绑虚拟机进行解绑。
本发明实施例中,在Nova组件中的nova-api接收到加速器解绑请求的情况下,向nova-compute发送解绑指令。其中,解绑指令用于指示将第二目标加速器对应的实例与待解绑虚拟机进行绑定,待解绑虚拟机为已经创建完成的虚拟机,待解绑虚拟机当前挂载有第二目标加速器。第二目标加速器可以为可用实例对应的加速器规格所指的加速器。
步骤1002、通过所述nova-compute在所述placement数据库以及所述Cyborg组件中删除所述第二目标加速器对应的实例与所述待解绑虚拟机的绑定关系。
本发明实施例中,nova-compute在接收到解绑指令的情况下,在placement数据库中删除第二目标加速器对应的实例与待解绑虚拟机的绑定关系,并通过nova-compute调用cyborg-api在控制节点上删除第二目标加速器与待解绑虚拟机的绑定关系。具体的,可以在placement数据库中allocations表中删除第二目标加速器对应的实例与待解绑虚拟机的绑定记录,在Cyborg组件的数据库中删除第二目标加速器对应的实例与待解绑虚拟机的绑定关系。
步骤1003、通过所述cyborg-api调用所述待解绑虚拟机对应的云服务器删除所述第二目标加速器对应的第二中点设备。
本发明实施例中,通过cyborg-api调用待解绑虚拟机对应的云服务器删除第二目标加速器对应的第二中点设备。其中,待解绑虚拟机对应的云服务器可以是在待解绑虚拟机创建时对应的云服务器。
步骤1004、利用所述libvirt在所述待解绑虚拟机上卸载所述第二目标加速器。
本发明实施例中,利用libvirt在待解绑虚拟机上卸载第二目标加速器,完成加速器解绑流程。
本发明实施例中,通过加速器解绑请求,可以在已有虚拟机的基础上进行加速器的解绑,释放加速资源供其它虚拟机使用,提供了多样化的资源调度方法,提高了实例资源的易用性和使用效率。
参考图2示意图,举例说明在待绑定虚拟机/待解绑虚拟机挂载/卸载加速器的过程,nova-api接收到加速器绑定/解绑请求的情况下,向nova-compute发送绑定/解绑指令,并通过nova-compute在placement数据库中添加/删除加速器对应的实例与待绑定/解绑虚拟机的绑定关系,并通过nova-compute调用cyborg-api在控制节点上添加/删除加速器与待绑定/解绑虚拟机的绑定关系。通过cyborg-api调用待绑定/解绑虚拟机对应的云服务器创建加速器对应的中点设备,基于中点设备,利用libvirt在待绑定/解绑虚拟机上卸载对应的加速器,遗忘城绑定/解绑流程。
示例性的,图3为本发明实施例的提供的一种系统架构示意图,如图3所示,物理机操作系统(HOST LINUX)中部署有图形处理器虚拟化管理软件(vGPU manager),在宿主机(HOST)中,部署有用于I/O操作的内存管理单元(IOMMU),以及图形处理器对应的物理设备(GPU PF设备),以及多个虚拟设备(VF设备)。通过虚拟设备直通技术(VFIO-MDEV),基于物理机虚拟化平台(Hypervisor)中的中点设备框架(mdev framework),将虚拟设备(VF设备)基于实例跨过物理机虚拟化平台一一对应直通给虚拟机(VM)使用。
示例性的,图4为本发明提供的一种资源管理与调度方法的具体步骤流程图,如图4所示,1)获取服务器中的图形处理器;2)针对任一图形处理器,判断该图形处理器是否开启目标模式,具体的,可以判断图形处理器是否包含虚拟设备;3)在图形处理器包含虚拟设备,即开启目标模式的情况下,获取基于对图形处理器划分得到的多个实例,得到实例列表,实例列表中可以包括多个实例。并获取图形处理器对应的虚拟设备列表,虚拟设备列表中包括多个虚拟设备;4)遍历虚拟设备列表,针对任一虚拟设备,获取该虚拟设备对应的多个虚拟化类型;5)遍历虚拟化类型,针对任一虚拟化类型,获取该虚拟化类型对应的可分配虚拟机数量;6)在可分配虚拟机数量为0的情况下,获取该虚拟化类型对应的设备目录,在设备目录中不包含设备信息的情况下,表征该虚拟化类型不可用,返回执行步骤5),直至该虚拟设备对应的多个虚拟化类型遍历结束;在设备目录中包含设备信息的情况下,将实例列表中该虚拟设备对应的实例删除;7)在可分配虚拟机数量为1的情况下,获取该虚拟设备对应的实例,并将该实例添加至实例上报列表,同时将实例列表中该虚拟设备对应的实例删除,返回执行步骤4),继续遍历下一虚拟设备,直至实例列表为空。8)在对一个图形处理器中的虚拟设备完成遍历后,继续遍历下一图形处理器;9)在全部图形处理器遍历结束后,将实例上报列表发送至目标平台的数据库。
图5是本发明实施例提供的一种资源管理与调度装置的结构示意图,如图5所示,该装置具体可以包括:
第一获取模块1101,用于获取对图形处理器进行划分得到的多个实例;
第一确定模块1102,用于基于所述图形处理器对应的虚拟设备的使用状态,从所述多个实例中自动确定可用实例;
第一创建模块1103,用于在目标平台接收到虚拟机创建指令的情况下,基于所创建的所述可用实例与目标虚拟机的对应关系,在目标云服务器上创建并运行所述目标虚拟机;所述目标虚拟机挂载有所述可用实例对应的加速器。
可选地,第一确定模块1102包括:
第一确定子模块,用于针对所述图形处理器对应的多个虚拟设备中的任一虚拟设备,基于所述虚拟设备对应的多个虚拟化类型,确定所述虚拟设备的使用状态;
第一获取子模块,用于在所述虚拟设备的使用状态为待使用状态的情况下,将所述虚拟设备确定为可用虚拟设备,并获取所述可用虚拟设备对应的可用实例。
可选地,该装置还包括:
第一记录模块,用于将所述可用实例对应的可用实例信息记录至实例上报列表;
第一发送模块,用于在达到停止条件的情况下,将所述实例上报列表发送至目标平台的数据库。
可选地,在所述图形处理器的数量为至少两个的情况下,该装置还包括:
第二确定子模块,用于针对所述多个图形处理器中的任一图形处理器,确定所述图形处理器是否开启目标模式;
所述第一确定子模块,包括:
第三确定子模块,用于在所述图形处理器开启目标模式的情况下,针对所述图形处理器对应的多个虚拟设备中的任一虚拟设备,基于所述虚拟设备对应的多个虚拟化类型,确定所述虚拟设备的使用状态。
可选地,第一记录模块包括:
第一记录子模块,用于将所述至少两个图形处理器对应的可用实例所对应的可用实例信息记录至实例上报列表。
可选地,第三确定子模块包括:
第二获取子模块,用于获取所述图形处理器对应的虚拟设备列表;所述虚拟设备列表包括多个虚拟设备;
第三获取子模块,用于针对所述多个虚拟设备中的任一虚拟设备,获取所述虚拟设备对应的多个虚拟化类型;
第四获取子模块,用于针对所述多个虚拟化类型中的任一虚拟化类型,获取所述虚拟化类型对应的可分配虚拟机数量;
第四确定子模块,用于在所述可分配虚拟机数量为1的情况下,将所述虚拟设备的使用状态确定为待使用状态;
第五确定子模块,用于在所述可分配虚拟机数量为0的情况下,基于所述虚拟化类型对应的设备目录,确定所述虚拟设备的使用状态。
可选地,第五确定子模块包括:
第六确定子模块,用于在所述可分配虚拟机数量为0且所述设备目录中包含设备信息的情况下,确定所述虚拟设备的使用状态为已使用状态;
第七确定子模块,用于在所述可分配虚拟机数量为0且所述设备目录中不包含设备信息的情况下,确定不存在所述虚拟化类型对应的实例,并重复执行所述针对所述多个虚拟化类型中的任一虚拟化类型,获取所述虚拟化类型对应的可分配虚拟机数量的步骤。
可选地,该装置还包括:
第二获取模块,用于获取所述图形处理器对应的实例列表;
第一删除模块,用于在确定所述虚拟设备的使用状态为已使用状态或待使用状态的情况下,将所述实例列表中与所述虚拟设备对应的实例相同的实例删除;
所述停止条件包括所述实例列表为空。
可选地,所述虚拟机创建指令携带有指定加速器规格;该装置还包括:
第二创建模块,用于基于所述数据库中的实例上报列表中的可用实例,创建指定实例对应的指定加速器规格;所述可用实例包括所述指定实例;
第二确定模块,用于基于所述指定加速器规格,确定目标云服务器。
可选地,所述指定加速器规格中包括指定实例的显存大小信息以及所述指定实例对应的图形编辑器的编号信息;第二确定模块包括:
第八确定子模块,用于基于所述显存大小信息以及所述指定实例对应的图形编辑器的编号信息,根据多个云服务器的处理器信息以及内存信息,确定目标云服务器。
可选地,所述目标平台中包括Nova组件以及Cyborg组件;第一创建模块1103包括:
第一请求模块,用于在所述Nova组件接收到虚拟机创建请求的情况下,向所述Cyborg组件请求所述指定加速器规格对应的加速器;所述虚拟机创建请求用于请求创建挂载有所述指定加速器规格对应的加速器的虚拟机;
第三创建模块,用于通过所述Nova组件向所述Cyborg组件请求所述加速器的挂载操作,在所述目标云服务器上创建所述目标虚拟机。
可选地,所述Nova组件包括nova-compute,所述Cyborg组件包括cyborg-api,所述cyborg-api位于所述目标平台的控制节点;第一请求模块包括:
第一创建子模块,用于通过所述nova-compute调用所述cyborg-api在所述控制节点上创建所述指定加速器规格对应的指定实例与目标虚拟机的对应关系,并在所述目标平台的数据库中记录所述对应关系;
该装置还包括:
第二发送模块,用于通过所述Cyborg组件向所述nova-compute发送反馈消息。
可选地,所述Cyborg组件还包括cyborg-agent,所述cyborg-agent位于所述Cyborg组件中的计算节点;第三创建模块包括:
第一生成模块,用于通过所述cyborg-api指示所述目标云服务器调用cyborg-agent,在所述计算节点上生成目标中点设备;
第一调用模块,用于在所述nova-compute接收到所述反馈消息的情况下,调用所述目标平台中的libvirt在所述目标云服务器上基于所述目标中点设备将所述加速器挂载至所述目标虚拟机。
可选地,第一调用模块包括:
第一写入模块,用于利用所述libvirt将所述目标中点设备对应的标识符写入目标文件;
第二创建子模块,用于基于所述目标文件,在所述目标云服务器上创建挂载有所述加速器的目标虚拟机。
可选地,所述Nova组件还包括nova-api,所述目标平台还包括placement数据库;该装置还包括:
第三发送模块,用于在接收到加速器绑定请求的情况下,通过所述nova-api向所述nova-compute发送绑定指令;所述绑定指令用于指示将第一目标加速器对应的实例与待绑定虚拟机进行绑定;
第一添加模块,用于通过所述nova-compute在placement数据库以及所述Cyborg组件中添加所述第一目标加速器对应的实例与所述待绑定虚拟机的绑定关系;
第四创建模块,用于通过所述cyborg-api调用所述待绑定虚拟机对应的云服务器创建所述第一目标加速器对应的第一中点设备;
第一挂载模块,用于基于所述第一中点设备,利用libvirt在所述待绑定虚拟机上挂载所述第一目标加速器。
可选地,该装置还包括:
第四发送模块,用于在接收到加速器解绑请求的情况下,通过所述nova-api向所述nova-compute发送解绑指令;所述解绑指令用于指示将第二目标加速器对应的实例与待解绑虚拟机进行解绑;
第二删除模块,用于通过所述nova-compute在所述placement数据库以及所述Cyborg组件中删除所述第二目标加速器对应的实例与所述待解绑虚拟机的绑定关系;
第四创建模块,用于通过所述cyborg-api调用所述待解绑虚拟机对应的云服务器删除所述第二目标加速器对应的第二中点设备;
第一卸载模块,用于利用所述libvirt在所述待解绑虚拟机上卸载所述第二目标加速器。
本发明还提供了一种电子设备,参见图6,包括:处理器1201、存储器1202以及存储在所述存储器上并可在所述处理器上运行的计算机程序12021,所述处理器执行所述程序时实现前述实施例的资源管理与调度方法。
本发明还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的资源管理与调度方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明的排序设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要指出的是,本申请中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (19)
1.一种资源管理与调度方法,其特征在于,所述方法包括:
获取对图形处理器进行划分得到的多个实例;
基于所述图形处理器对应的虚拟设备的使用状态,从所述多个实例中自动确定可用实例;
在目标平台接收到虚拟机创建指令的情况下,基于所创建的所述可用实例与目标虚拟机的对应关系,在目标云服务器上创建并运行所述目标虚拟机;所述目标虚拟机挂载有所述可用实例对应的加速器;
所述基于所述图形处理器对应的虚拟设备的使用状态,从所述多个实例中自动确定可用实例,包括:
针对所述图形处理器对应的多个虚拟设备中的任一虚拟设备,基于所述虚拟设备对应的多个虚拟化类型,确定所述虚拟设备的使用状态;
在所述虚拟设备的使用状态为待使用状态的情况下,将所述虚拟设备确定为可用虚拟设备,并获取所述可用虚拟设备对应的可用实例。
2.根据权利要求1所述的方法,其特征在于,在获取所述可用虚拟设备对应的可用实例之后,所述方法还包括:
将所述可用实例对应的可用实例信息记录至实例上报列表;
在达到停止条件的情况下,将所述实例上报列表发送至目标平台的数据库。
3.根据权利要求2所述的方法,其特征在于,在所述图形处理器的数量为至少两个的情况下,所述方法还包括:
针对所述多个图形处理器中的任一图形处理器,确定所述图形处理器是否开启目标模式;
所述针对所述图形处理器对应的多个虚拟设备中的任一虚拟设备,基于所述虚拟设备对应的多个虚拟化类型,确定所述虚拟设备的使用状态,包括:
在所述图形处理器开启目标模式的情况下,针对所述图形处理器对应的多个虚拟设备中的任一虚拟设备,基于所述虚拟设备对应的多个虚拟化类型,确定所述虚拟设备的使用状态。
4.根据权利要求3所述的方法,其特征在于,所述将所述可用实例对应的可用实例信息记录至实例上报列表,包括:
将所述至少两个图形处理器对应的可用实例所对应的可用实例信息记录至实例上报列表。
5.根据权利要求1所述的方法,其特征在于,所述基于所述虚拟设备对应的多个虚拟化类型,确定所述虚拟设备的使用状态,包括:
获取所述图形处理器对应的虚拟设备列表;所述虚拟设备列表包括多个虚拟设备;
针对所述多个虚拟设备中的任一虚拟设备,获取所述虚拟设备对应的多个虚拟化类型;
针对所述多个虚拟化类型中的任一虚拟化类型,获取所述虚拟化类型对应的可分配虚拟机数量;
在所述可分配虚拟机数量为1的情况下,将所述虚拟设备的使用状态确定为待使用状态;
在所述可分配虚拟机数量为0的情况下,基于所述虚拟化类型对应的设备目录,确定所述虚拟设备的使用状态。
6.根据权利要求5所述的方法,其特征在于,所述在所述可分配虚拟机数量为0的情况下,基于所述虚拟化类型对应的设备目录,确定所述虚拟设备的使用状态,包括:
在所述可分配虚拟机数量为0且所述设备目录中包含设备信息的情况下,确定所述虚拟设备的使用状态为已使用状态;
在所述可分配虚拟机数量为0且所述设备目录中不包含设备信息的情况下,确定不存在所述虚拟化类型对应的实例,并重复执行所述针对所述多个虚拟化类型中的任一虚拟化类型,获取所述虚拟化类型对应的可分配虚拟机数量的步骤。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述图形处理器对应的实例列表;
在确定所述虚拟设备的使用状态为已使用状态或待使用状态的情况下,将所述实例列表中与所述虚拟设备对应的实例相同的实例删除;
所述停止条件包括所述实例列表为空。
8.根据权利要求2所述的方法,其特征在于,所述虚拟机创建指令携带有指定加速器规格;所述方法还包括:
基于所述数据库中的实例上报列表中的可用实例,创建指定实例对应的指定加速器规格;所述可用实例包括所述指定实例;
基于所述指定加速器规格,确定目标云服务器。
9.根据权利要求8所述的方法,其特征在于,所述指定加速器规格中包括指定实例的显存大小信息以及所述指定实例对应的图形编辑器的编号信息;所述基于所述指定加速器规格,确定目标云服务器,包括:
基于所述显存大小信息以及所述指定实例对应的图形编辑器的编号信息,根据多个云服务器的处理器信息以及内存信息,确定目标云服务器。
10.根据权利要求8所述的方法,其特征在于,所述目标平台中包括Nova组件以及Cyborg组件;所述在目标平台接收到虚拟机创建指令的情况下,基于所创建的所述可用实例与目标虚拟机的对应关系,在目标云服务器上创建并运行所述目标虚拟机,包括:
在所述Nova组件接收到虚拟机创建请求的情况下,向所述Cyborg组件请求所述指定加速器规格对应的加速器;所述虚拟机创建请求用于请求创建挂载有所述指定加速器规格对应的加速器的虚拟机;
通过所述Nova组件向所述Cyborg组件请求所述加速器的挂载操作,在所述目标云服务器上创建所述目标虚拟机。
11.根据权利要求10所述的方法,其特征在于,所述Nova组件包括nova-compute,所述Cyborg组件包括cyborg-api,所述cyborg-api位于所述目标平台的控制节点;所述向所述Cyborg组件请求所述指定加速器规格对应的加速器,包括:
通过所述nova-compute调用所述cyborg-api在所述控制节点上创建所述指定加速器规格对应的指定实例与目标虚拟机的对应关系,并在所述目标平台的数据库中记录所述对应关系;
所述方法还包括:
通过所述Cyborg组件向所述nova-compute发送反馈消息。
12.根据权利要求11所述的方法,其特征在于,所述Cyborg组件还包括cyborg-agent,所述cyborg-agent位于所述Cyborg组件中的计算节点;所述通过所述Nova组件向所述Cyborg组件请求所述加速器的挂载操作,在所述目标云服务器上创建所述目标虚拟机,包括:
通过所述cyborg-api指示所述目标云服务器调用cyborg-agent,在所述计算节点上生成目标中点设备;
在所述nova-compute接收到所述反馈消息的情况下,调用所述目标平台中的libvirt在所述目标云服务器上基于所述目标中点设备将所述加速器挂载至所述目标虚拟机。
13.根据权利要求12所述的方法,其特征在于,所述调用所述目标平台中的libvirt在所述目标云服务器上基于所述目标中点设备将所述加速器挂载至所述目标虚拟机,包括:
利用所述libvirt将所述目标中点设备对应的标识符写入目标文件;
基于所述目标文件,在所述目标云服务器上创建挂载有所述加速器的目标虚拟机。
14.根据权利要求11所述的方法,其特征在于,所述Nova组件还包括nova-api,所述目标平台还包括placement数据库;所述方法还包括:
在接收到加速器绑定请求的情况下,通过所述nova-api向所述nova-compute发送绑定指令;所述绑定指令用于指示将第一目标加速器对应的实例与待绑定虚拟机进行绑定;
通过所述nova-compute在placement数据库以及所述Cyborg组件中添加所述第一目标加速器对应的实例与所述待绑定虚拟机的绑定关系;
通过所述cyborg-api调用所述待绑定虚拟机对应的云服务器创建所述第一目标加速器对应的第一中点设备;
基于所述第一中点设备,利用libvirt在所述待绑定虚拟机上挂载所述第一目标加速器。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
在接收到加速器解绑请求的情况下,通过所述nova-api向所述nova-compute发送解绑指令;所述解绑指令用于指示将第二目标加速器对应的实例与待解绑虚拟机进行解绑;
通过所述nova-compute在所述placement数据库以及所述Cyborg组件中删除所述第二目标加速器对应的实例与所述待解绑虚拟机的绑定关系;
通过所述cyborg-api调用所述待解绑虚拟机对应的云服务器删除所述第二目标加速器对应的第二中点设备;
利用所述libvirt在所述待解绑虚拟机上卸载所述第二目标加速器。
16.根据权利要求2所述的方法,其特征在于,所述可用实例信息包括:所述可用实例对应的图形处理器编号信息、设备地址信息、显存大小信息、所述可用实例所在的云服务器信息以及所述可用实例的使用状态信息。
17.一种资源管理与调度装置,其特征在于,所述装置包括:
第一获取模块,用于获取对图形处理器进行划分得到的多个实例;
第一确定模块,用于基于所述图形处理器对应的虚拟设备的使用状态,从所述多个实例中自动确定可用实例;
第一创建模块,用于在目标平台接收到虚拟机创建指令的情况下,基于所创建的所述可用实例与目标虚拟机的对应关系,在目标云服务器上创建并运行所述目标虚拟机;所述目标虚拟机挂载有所述可用实例对应的加速器;
所述第一确定模块包括:
第一确定子模块,用于针对所述图形处理器对应的多个虚拟设备中的任一虚拟设备,基于所述虚拟设备对应的多个虚拟化类型,确定所述虚拟设备的使用状态;
第一获取子模块,用于在所述虚拟设备的使用状态为待使用状态的情况下,将所述虚拟设备确定为可用虚拟设备,并获取所述可用虚拟设备对应的可用实例。
18.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-16中任一所述的资源管理与调度方法。
19.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1-16中任一所述的资源管理与调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311514871.0A CN117234741B (zh) | 2023-11-14 | 2023-11-14 | 资源管理与调度方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311514871.0A CN117234741B (zh) | 2023-11-14 | 2023-11-14 | 资源管理与调度方法、装置、电子设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117234741A CN117234741A (zh) | 2023-12-15 |
CN117234741B true CN117234741B (zh) | 2024-02-20 |
Family
ID=89093387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311514871.0A Active CN117234741B (zh) | 2023-11-14 | 2023-11-14 | 资源管理与调度方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234741B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117667241B (zh) * | 2024-02-01 | 2024-04-26 | 龙芯中科技术股份有限公司 | 设备加载方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591702A (zh) * | 2011-12-31 | 2012-07-18 | 华为技术有限公司 | 虚拟化处理方法及相关装置和计算机系统 |
US10789668B2 (en) * | 2016-08-31 | 2020-09-29 | Vmware, Inc. | Intelligent provisioning of virtual graphic processing unit resources |
CN112463392A (zh) * | 2020-12-11 | 2021-03-09 | 北京浪潮数据技术有限公司 | 一种vGPU管理方法、装置及电子设备和存储介质 |
CN113849272A (zh) * | 2021-09-18 | 2021-12-28 | 北京金山云网络技术有限公司 | 在虚拟机中添加gpu资源的方法及装置 |
CN114138405A (zh) * | 2021-10-31 | 2022-03-04 | 郑州云海信息技术有限公司 | 一种虚拟机创建方法、装置及电子设备和存储介质 |
CN114625482A (zh) * | 2022-03-23 | 2022-06-14 | 阿里巴巴(中国)有限公司 | 一种设备管理方法和装置 |
WO2023000673A1 (zh) * | 2021-07-21 | 2023-01-26 | 山东海量信息技术研究院 | 硬件加速器设备管理方法、装置及电子设备和存储介质 |
CN116010070A (zh) * | 2021-10-21 | 2023-04-25 | 中移(杭州)信息技术有限公司 | 边缘云平台虚拟机的部署方法、系统、设备及存储介质 |
CN116089090A (zh) * | 2023-02-10 | 2023-05-09 | 济南浪潮数据技术有限公司 | 一种图形显示器的虚拟资源配置方法、装置、设备、介质 |
-
2023
- 2023-11-14 CN CN202311514871.0A patent/CN117234741B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591702A (zh) * | 2011-12-31 | 2012-07-18 | 华为技术有限公司 | 虚拟化处理方法及相关装置和计算机系统 |
US10789668B2 (en) * | 2016-08-31 | 2020-09-29 | Vmware, Inc. | Intelligent provisioning of virtual graphic processing unit resources |
CN112463392A (zh) * | 2020-12-11 | 2021-03-09 | 北京浪潮数据技术有限公司 | 一种vGPU管理方法、装置及电子设备和存储介质 |
WO2023000673A1 (zh) * | 2021-07-21 | 2023-01-26 | 山东海量信息技术研究院 | 硬件加速器设备管理方法、装置及电子设备和存储介质 |
CN113849272A (zh) * | 2021-09-18 | 2021-12-28 | 北京金山云网络技术有限公司 | 在虚拟机中添加gpu资源的方法及装置 |
CN116010070A (zh) * | 2021-10-21 | 2023-04-25 | 中移(杭州)信息技术有限公司 | 边缘云平台虚拟机的部署方法、系统、设备及存储介质 |
CN114138405A (zh) * | 2021-10-31 | 2022-03-04 | 郑州云海信息技术有限公司 | 一种虚拟机创建方法、装置及电子设备和存储介质 |
CN114625482A (zh) * | 2022-03-23 | 2022-06-14 | 阿里巴巴(中国)有限公司 | 一种设备管理方法和装置 |
CN116089090A (zh) * | 2023-02-10 | 2023-05-09 | 济南浪潮数据技术有限公司 | 一种图形显示器的虚拟资源配置方法、装置、设备、介质 |
Non-Patent Citations (1)
Title |
---|
基于OpenStack虚拟化网络管理平台的设计与实现;文婷婷;李洪赭;李赛飞;;电子制作(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117234741A (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3761170B1 (en) | Virtual machine creation method and apparatus | |
US10146580B2 (en) | Lazy persistent storage volume provisioning | |
CN117234741B (zh) | 资源管理与调度方法、装置、电子设备以及存储介质 | |
TWI438684B (zh) | 在分散式系統中漸進地實施宣告模型之方法及電腦程式儲存產品 | |
CN110673964A (zh) | 一种车载系统的音频播放控制方法和装置 | |
KR20090095619A (ko) | 보호 영역 경계들에서의 오브젝트 호출 방법, 시스템 및 장치 | |
CN107368379B (zh) | 面向EVP的跨Guest OS进程间通信方法及系统 | |
WO2023000673A1 (zh) | 硬件加速器设备管理方法、装置及电子设备和存储介质 | |
JP7377965B2 (ja) | ネットワークリソース管理方法、システム、ネットワーク機器と可読記憶媒体 | |
CN114138405A (zh) | 一种虚拟机创建方法、装置及电子设备和存储介质 | |
CN112835524A (zh) | 存储资源配置方法、存储资源控制器及调度系统 | |
CN111443985A (zh) | 实例化虚拟网络功能的方法及设备 | |
CN113190282A (zh) | 安卓运行环境构建的方法及装置 | |
US20200379818A1 (en) | Managed computing resource placement as a service for dedicated hosts | |
CN112000439A (zh) | 一种实现云原生应用管理虚拟机的方法 | |
CN114168255A (zh) | 容器云平台中异构指令集容器的运行方法和装置 | |
CN112948050A (zh) | 一种部署pod的方法及装置 | |
CN114490062A (zh) | 一种本地磁盘的调度方法、装置、电子设备及存储介质 | |
CN108667750B (zh) | 虚拟资源管理方法及装置 | |
CN113760499A (zh) | 调度计算单元的方法、装置、计算设备及介质 | |
CN113127258A (zh) | 一种数据备份方法、装置、设备及介质 | |
CN116578416A (zh) | 一种基于gpu虚拟化的信号级仿真加速方法 | |
CN115422277A (zh) | 数据源连接池控制方法、装置及服务器 | |
CN114153555A (zh) | 一种云平台pmem设备管理方法、系统、装置及存储介质 | |
CN113268356B (zh) | 基于LINUX系统的多GPU板卡bounding的系统、方法及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |