CN112732449B - 基于gpu虚拟化技术的显存资源分配方法、装置及设备 - Google Patents
基于gpu虚拟化技术的显存资源分配方法、装置及设备 Download PDFInfo
- Publication number
- CN112732449B CN112732449B CN202110077158.9A CN202110077158A CN112732449B CN 112732449 B CN112732449 B CN 112732449B CN 202110077158 A CN202110077158 A CN 202110077158A CN 112732449 B CN112732449 B CN 112732449B
- Authority
- CN
- China
- Prior art keywords
- video memory
- virtual machine
- memory space
- guest virtual
- utilization rate
- 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 53
- 238000005516 engineering process Methods 0.000 title claims abstract description 34
- 238000013468 resource allocation Methods 0.000 title claims abstract description 20
- 238000011084 recovery Methods 0.000 claims description 52
- 238000004590 computer program Methods 0.000 claims description 26
- 238000012163 sequencing technique Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 8
- 239000002699 waste material Substances 0.000 abstract description 5
- 238000004064 recycling Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Memory System (AREA)
Abstract
一种基于GPU虚拟化技术的显存资源分配方法、装置及设备,所述方法包括:获取各虚拟机的显存信息,所述显存信息包括:主虚拟机的当前剩余显存空间大小和客虚拟机的显存利用率;根据所述显存利用率确定是否满足显存分配条件;若满足所述显存分配条件,且所述主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。上述方法,对于虚拟机的显存空间的使用,动态的获取客虚拟机的显存利用率,在显存利用率达到一定条件时,从主虚拟机中划分显存分配至客虚拟机,尽量保证虚拟机的显存空间充足,减少了对空闲显存资源的浪费,使整个虚拟域环境运行稳定,提升整体的系统性能。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于GPU虚拟化技术的显存资源分配方法、装置、计算机设备和存储介质。
背景技术
随着近几年来处理器技术和性能的高速发展,虚拟化技术愈发成熟。目前,在CPU虚拟化、内存虚拟化、网络虚拟化以及GPU虚拟化方面的研究都有了重大进展。每个GPU都拥有自己的显存空间,所以GPU虚拟化技术发展也伴随着显存的虚拟化技术。
随着GPU虚拟化的应用也就会出现显存虚拟化的分配问题,而目前的主流虚拟化技术中基于GPU虚拟化技术的显存资源分配方法都是由主机在一开始静态分配固定的显存空间,类似于内存虚拟化,然而,在一台物理机上创建多个虚拟机时,就必然会面临一个问题:由于不同虚拟机在同一时间内运行着不同类型不同数量的任务,对于显存资源的利用率也不尽相同,固定分配显存空间的方式容易出现利用率过低的虚拟机浪费显存资源,而利用率过高的虚拟机又可能因为显存资源不足而影响到系统性能。
发明内容
基于此,有必要针对上述技术问题,提供一种能够避免显存资源浪费或者显存资源不足的基于GPU虚拟化技术的显存资源分配方法、装置及设备。
一种基于GPU虚拟化技术的显存资源分配方法,所述方法包括:
获取各虚拟机的显存信息,所述显存信息包括:主虚拟机的当前剩余显存空间大小和客虚拟机的显存利用率;
根据所述显存利用率确定是否满足显存分配条件;
若满足所述显存分配条件,且所述主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
在其中的一个实施例中,所述根据所述显存利用率确定是否满足显存分配条件包括:
读取客虚拟机对应的利用率最大阈值;
将所述客虚拟机的显存利用率与利用率最大阈值进行比较;
若所述客虚拟机的显存利用率大于或者等于所述利用率最大阈值,判定为满足显存分配条件。
在其中的一个实施例中,所述显存信息还包括所述客虚拟机的当前显存空间大小;所述方法还包括:
若满足显存分配条件,且所述主虚拟机的当前剩余显存空间大小小于所述剩余显存空间阈值,根据所述客虚拟机的显存利用率确定是否满足显存回收条件;
若满足显存回收条件,从所述客虚拟机中确定回收显存空间大小;
将所述客虚拟机中回收显存空间大小对应的显存空间回收至所述主虚拟机。
在其中的一个实施例中,在将所述客虚拟机中回收显存空间大小回收至所述主虚拟机之后,还包括:
获取所述主虚拟机的当前剩余显存空间大小;
若所述主虚拟机的当前剩余显存空间大小大于所述剩余显存空间阈值,从主虚拟机的显存资源分配池中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
在其中的一个实施例中,所述显存信息还包括所述客虚拟机的当前显存空间大小;所述从所述客虚拟机中确定回收显存空间大小,包括:
读取所述客虚拟机的基本显存利用率;
根据所述客虚拟机的当前显存空间大小、显存利用率和基本显存利用率,确定可预回收显存空间大小;
若所述客虚拟机的当前显存空间大小与所述可预回收显存空间大小的差值大于基本显存空间阈值,将所述可预回收显存空间大小确定为所述回收显存空间大小;
若所述客虚拟机的当前显存空间大小与所述可预回收显存空间大小的差值小于所述基本显存空间阈值,将所述客虚拟机的当前显存空间大小与所述基本显存空间阈值的差值确定为所述回收显存空间大小。
在其中的一个实施例中,在根据所述客虚拟机的显存利用率确定是否满足显存回收条件之后,还包括:
若存在多个客虚拟机满足显存回收条件,将满足显存回收条件的各客虚拟机按照显存利用率从低至高进行排序,得到排序列表;
依次从所述排序列表中选取目标客虚拟机进行显存回收。
在其中的一个实施例中,在获取各虚拟机的显存信息之前,还包括:
创建主虚拟机、客虚拟机;
为所述主虚拟机分配初始显存空间;
为所述客虚拟机分配初始显存空间,所述客虚拟机的分配初始显存空间大于基本显存空间阈值。
一种基于GPU虚拟化技术的显存资源分配装置,所述装置包括:
显存监控模块,用于获取各虚拟机的显存信息,所述显存信息包括:主虚拟机的当前剩余显存空间大小和客虚拟机的显存利用率;
判断模块,用于根据所述显存利用率确定是否满足显存分配条件;
显存分配模块,用于若满足所述显存分配条件,且所述主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机的显存资源分配池中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取各虚拟机的显存信息,所述显存信息包括:主虚拟机的当前剩余显存空间大小和客虚拟机的显存利用率;
根据所述显存利用率确定是否满足显存分配条件;
若满足所述显存分配条件,且所述主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取各虚拟机的显存信息,所述显存信息包括:主虚拟机的当前剩余显存空间大小和客虚拟机的显存利用率;
根据所述显存利用率确定是否满足显存分配条件;
若满足所述显存分配条件,且所述主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
上述基于GPU虚拟化技术的显存资源分配方法、装置及设备,获取主虚拟机的当前剩余显存空间和客虚拟机的显存利用率,根据客虚拟机的显存利用率确定是否满足显存分配条件,并在满足分配条件且主虚拟机的当前剩余显存空间大小剩余显存空间阈值时,从主虚拟机中划分显存分配到满足分配条件的客虚拟机。上述方法,对于虚拟机的显存空间的使用,动态的获取客虚拟机的显存利用率,在显存利用率达到一定条件时,从主虚拟机中划分显存分配至客虚拟机,尽量保证虚拟机的显存空间充足,减少了对空闲显存资源的浪费,使整个虚拟域环境运行稳定,提升整体的系统性能。
附图说明
图1为一个实施例中基于GPU虚拟化技术的显存资源分配方法的应用环境图;
图2为一个实施例中基于GPU虚拟化技术的显存资源分配方法的流程示意图;
图3为一个实施例中据显存利用率确定是否满足显存分配条件的流程示意图;
图4为一个实施例中显存地址空间的结构示意图;
图5为另一个实施例中基于GPU虚拟化技术的显存资源分配方法的流程示意图;
图6为另一个实施例中基于GPU虚拟化技术的显存资源分配方法的流程示意图;
图7为另一个实施例中基于GPU虚拟化技术的显存资源分配方法的流程示意图;
图8为一个具体实施例中基于GPU虚拟化技术的显存资源分配方法的流程示意图;
图9为一个实施例中基于GPU虚拟化技术的显存资源分配装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于GPU虚拟化技术的显存资源分配方法,可以应用于如图1所示的应用环境中。其中,虚拟化架构创建主虚拟机,从物理GPU(Graphics Processing Unit,图形处理器)中为主虚拟机分配显存空间,然后基于主虚拟机创建客虚拟机,从主虚拟机中划分显存空间分配至客虚拟机。其中,在各客虚拟机中进行显存空间的动态监控和分配,具体通过获取主虚拟机的当前剩余显存空间和客虚拟机的显存利用率,根据客虚拟机的显存利用率确定是否满足显存分配条件,并在满足分配条件且主虚拟机的当前剩余显存空间大小剩余显存空间阈值时,从主虚拟机中划分显存分配到满足分配条件的客虚拟机。
在一个实施例中,如图2所示,提供了一种基于GPU虚拟化技术的显存资源分配方法,以该方法应用于图1中的终端为例进行说明,包括步骤S210至步骤S230。
步骤S210,获取各虚拟机的显存信息。
其中,显存信息包括:主虚拟机的当前剩余显存空间大小和客虚拟机的显存利用率。
在本实施例中,虚拟机包括主虚拟机和客虚拟机;虚拟化架构创建主虚拟机,从物理GPU中分配显存空间作为主虚拟机的显存空间;然后创建客虚拟机,并从主虚拟机中划分显存空间分配作为客虚拟机的显存空间。在一个实施例中,应用程序不在主虚拟机上运行,减少系统负担。
当前剩余显存空间大小是指虚拟机的当前剩余可用的显存空间大小;显存利用率是指已使用显存空间占所在虚拟机的总显存空间的比例。在一个实施例中,主虚拟机和客虚拟机中均设置有显存监视器,对所在虚拟机的显存使用情况进行监控,;在虚拟化架构中设置监控器与各虚拟机的显存监视器进行通信,用于获取主虚拟机的当前剩余显存空间大小和客虚拟机的显存利用率。
步骤S220,根据显存利用率确定是否满足显存分配条件。
显存利用率是已使用显存空间占所有显存空间的比例,可以理解地,显存利用率过高时,系统性能会下降,因此在本实施例中,利用显存利用率判断客虚拟机是否满足显存分配条件。在一个实施例中,客虚拟机的显存利用率超出一定值,则判定显存利用率满足显存分配条件。
在一个实施例中,如图3所示,根据显存利用率确定是否满足显存分配条件包括步骤S221至步骤S223。
步骤S221,读取客虚拟机对应的利用率最大阈值。
步骤S222,将客虚拟机的显存利用率与利用率最大阈值进行比较。
步骤S223,若客虚拟机的显存利用率大于或者等于利用率最大阈值,判定为满足显存分配条件。
其中,利用率最大阈值用于对客虚拟机的显存利用率进行限制,客虚拟机的显存利用率超出利用率最大阈值时,系统性能可能受到影响。在本实施例中,将获取的客虚拟机的显存利用率与对应的利用率最大阈值进行比较,若确定客虚拟机的显存利用率大于或者等于利用率最大阈值,则触发为该客虚拟机分配显存空间的过程,即判定为满足显存分配条件。在一个实施例中,包括多个客虚拟机,其中任意一个客虚拟机的显存利用率达到利用率最大阈值,均判定为满足显存分配条件。
在一个实施例中,各客虚拟机的利用率最大阈值可根据实际情况设置为相同或者不同。利用率最大阈值可以根据实际情况进行设置,例如客虚拟机的利用率最大阈值设置为85%或90%,在其它实施例中,也可以是设置为其它值。
本实施例中,利用客虚拟机对应的显存利用率最大阈值与客虚拟机的显存利用率进行比较,来判断客虚拟机是否满足显存分配条件,在客虚拟机的显存利用率较高时对客虚拟机的显存空间进行调整,避免客虚拟机的显存利用率过高而导致系统性能下降的问题。
步骤S230,若满足显存分配条件,且主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
在确定客虚拟机满足显存分配条件时,需为对应的客虚拟机分配显存空间,在本实施例中,需从主虚拟机中划分显存空间分配至客虚拟机,因此在进行划分之前,对于主虚拟机的剩余显存空间进行判断,确保主虚拟机存在足够的显存空间为客虚拟机分配显存空间。进一步地,对于主虚拟机的虚拟空间进行判断包括将主虚拟机的当前剩余显存空间大小与剩余显存空间阈值进行比较,若主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,则表示可以进行为客虚拟机的动态显存空间分配的过程,即从主虚拟机中划分目标数值的显存空间空间,分配至满足显存分配条件的客虚拟机。
进一步地,目标数值可以是固定的,也可以根据实际情况进行设定。在一个实施例中,若目标数值为固定,即在客虚拟机的利用率较高时,每次为客虚拟机划分固定数值大小的显存空间,然后重新对客虚拟机当前的显存利用率进行检测和判断,若客虚拟机的显存利用率仍满足显存分配条件,则在主虚拟机的剩余显存空间满足条件时,对该客虚拟机再次分配固定数值的显存空间。在另一个实施例中,若目标数值为每次根据实际情况设定,在确定客虚拟机的显存利用率满足显存分配条件时,根据当前客虚拟机的显存利用率确定需要分配的显存空间大小。获取客虚拟机的基本显存利用率阈值,基于基本显存利用率阈值和当前显存利用率确定需要为客虚拟机分配的显存空间大小;例如在一个具体实施例中,当前显存利用率为90%,基本显存利用率为80%,则需要为客虚拟机分配的目标数值=(90%-80%)*当前显存空间大小。
更进一步地,在一个实施例中,剩余显存空间阈值可以根据实际情况进行设置,例如设置为需要为客虚拟机划分的显存空间的大小,即目标数值。在其它实施例中,剩余显存空间阈值也可以设置为其它数值。在为客虚拟机动态划分显存空间之前对主虚拟机中的当前剩余显存空间进行检查,确保主虚拟机中剩余的显存空间足够完成本次动态分配显存空间的过程。
在一个实施例中,主虚拟机中设置有显存资源池,在划分主虚拟机的显存空间至客虚拟机时,从主虚拟机的显存资源池中划分对应大小的显存空间分配至客虚拟机。其中,从主虚拟机中划分显存空间分配至满足显存分配条件的客虚拟机可通过任意一种方式实现。在一个实施例中,通过将主虚拟机的显存资源池中划定一定显存资源,将该部分显存资源释放至GPU中,并由GPU将该部分显存资源归属至客虚拟机中。
在一个实施例中,因为CPU能通过访问内存映射I/O地址空间的一段特殊地址空间Apeture能访问到一部分显存地址空间,因此虚拟机的显存地址空间被分为两段:一段是能够被GPU和CPU同时访问到的显存地址空间,称为低位显存地址空间,另一段位仅能被GPU访问到的显存地址空间,称为高位显存地址空间。如图4所示为显存地址空间的结构示意图。由于对低位显存地址空间操作时会被CPU访问,此时进行动态显存分配会极大提高系统负载,因此在一个实施例中,对于显存地址空间中的低位显存地址空间采用静态分配显存空间的方式,在创建虚拟机时直接分配固定大小的显存空间。而对于仅能被GPU访问到的高位显存地址空间,则采用动态显存分配的方式。
上述基于GPU虚拟化技术的显存资源分配方法,获取主虚拟机的当前剩余显存空间和客虚拟机的显存利用率,根据客虚拟机的显存利用率确定是否满足显存分配条件,并在满足分配条件且主虚拟机的当前剩余显存空间大小剩余显存空间阈值时,从主虚拟机中划分显存分配到满足分配条件的客虚拟机。上述方法,对于虚拟机的显存空间的使用,动态的获取客虚拟机的显存利用率,在显存利用率达到一定条件时,从主虚拟机中划分显存分配至客虚拟机,尽量保证虚拟机的显存空间充足,减少了对空闲显存资源的浪费,使整个虚拟域环境运行稳定,提升整体的系统性能。
在一个实施例中,显存信息还包括客虚拟机的当前显存空间大小;在本实施例中,如图5所示,方法还包括步骤S510至步骤S530。
步骤S510,若满足显存分配条件,且主虚拟机的当前剩余显存空间大小小于剩余显存空间阈值,根据客虚拟机的显存利用率确定是否满足显存回收条件。
在本实施例中,主虚拟机的当前剩余显存空间小于剩余显存空间阈值,表示当前主虚拟机中无法完成本次对客虚拟机的动态显存空间的分配,因此触发显存回收机制,通过对客虚拟机的显存利用率进行判断,若客虚拟机显存利用率较低,则可以从客虚拟机中回收部分显存空间至主虚拟机。显存回收在本实施例中表示的是从客虚拟机中回收空闲的显存空间,归还至主虚拟机中。
步骤S520,若满足显存回收条件,从客虚拟机中确定回收显存空间大小。
在一个实施例中,若存在显存利用率小于利用率最大阈值的客虚拟机,判定为满足显存回收条件;若存在多个客虚拟机,任意一个客虚拟机显存利用率小于利用率最大阈值,即判定为满足显存回收条件。在另一个实施例中,也可以将显存回收条件中的阈值设置为其它值,例如利用率最大阈值为85%,若显存利用率小于80%的客虚拟机判定为满足显存回收条件。在其它实施例中,显存回收条件中的阈值还可以设定为其它值。
回收显存空间大小为从满足显存回收条件的客虚拟机中回收的显存空间大小。若客虚拟机满足显存回收条件,则先确定客虚拟机中可回收的显存空间大小,即为本实施例中的回收显存空间大小。
在一个实施例中,显存信息还包括客虚拟机的当前显存空间大小;在本实施例中,如图6所示,从客虚拟机中确定回收显存空间大小,包括步骤S521至步骤S524。
步骤S521,读取客虚拟机的基本显存利用率。
其中,基本显存利用率是指对于客虚拟机设置的必须保证的显存空间利用率,通常将客虚拟机的显存利用率控制在基本显存利用率以下,可保证系统性能较高。基本显存利用率的具体数值可根据实际情况设置。例如在一个实施例中,基本显存利用率可以设置为客虚拟机的当前显存空间大小的80%。其中,基本显存利用率通常小于或者等于对应客虚拟机的利用率最大阈值。
步骤S522,根据客虚拟机的当前显存空间大小、显存利用率和基本显存利用率,确定可预回收显存空间大小。
客虚拟机的当前显存空间大小是指客虚拟机当前全部显存空间大小;在一个实施例中,当前显存空间大小包括低位显存地址空间和地位显存地址空间对应的显存空间大小。
在一个实施例中,根据客虚拟机的当前显存空间大小、显存利用率和基本显存利用率,确定可预回收显存空间大小,包括:计算基本显存利用率与显存利用率的差值,计算当前显存空间大小与差值的乘积,将乘积确定为可预回收显存空间大小。以Mi表示当前显存空间大小,Ui表示显存利用率,以基本显存空间利用率为80%为例,可预回收显存空间大小Mpre=Mi*(80%-Ui)。
步骤S523,若客虚拟机的当前显存空间大小与可预回收显存空间大小的差值大于基本显存空间阈值,将可预回收显存空间大小确定为回收显存空间大小。
其中,基本显存空间阈值表示客虚拟机的显存空间的限制。由于虚拟机的显存空间低于一定数值时,可能会引发系统问题,因此在本实施例中,需保证虚拟机被回收部分显存空间之后,剩余的显存空间大于该数值,即本实施例中的基本显存空间阈值。若剩余显存空间大于基本显存空间阈值,表示可以按照可预回收显存空间进行显存回收。基本显存空间阈值可根据实际情况进行设置;例如在一个具体实施例中,基本显存空间阈值设置为512MB。
确定客虚拟机的可预回收显存空间大小之后,对于按照可预回收显存空间大小对该客虚拟机进行显存回收之后,客虚拟机的剩余显存空间是否满足条件进行判断,若满足,则可以按照可预回收显存空间大小进行显存回收,即将可预回收显存空间大小作为回收显存空间大小。在本实施例中,客虚拟机的剩余显存空间需满足的条件为大于基本显存空间阈值。
步骤S524,若客虚拟机的当前显存空间大小与可预回收显存空间大小的差值小于基本显存空间阈值,将客虚拟机的当前显存空间大小与基本显存空间阈值的差值确定为回收显存空间大小。
若按照可预回收显存空间大小对客虚拟机进行显存回收之后,客虚拟机的剩余显存空间小于基本显存空间阈值,则表示无法按照可预回收显存空间大小对客虚拟机进行显存回收。此时在本实施例中,将客虚拟机的当前显存空间大小与基本显存空间阈值的差值作为回收显存空间大小。
本实施例中,通过设置基本显存空间阈值和基本显存利用率,对客虚拟机进行显存回收时,利用该两个数值确定实际需要回收的客虚拟机的显存空间大小,避免对客虚拟机进行显存回收之后,客虚拟机剩余的显存空间不足,导致系统性能下降。
步骤S530,将客虚拟机中回收显存空间大小对应的显存空间回收至主虚拟机。
将客虚拟机中回收显存空间大小对应的显存空间回收至主虚拟机可以通过任意一种方式实现。
在一个实施例中,如图7所示,在将客虚拟机中回收显存空间大小对应的显存空间回收至主虚拟机之后,还包括步骤S710和步骤S720。
步骤S710,获取主虚拟机的当前剩余显存空间大小。
步骤S720,若主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机的显存资源分配池中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
在从客虚拟机中回收部分显存空间之后,若主虚拟机的剩余显存空间大于剩余显存空间阈值,即可以进行对满足显存分配条件的客虚拟机进行动态显存分配,此时进入为客虚拟机分配目标数值的显存空间的步骤。
进一步地,在一个实施例中,还包括:若主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,停止从客虚拟机中回收显存空间。
本实施例中,在从客虚拟机中回收部分显存之后,若主虚拟机的剩余显存空间内存足够,则停止从客虚拟机中回收显存空间,并从主虚拟机中划分目标数值对应的显存空间分配至满足显存分配条件的客虚拟机,实现了对满足显存分配条件的客虚拟机的显存空间大小的目的。
在一个实施例中,在根据客虚拟机的显存利用率确定是否满足显存回收条件之后,还包括:若存在多个客虚拟机满足显存回收条件,将满足显存回收条件的各客虚拟机按照显存利用率从低至高进行排序,得到排序列表;依次从排序列表中选取目标客虚拟机进行显存回收。
若存在多个客虚拟机满足显存回收条件,按照显存利用率的大小进行排序,显存利用率较低排序靠前,优先从显存利用率较低的客虚拟机开始回收显存空间。
在另一个实施例中,在获取各虚拟机的显存信息之前,还包括:创建主虚拟机、客虚拟机;为主虚拟机分配初始显存空间;为客虚拟机分配初始显存空间,客虚拟机的分配初始显存空间大于基本显存空间阈值。
初始显存空间指的是一开始创建虚拟机时为虚拟机分配的显存空间。在本实施例中,创建主虚拟机时,为主虚拟机分配初始显存空间,而创建客虚拟机时,从主虚拟机中划分显存空间分配给客虚拟机。
在一个实施例中,客虚拟机包括低位显存地址空间和高位显存地址空间,为低位显存地址空间分配固定的显存空间,为高位显存地址空间分配初始显存空间,在后续使用中对高位显存空间实时监控和动态的分配显存空间。
在一个实施例中,为客虚拟机分配的初始显存空间不低于基本显存空间阈值,在一个具体实施例中,基本显存空间阈值设置为512MB;进一步地,对客虚拟机的低位显存地址空间分配的初始显存空间不低于128MB的低位显存,为高位显存地址的显存空间分配不低于384MB显存空间。设置为在其它实施例中,初始显存空间的分配范围也可以设置为其它数值。通过设定初始显存空间的最低值,可更好的保证系统性能。
如图8所示为一个具体实施例中,上述基于GPU虚拟化技术的显存资源分配方法的完成流程示意图。在本实施例中,基于GPU虚拟化技术的显存资源分配方法包括以下步骤:
由于对低位显存地址空间操作时会被CPU访问,此时进行动态显存分配会极大提高系统负载,所以低位显存默认为静态分配,即创建虚拟机时直接分配固定大小显存。动态显存分配只应用于高位显存地址空间。
由于在虚拟化环境下当高位显存充足时,低位显存低于128MB时,会引发系统问题,同样的,当低位显存充足时,高位显存低于384MB时,系统性能也会发生问题。所以初始配置的虚拟机低位显存与高位显存分别至少为128MB和384MB,即初始虚拟机总显存至少为512MB。
在虚拟域环境中,先创建一个优先级最高的虚拟机,称之为主虚拟机,其后基于主虚拟机创建的虚拟机称之为客虚拟机。客虚拟机的显存资源都是由主虚拟机提供,所以创建主虚拟机时要尽可能多的分配显存资源,以维持所有虚拟机对显存资源的需求。主虚拟机分配给初始客虚拟机的显存大小固定为512MB以维持基本的系统性能,即先静态分配128MB的低位显存和384MB的高位显存。主虚拟机主要功能为分配协调各虚拟机的显存大小,应用程序不在主虚拟机上运行,减少系统负担。
在主虚拟机和每一个客虚拟机上安装显存监视器,负责收集各虚拟机当前时间节点的各虚拟机显存利用率Ui和显存地址空间大小M。主虚拟机中存在一个显存分配器,将主虚拟机的显存资源分配给需要显存资源的客虚拟机。主虚拟机拥有一个存储大小为Mpool显存资源分配池。在虚拟化架构监控器中设置显存回收器,用于从客虚拟机中回收部分显存空间。
通过显存监视器获取客虚拟机的显存利用率U,若U大于85%(上述利用率最大阈值)时,判定满足显存分配条件,触发动态显存分配。若Mpool≥64MB,为触发动态显存分配的客虚拟机,每一次从主虚拟机的显存资源池中分配64MB的显存空间,分配至触发动态显存分配的客虚拟机的高位显存地址空间。若Mpool<64MB(上述剩余显存空间阈值)时,触发显存回收。
触发显存回收时,通过显存回收器回收客虚拟机的空闲高位地址显存空间。具体包括步骤:遍历各客虚拟机,根据当前显存大小Mi由大到小标记各客虚拟机i,其显存利用率Ui也对应为U1、U2...Un,若Ui<85%,进行显存回收;若Ui>85%,不进行显存回收。具体显存回收算法为(本实施例中,以基本显存利用率为80%为例):首先计算出客虚拟机i的可预回收显存Mpre=Mi*(80%-Ui),若回收后剩余显存Mlefti=Mi-Mpre>512MB,则实际回收显存Mreali=Mpre;若Mi-Mpre<512MB,则实际回收显存Mreali=Mi-512MB;回收后主虚拟机显存资源池显存大小Mpool(t+1)=Mpool(t)+Mreali,t为当前时间节点。若Mpool(t+1)>64MB,终止整个显存回收模块运行,若Mpool(t+1)<64MB,继续对客虚拟机i+1进行显存回收操作。由客虚拟机1、2...n依次进行显存回收操作。
当显存监视模块监测到某客虚拟机显存利用率达到了阈值85%,若此时显存资源池资源充足(剩余显存资源大于64MB),直接启用存于主虚拟机的显存分配模块将显存分配给客虚拟机。若显存资源池资源不足(剩余显存资源小于64MB),启用显存回收模块,回收足够的显存资源到主虚拟机,使显存分配模块其能进行显存分配操作。若显存利用率仍未降下85%,继续进行如上操作。
本申请提出了一种对于GPU虚拟化中显存的动态分配方案,合理回收空闲的虚拟机显存资源,有效利用有限的显存资源。通过上述方法对虚拟机分配显存空间,能高效且公平分配的物理GPU显存资源,减少了对空闲显存资源的浪费,使整个虚拟域环境运行稳定,提升了整体的系统性能;同时降低了创建虚拟机的最低显存需求,提高了同时运行的虚拟机数量。
应该理解的是,虽然上述实施例中所涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例中所涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种基于GPU虚拟化技术的显存资源分配装置,包括:显存监控模块910、判断模块920和显存分配模块930,其中:
显存监控模块910,用于获取各虚拟机的显存信息,显存信息包括:主虚拟机的当前剩余显存空间大小和客虚拟机的显存利用率;
判断模块920,用于根据显存利用率确定是否满足显存分配条件;
显存分配模块930,用于若满足显存分配条件,且主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机的显存资源分配池中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
上述基于GPU虚拟化技术的显存资源分配装置,获取主虚拟机的当前剩余显存空间和客虚拟机的显存利用率,根据客虚拟机的显存利用率确定是否满足显存分配条件,并在满足分配条件且主虚拟机的当前剩余显存空间大小剩余显存空间阈值时,从主虚拟机中划分显存分配到满足分配条件的客虚拟机。上述方法,对于虚拟机的显存空间的使用,动态的获取客虚拟机的显存利用率,在显存利用率达到一定条件时,从主虚拟机中划分显存分配至客虚拟机,尽量保证虚拟机的显存空间充足,减少了对空闲显存资源的浪费,使整个虚拟域环境运行稳定,提升整体的系统性能。
在一个实施例中,上述装置的判断模块920包括:阈值读取单元,用于读取客虚拟机对应的利用率最大阈值;比较单元,用于将客虚拟机的显存利用率与利用率最大阈值进行比较;上述判断模块920具体用于若客虚拟机的显存利用率大于或者等于利用率最大阈值,判定为满足显存分配条件。
在一个实施例中,上述装置还包括:判断模块,用于若满足显存分配条件,且主虚拟机的当前剩余显存空间大小小于剩余显存空间阈值,根据客虚拟机的显存利用率确定是否满足显存回收条件;回收空间大小确定模块,用于若满足显存回收条件,从客虚拟机中确定回收显存空间大小;显存回收模块,用于将客虚拟机中回收显存空间大小对应的显存空间回收至主虚拟机。
在一个实施例中,上述装置显存监控模块910,还用于:获取主虚拟机的当前剩余显存空间大小;上述显存分配模块930还用于:若主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机的显存资源分配池中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
在一个实施例中,显存信息还包括客虚拟机的当前显存空间大小;上述装置的回收空间大小确定模块,包括:数据读取单元,用于读取客虚拟机的基本显存利用率;显存空间大小确定单元,用于根据客虚拟机的当前显存空间大小、显存利用率和基本显存利用率,确定可预回收显存空间大小;在本实施例中,上述回收空间大小确定模块具体用于:若客虚拟机的当前显存空间大小与可预回收显存空间大小的差值大于基本显存空间阈值,将可预回收显存空间大小确定为回收显存空间大小;若客虚拟机的当前显存空间大小与可预回收显存空间大小的差值小于基本显存空间阈值,将客虚拟机的当前显存空间大小与基本显存空间阈值的差值确定为回收显存空间大小。
在一个实施例中,上述装置还包括:排序模块,用于若存在多个客虚拟机满足显存回收条件,将满足显存回收条件的各客虚拟机按照显存利用率从低至高进行排序,得到排序列表;上述显存回收模块,还用于依次从排序列表中选取目标客虚拟机进行显存回收。
在一个实施例中,上述装置还包括:虚拟机创建模块,用于创建主虚拟机、客虚拟机;初始显存空间分配模块,用于为主虚拟机分配初始显存空间;为客虚拟机分配初始显存空间,客虚拟机的分配初始显存空间大于基本显存空间阈值。
关于基于GPU虚拟化技术的显存资源分配装置的具体限定可以参见上文中对于基于GPU虚拟化技术的显存资源分配方法的限定,在此不再赘述。上述基于GPU虚拟化技术的显存资源分配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于GPU虚拟化技术的显存资源分配方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取各虚拟机的显存信息,显存信息包括:主虚拟机的当前剩余显存空间大小和客虚拟机的显存利用率;根据显存利用率确定是否满足显存分配条件;若满足显存分配条件,且主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:读取客虚拟机对应的利用率最大阈值;将客虚拟机的显存利用率与利用率最大阈值进行比较;若客虚拟机的显存利用率大于或者等于利用率最大阈值,判定为满足显存分配条件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若满足显存分配条件,且主虚拟机的当前剩余显存空间大小小于剩余显存空间阈值,根据客虚拟机的显存利用率确定是否满足显存回收条件;若满足显存回收条件,从客虚拟机中确定回收显存空间大小;将客虚拟机中回收显存空间大小对应的显存空间回收至主虚拟机。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取主虚拟机的当前剩余显存空间大小;若主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机的显存资源分配池中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:读取客虚拟机的基本显存利用率;根据客虚拟机的当前显存空间大小、显存利用率和基本显存利用率,确定可预回收显存空间大小;若客虚拟机的当前显存空间大小与可预回收显存空间大小的差值大于基本显存空间阈值,将可预回收显存空间大小确定为回收显存空间大小;若客虚拟机的当前显存空间大小与可预回收显存空间大小的差值小于基本显存空间阈值,将客虚拟机的当前显存空间大小与基本显存空间阈值的差值确定为回收显存空间大小。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若存在多个客虚拟机满足显存回收条件,将满足显存回收条件的各客虚拟机按照显存利用率从低至高进行排序,得到排序列表;依次从排序列表中选取目标客虚拟机进行显存回收。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:创建主虚拟机、客虚拟机;为主虚拟机分配初始显存空间;为客虚拟机分配初始显存空间,客虚拟机的分配初始显存空间大于基本显存空间阈值。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取各虚拟机的显存信息,显存信息包括:主虚拟机的当前剩余显存空间大小和客虚拟机的显存利用率;根据显存利用率确定是否满足显存分配条件;若满足显存分配条件,且主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:读取客虚拟机对应的利用率最大阈值;将客虚拟机的显存利用率与利用率最大阈值进行比较;若客虚拟机的显存利用率大于或者等于利用率最大阈值,判定为满足显存分配条件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若满足显存分配条件,且主虚拟机的当前剩余显存空间大小小于剩余显存空间阈值,根据客虚拟机的显存利用率是否满足显存回收条件;若满足显存回收条件,从客虚拟机中确定回收显存空间大小;将客虚拟机中回收显存空间大小对应的显存空间回收至主虚拟机。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取主虚拟机的当前剩余显存空间大小;若主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机的显存资源分配池中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:读取客虚拟机的基本显存利用率;根据客虚拟机的当前显存空间大小、显存利用率和基本显存利用率,确定可预回收显存空间大小;若客虚拟机的当前显存空间大小与可预回收显存空间大小的差值大于基本显存空间阈值,将可预回收显存空间大小确定为回收显存空间大小;若客虚拟机的当前显存空间大小与可预回收显存空间大小的差值小于基本显存空间阈值,将客虚拟机的当前显存空间大小与基本显存空间阈值的差值确定为回收显存空间大小。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若存在多个客虚拟机满足显存回收条件,将满足显存回收条件的各客虚拟机按照显存利用率从低至高进行排序,得到排序列表;依次从排序列表中选取目标客虚拟机进行显存回收。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:创建主虚拟机、客虚拟机;为主虚拟机分配初始显存空间;为客虚拟机分配初始显存空间,客虚拟机的分配初始显存空间大于基本显存空间阈值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于GPU虚拟化技术的显存资源分配方法,其特征在于,所述方法包括:
获取各虚拟机的显存信息,所述显存信息包括:主虚拟机的当前剩余显存空间大小和客虚拟机的显存利用率;
根据所述显存利用率确定是否满足显存分配条件;
若满足所述显存分配条件,且所述主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机;
所述方法还包括:
若满足显存分配条件,且所述主虚拟机的当前剩余显存空间大小小于所述剩余显存空间阈值,根据所述客虚拟机的显存利用率确定是否满足显存回收条件;若满足显存回收条件,从所述客虚拟机中确定回收显存空间大小;将所述客虚拟机中回收显存空间大小对应的显存空间回收至所述主虚拟机;
所述显存信息还包括所述客虚拟机的当前显存空间大小;所述从所述客虚拟机中确定回收显存空间大小,包括:
读取所述客虚拟机的基本显存利用率;根据所述客虚拟机的当前显存空间大小、显存利用率和基本显存利用率,确定可预回收显存空间大小;若所述客虚拟机的当前显存空间大小与所述可预回收显存空间大小的差值大于基本显存空间阈值,将所述可预回收显存空间大小确定为所述回收显存空间大小;若所述客虚拟机的当前显存空间大小与所述可预回收显存空间大小的差值小于所述基本显存空间阈值,将所述客虚拟机的当前显存空间大小与所述基本显存空间阈值的差值确定为所述回收显存空间大小。
2.根据权利要求1所述的方法,其特征在于,所述根据所述显存利用率确定是否满足显存分配条件包括:
读取客虚拟机对应的利用率最大阈值;
将所述客虚拟机的显存利用率与利用率最大阈值进行比较;
若所述客虚拟机的显存利用率大于或者等于所述利用率最大阈值,判定为满足显存分配条件。
3.根据权利要求1所述的方法,其特征在于,在将所述客虚拟机中回收显存空间大小回收至所述主虚拟机之后,还包括:
获取所述主虚拟机的当前剩余显存空间大小;
若所述主虚拟机的当前剩余显存空间大小大于所述剩余显存空间阈值,从主虚拟机的显存资源分配池中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
4.根据权利要求1所述的方法,其特征在于,在根据所述客虚拟机的显存利用率确定是否满足显存回收条件之后,还包括:
若存在多个客虚拟机满足显存回收条件,将满足显存回收条件的各客虚拟机按照显存利用率从低至高进行排序,得到排序列表;
依次从所述排序列表中选取目标客虚拟机进行显存回收。
5.根据权利要求1至4任意一项所述的方法,其特征在于,在获取各虚拟机的显存信息之前,还包括:
创建主虚拟机、客虚拟机;
为所述主虚拟机分配初始显存空间;
为所述客虚拟机分配初始显存空间,所述客虚拟机的分配初始显存空间大于基本显存空间阈值。
6.一种基于GPU虚拟化技术的显存资源分配装置,其特征在于,所述装置包括:
显存监控模块,用于获取各虚拟机的显存信息,所述显存信息包括:主虚拟机的当前剩余显存空间大小和客虚拟机的显存利用率;
判断模块,用于根据所述显存利用率确定是否满足显存分配条件;
显存分配模块,用于若满足所述显存分配条件,且所述主虚拟机的当前剩余显存空间大小大于剩余显存空间阈值,从主虚拟机的显存资源分配池中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机;
所述判断模块,还用于若满足显存分配条件,且所述主虚拟机的当前剩余显存空间大小小于所述剩余显存空间阈值,根据所述客虚拟机的显存利用率确定是否满足显存回收条件;
还包括:回收空间大小确定模块,用于若满足显存回收条件,从所述客虚拟机中确定回收显存空间大小;显存回收模块,用于将所述客虚拟机中回收显存空间大小对应的显存空间回收至所述主虚拟机;
所述显存信息还包括所述客虚拟机的当前显存空间大小;所述回收空间大小确定模块,还用于:
读取所述客虚拟机的基本显存利用率;根据所述客虚拟机的当前显存空间大小、显存利用率和基本显存利用率,确定可预回收显存空间大小;若所述客虚拟机的当前显存空间大小与所述可预回收显存空间大小的差值大于基本显存空间阈值,将所述可预回收显存空间大小确定为所述回收显存空间大小;若所述客虚拟机的当前显存空间大小与所述可预回收显存空间大小的差值小于所述基本显存空间阈值,将所述客虚拟机的当前显存空间大小与所述基本显存空间阈值的差值确定为所述回收显存空间大小。
7.根据权利要求6所述的装置,其特征在于,所述判断模块用于:
读取客虚拟机对应的利用率最大阈值;将所述客虚拟机的显存利用率与利用率最大阈值进行比较;若所述客虚拟机的显存利用率大于或者等于所述利用率最大阈值,判定为满足显存分配条件。
8.根据权利要求6所述的装置,其特征在于,所述显存监控模块,还用于获取所述主虚拟机的当前剩余显存空间大小;
所述显存分配模块,还用于若所述主虚拟机的当前剩余显存空间大小大于所述剩余显存空间阈值,从主虚拟机的显存资源分配池中划分目标数值的显存空间,分配至满足显存分配条件的客虚拟机。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110077158.9A CN112732449B (zh) | 2021-01-20 | 2021-01-20 | 基于gpu虚拟化技术的显存资源分配方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110077158.9A CN112732449B (zh) | 2021-01-20 | 2021-01-20 | 基于gpu虚拟化技术的显存资源分配方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732449A CN112732449A (zh) | 2021-04-30 |
CN112732449B true CN112732449B (zh) | 2024-04-09 |
Family
ID=75593719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110077158.9A Active CN112732449B (zh) | 2021-01-20 | 2021-01-20 | 基于gpu虚拟化技术的显存资源分配方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732449B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702843B1 (en) * | 2006-04-27 | 2010-04-20 | Vmware, Inc. | Determining memory conditions in a virtual machine |
EP2645246A1 (en) * | 2012-03-27 | 2013-10-02 | Hitachi Ltd. | Method and apparatus of memory management by storage system |
WO2014100558A1 (en) * | 2012-12-20 | 2014-06-26 | Vmware, Inc. | Dynamic allocation of physical graphics processing units to virtual machines |
CN105677485A (zh) * | 2016-01-08 | 2016-06-15 | 中电科华云信息技术有限公司 | 云桌面主机和虚拟机的内存动态调整方法 |
CN107273212A (zh) * | 2017-06-23 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种动态分配内存的方法及系统 |
CN108958891A (zh) * | 2018-07-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种虚拟机内存分配方法、装置及终端 |
US10176550B1 (en) * | 2017-03-20 | 2019-01-08 | Nutanix, Inc. | GPU resource usage display and dynamic GPU resource allocation in a networked virtualization system |
CN109766179A (zh) * | 2017-11-09 | 2019-05-17 | 阿里巴巴集团控股有限公司 | 一种显存分配方法以及装置 |
WO2020244300A1 (zh) * | 2019-06-05 | 2020-12-10 | 中兴通讯股份有限公司 | 一种降低虚拟机集群功耗的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949295B2 (en) * | 2006-09-21 | 2015-02-03 | Vmware, Inc. | Cooperative memory resource management via application-level balloon |
US8161260B2 (en) * | 2009-02-09 | 2012-04-17 | Oracle International Corporation | Optimal memory allocation for guested virtual machine(s) |
US9996393B2 (en) * | 2015-11-19 | 2018-06-12 | International Business Machines Corporation | Dynamic virtual processor manager |
US10359947B2 (en) * | 2017-07-25 | 2019-07-23 | Ca, Inc. | Reclaiming memory pages |
-
2021
- 2021-01-20 CN CN202110077158.9A patent/CN112732449B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702843B1 (en) * | 2006-04-27 | 2010-04-20 | Vmware, Inc. | Determining memory conditions in a virtual machine |
EP2645246A1 (en) * | 2012-03-27 | 2013-10-02 | Hitachi Ltd. | Method and apparatus of memory management by storage system |
WO2014100558A1 (en) * | 2012-12-20 | 2014-06-26 | Vmware, Inc. | Dynamic allocation of physical graphics processing units to virtual machines |
CN105677485A (zh) * | 2016-01-08 | 2016-06-15 | 中电科华云信息技术有限公司 | 云桌面主机和虚拟机的内存动态调整方法 |
US10176550B1 (en) * | 2017-03-20 | 2019-01-08 | Nutanix, Inc. | GPU resource usage display and dynamic GPU resource allocation in a networked virtualization system |
CN107273212A (zh) * | 2017-06-23 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种动态分配内存的方法及系统 |
CN109766179A (zh) * | 2017-11-09 | 2019-05-17 | 阿里巴巴集团控股有限公司 | 一种显存分配方法以及装置 |
CN108958891A (zh) * | 2018-07-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种虚拟机内存分配方法、装置及终端 |
WO2020244300A1 (zh) * | 2019-06-05 | 2020-12-10 | 中兴通讯股份有限公司 | 一种降低虚拟机集群功耗的方法及装置 |
Non-Patent Citations (2)
Title |
---|
A Virtual Multi-Channel GPU Fair Scheduling Method for Virtual Machines;Huailiang Tan etal.;《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》;第第30卷卷(第第2期期);第257-270页 * |
基于云计算平台的虚拟机内存管理系统;韩高帅;程知群;章超;;《电子世界》(21);第67-68页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112732449A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3514689B1 (en) | Memory management method and apparatus | |
WO2017050028A1 (zh) | 一种固态硬盘的数据擦除方法及装置 | |
US12086432B2 (en) | Gradually reclaim storage space occupied by a proof of space plot in a solid state drive | |
US10261918B2 (en) | Process running method and apparatus | |
CN111679914B (zh) | 一种内存管理方法、系统、计算机设备及存储介质 | |
CN112579251B (zh) | 虚拟机内存管理的方法及设备 | |
CN111522659B (zh) | 一种空间使用方法和装置 | |
CN111651236A (zh) | 虚拟机内存优化处理方法及相关装置 | |
CN103365784B (zh) | 内存回收与分配的方法及装置 | |
US11188370B2 (en) | Memory scheduler using guest-originated statistics | |
CN114168490A (zh) | 确定内存回收阈值的方法及相关设备 | |
WO2024099448A1 (zh) | 内存释放、内存恢复方法、装置、计算机设备及存储介质 | |
CN115048216A (zh) | 一种人工智能集群的资源管理调度方法、装置和设备 | |
CN115509953A (zh) | 内存回收方法及其装置 | |
CN111399988A (zh) | 一种云平台的内存安全检测系统及方法 | |
US10846023B2 (en) | Storage device and storage area management method for reducing garbage collection processing | |
CN107912063A (zh) | 一种内存回收方法及装置 | |
CN112732449B (zh) | 基于gpu虚拟化技术的显存资源分配方法、装置及设备 | |
CN117687569A (zh) | 磁盘性能优化方法、系统、电子设备及存储介质 | |
CN108334401B (zh) | 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法 | |
CN113849311B (zh) | 内存空间管理方法、装置、计算机设备和存储介质 | |
CN111813708A (zh) | 用于存储装置的块映射系统和方法 | |
CN109815192B (zh) | 一种嵌入式系统内存管理方法及装置 | |
US20130332661A1 (en) | Information processing apparatus and method and program | |
CN111858057B (zh) | 运行内存的分配方法、装置、计算机设备以及存储介质 |
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 |