System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机,尤其涉及一种内存分配方法、装置、电子设备和存储介质。
技术介绍
1、gpu(graphics processing unit,图形处理器)作为有计算能力的处理器,包括计算单元和存储单元。其中,计算单元完成下发给gpu的各种计算任务。在计算单元完成计算任务的过程中,计算单元需要访问数据,且需要保存计算单元的计算结果和计算过程产生的临时数据,因此,存储单元也是gpu的重要组成部分。在典型的计算机系统中,gpu通常作为pci(peripheral component interconnect,外设部件互连)设备,在显卡上有gpu专用的内存(即显存)。
2、目前,虚拟gpu(vgpu)的存储资源分配全部使用显存,资源利用率较低。
技术实现思路
1、本公开提供了一种内存分配技术方案。
2、根据本公开的一方面,提供了一种内存分配方法,包括:
3、响应于虚拟gpu创建请求,获取剩余显存容量和可分配系统内存剩余容量中的至少一项,以及所述虚拟gpu创建请求对应的目标内存容量,其中,所述可分配系统内存剩余容量表示允许分配给虚拟gpu的系统内存的剩余容量;
4、响应于所述剩余显存容量与所述可分配系统内存剩余容量之和大于或等于所述目标内存容量,创建虚拟gpu,并根据所述目标内存容量,从显存和/或所述系统内存中为所述虚拟gpu分配内存。
5、在一种可能的实现方式中,
6、所述响应于虚拟gpu创建请求,获取剩余显存容量和
7、所述响应于所述剩余显存容量与所述可分配系统内存剩余容量之和大于或等于所述目标内存容量,创建虚拟gpu,并根据所述目标内存容量,从显存和/或所述系统内存中为所述虚拟gpu分配内存,包括:响应于所述剩余显存容量与所述可分配系统内存剩余容量之和大于或等于所述目标内存容量,创建虚拟gpu,并根据所述目标内存容量,从显存和所述系统内存中、或者仅从所述系统内存中为所述虚拟gpu分配内存。
8、在一种可能的实现方式中,
9、所述响应于虚拟gpu创建请求,获取剩余显存容量和可分配系统内存剩余容量中的至少一项,以及所述虚拟gpu创建请求对应的目标内存容量,包括:响应于虚拟gpu创建请求,获取剩余显存容量和所述虚拟gpu创建请求对应的目标内存容量;
10、所述响应于所述剩余显存容量与所述可分配系统内存剩余容量之和大于或等于所述目标内存容量,创建虚拟gpu,并根据所述目标内存容量,从显存和/或所述系统内存中为所述虚拟gpu分配内存,包括:响应于所述剩余显存容量大于或等于所述目标内存容量,创建虚拟gpu,并根据所述目标内存容量,从显存中为所述虚拟gpu分配内存。
11、在一种可能的实现方式中,所述方法还包括:
12、响应于所述剩余显存容量小于单个内存页的大小,且所述系统内存中第一虚拟gpu的第一内存页与所述显存中第二虚拟gpu的第二内存页满足第一预设内存位置交换条件,将所述第二内存页交换至所述系统内存,并将所述第一内存页交换至所述显存。
13、在一种可能的实现方式中,所述第一预设内存位置交换条件包括:
14、所述第一虚拟gpu的优先级高于所述第二虚拟gpu的优先级。
15、在一种可能的实现方式中,所述第一预设内存位置交换条件还包括:
16、所述第一虚拟gpu为占用所述系统内存的虚拟gpu中,优先级最高的虚拟gpu。
17、在一种可能的实现方式中,所述第一预设内存位置交换条件还包括:
18、所述第一内存页为所述第一虚拟gpu在所述系统内存的内存页中,使用率最高的内存页。
19、在一种可能的实现方式中,所述第一预设内存位置交换条件还包括:
20、所述第二虚拟gpu为显存占用比例大于或等于预设比例的虚拟gpu中,优先级最低的虚拟gpu,其中,任一虚拟gpu的显存占用比例表示所述虚拟gpu所占用的显存容量与所述虚拟gpu所占用的总内存容量的比例,所述虚拟gpu所占用的总内存容量为所述虚拟gpu所占用的显存容量与系统内存容量之和;
21、或者,
22、所述第二虚拟gpu为占用所述显存的虚拟gpu中,优先级最低的虚拟gpu。
23、在一种可能的实现方式中,所述第一预设内存位置交换条件还包括:
24、所述第二内存页为所述第二虚拟gpu在所述显存的内存页中,使用率最低的内存页。
25、在一种可能的实现方式中,所述响应于所述剩余显存容量小于单个内存页的大小,且所述系统内存中第一虚拟gpu的第一内存页与所述显存中第二虚拟gpu的第二内存页满足第一预设内存位置交换条件,将所述第二内存页交换至所述系统内存,并将所述第一内存页交换至所述显存,包括:
26、通过宿主机中的虚拟机监控程序响应于所述剩余显存容量小于单个内存页的大小,且所述系统内存中第一虚拟gpu的第一内存页与所述显存中第二虚拟gpu的第二内存页满足第一预设内存位置交换条件,将所述第二内存页交换至所述系统内存,并将所述第一内存页交换至所述显存。
27、在一种可能的实现方式中,所述方法还包括:
28、响应于所述剩余显存容量大于或等于单个内存页的大小,且所述系统内存中第三虚拟gpu的第三内存页满足第二预设内存位置交换条件,将所述第三内存页交换至所述显存。
29、在一种可能的实现方式中,所述第二预设内存位置交换条件包括:
30、所述第三虚拟gpu为占用所述系统内存的虚拟gpu中,优先级最高的虚拟gpu。
31、在一种可能的实现方式中,所述第二预设内存位置交换条件还包括:
32、所述第三内存页为所述第三虚拟gpu在所述系统内存的内存页中,使用率最高的内存页。
33、在一种可能的实现方式中,所述第二预设内存位置交换条件包括:
34、所述第三内存页为各个虚拟gpu在所述系统内存的内存页中,使用率最高的内存页。
35、在一种可能的实现方式中,所述方法还包括:
36、获取超分比例,其中,所述超分比例表示虚拟gpu能够使用的系统内存的最大容量占显存容量的比例;
37、根据所述超分比例和所述显存容量,确定可分配系统内存总容量;
38、根据所述可分配系统内存总容量,申请系统内存。
39、在一种可能的实现方式中,在所述获取可分配系统内存剩余容量之后,所述方法还包括:
40、响应于所述剩余显存容量与所述可分配系统内存剩余容量之和小于所述目标内存容量,返回虚拟gpu创建失败的消息。
41、根本文档来自技高网...
【技术保护点】
1.一种内存分配方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求1所述的方法,其特征在于,
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述第一预设内存位置交换条件包括:
6.根据权利要求5所述的方法,其特征在于,所述第一预设内存位置交换条件还包括:
7.根据权利要求5或6所述的方法,其特征在于,所述第一预设内存位置交换条件还包括:
8.根据权利要求5所述的方法,其特征在于,所述第一预设内存位置交换条件还包括:
9.根据权利要求5或8所述的方法,其特征在于,所述第一预设内存位置交换条件还包括:
10.根据权利要求4所述的方法,其特征在于,所述响应于所述剩余显存容量小于单个内存页的大小,且所述系统内存中第一虚拟GPU的第一内存页与所述显存中第二虚拟GPU的第二内存页满足第一预设内存位置交换条件,将所述第二内存页交换至所述系统内存,并将所述第一内存页交换至所述显存,包括:
12.根据权利要求11所述的方法,其特征在于,所述第二预设内存位置交换条件包括:
13.根据权利要求12所述的方法,其特征在于,所述第二预设内存位置交换条件还包括:
14.根据权利要求11所述的方法,其特征在于,所述第二预设内存位置交换条件包括:
15.根据权利要求1所述的方法,其特征在于,所述方法还包括:
16.根据权利要求1所述的方法,其特征在于,在所述获取可分配系统内存剩余容量之后,所述方法还包括:
17.一种内存分配装置,其特征在于,包括:
18.一种电子设备,其特征在于,包括:
19.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至16中任意一项所述的方法。
...【技术特征摘要】
1.一种内存分配方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求1所述的方法,其特征在于,
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述第一预设内存位置交换条件包括:
6.根据权利要求5所述的方法,其特征在于,所述第一预设内存位置交换条件还包括:
7.根据权利要求5或6所述的方法,其特征在于,所述第一预设内存位置交换条件还包括:
8.根据权利要求5所述的方法,其特征在于,所述第一预设内存位置交换条件还包括:
9.根据权利要求5或8所述的方法,其特征在于,所述第一预设内存位置交换条件还包括:
10.根据权利要求4所述的方法,其特征在于,所述响应于所述剩余显存容量小于单个内存页的大小,且所述系统内存中第一虚拟gpu的第一内存页与所述显存中第二虚拟gpu的第二内存页满足第一预设内存位置...
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,
申请(专利权)人:摩尔线程智能科技北京有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。