本技术实施例涉及内存管理,尤其涉及一种内存分配方法及电子设备。
背景技术:
1、计算快速链路(compute express link,cxl)是一种高速互联技术,支持多台计算设备共同使用远端池化的内存池(如称作cxl内存池),减小了计算设备和中央处理器(central processing unit,cpu)、计算设备和计算设备之间的内存鸿沟,能够实现高速的数据传输和内存共享。
2、目前,在对cxl内存池进行内存分配时,通常是基于计算设备请求获得的内存的容量需求,来为计算设备分配满足该容量需求的内存。
3、然而,上述技术方案中,仅参考了计算设备请求获得的内存的容量需求这一指标,使得分配的内存性能与实际使用需求不够匹配,内存分配的准确性较低。
技术实现思路
1、本技术实施例提供一种内存分配方法及电子设备,用于提供一种cxl内存池的内存分配方案,以提升cxl内存池的内存分配的准确性。
2、为达到上述目的,本技术实施例采用如下技术方案:
3、一方面,提供了一种内存分配方法,应用于cxl内存池的管理设备,该方法包括:
4、接收计算设备的内存请求;其中,该内存请求包括分配请求信息和内存需求信息,该分配请求信息用于指示该计算设备请求的内存扩展设备的属性指标,该属性指标为时延指标或者带宽指标;该内存需求信息用于指示该计算设备请求的内存指标,该内存指标包括内存大小和内存类型;
5、从计算快速链路cxl内存池确定类别匹配该属性指标的目标内存扩展设备;
6、从该目标内存扩展设备中为该计算设备分配满足该内存需求信息的内存。
7、在上述技术方案中,通过在计算设备的内存请求中携带分配请求信息和内存需求信息,一方面,利用分配请求信息能够指示计算设备请求的内存扩展设备的属性指标,如时延指标或者带宽指标,另一方面,利用内存需求信息能够指示计算设备请求的内存指标,如内存大小和内存类型。进而,管理设备可从cxl内存池中确定类别匹配该属性指标的目标内存扩展设备,能够实现更有针对性的内存分配,从而满足计算设备对不同属性内存的需求。进而从目标内存扩展设备中为计算设备分配满足内存需求信息的内存,不仅提升了内存分配的效率,还能够有效提升内存分配的准确性。
8、在一些可能的实现方式中,该方法还包括:
9、在该cxl内存池中,基于每个内存扩展设备的内存带宽或内存带宽及内存容量确定每个内存扩展设备的类别;其中,内存带宽为内存通道带宽和内存链路带宽中数值最小的一者。
10、这样,通过确定内存通道带宽和内存链路带宽,以便从其中确定数值最小的带宽值作为内存扩展设备的内存带宽。这样,不仅参考了内存扩展设备中多个内存通道的总带宽,还参考了内存扩展设备与cxl内存池中的cxl交换机之间的链路带宽,增加了确定内存带宽所参考的信息量,能够确定出准确性更高的内存带宽。
11、在上述实现方式中,按照内存扩展设备的内存容量和内存带宽,来划分cxl内存池中各个内存扩展设备的类别,能够实现对cxl内存池的精细化管理,使得在内存分配时可以从内存扩展设备的类别维度,快速且高效地确定类别匹配该属性指标的目标内存扩展设备。
12、在一些可能的实现方式中,该内存扩展设备的类别包括带宽型内存扩展设备和容量型内存扩展设备,该带宽型内存扩展设备是指内存带宽满足第一预设条件的内存扩展设备,该容量型内存扩展设备是指内存容量满足第二预设条件的内存扩展设备。
13、从cxl内存池确定类别匹配该属性指标的目标内存扩展设备,包括:
14、在该分配请求信息指示的属性指标为带宽指标的情况下,将该带宽型内存扩展设备确定为匹配该属性指标的目标内存扩展设备;或,
15、在该分配请求信息指示的属性指标为时延指标的情况下,将该容量型内存扩展设备确定为匹配该属性指标的目标内存扩展设备。
16、这样,通过在该分配请求信息指示的属性指标为带宽指标的情况下,为计算设备确定带宽型内存扩展设备,以带宽较大的内存扩展设备作为优选,能够满足计算设备对带宽的需求。通过在该分配请求信息指示的属性指标为时延指标的情况下,为计算设备确定容量型内存扩展设备,以容量较大的内存扩展设备作为优选,能够满足计算设备对时延的需求。如此,通过确定匹配该属性指标的目标内存扩展设备,以满足计算设备对不同属性内存的需求。
17、在一些可能的实现方式中,该带宽型内存扩展设备和该容量型内存扩展设备均携带内存时延的时延级别。在该分配请求信息指示的属性指标为时延指标的情况下,将该容量型内存扩展设备确定为匹配该属性指标的目标内存扩展设备,包括:
18、在该分配请求信息指示的属性指标为时延指标的情况下,将该内存时延的时延级别满足时延优先级条件的容量型内存扩展设备,确定为匹配该属性指标的目标内存扩展设备。
19、在上述实现方式中,通过设置时延优先级条件,能够在该分配请求信息指示的属性指标为时延指标的情况下,为计算设备确定时延最小的内存扩展设备,能够进一步满足计算设备对时延的需求。
20、在一些可能的实现方式中,该内存扩展设备的类别还包括均衡型内存扩展设备,该均衡型内存扩展设备是指内存带宽与内存容量满足第三预设条件的内存扩展设备。在该分配请求信息指示的属性指标为带宽指标的情况下,匹配该属性指标的目标内存扩展设备还包括该均衡型内存扩展设备;或,在该分配请求信息指示的属性指标为时延指标的情况下,匹配该属性指标的目标内存扩展设备还包括该均衡型内存扩展设备。
21、在上述实现方式中,增加了内存分配时可供参考的其他类型的内存扩展设备,使得在该分配请求信息指示的属性指标为带宽指标的情况下,或在该分配请求信息指示的属性指标为时延指标的情况下,均可以将均衡型内存扩展设备作为候选的内存扩展设备,丰富了内存分配时内存扩展设备的候选项。
22、在一些可能的实现方式中,在该分配请求信息指示的属性指标为带宽指标的情况下,该带宽型内存扩展设备的分配优先级高于该均衡型内存扩展设备的分配优先级,该均衡型内存扩展设备的分配优先级高于该容量型内存扩展设备的分配优先级。
23、也就是说,在该分配请求信息指示的属性指标为带宽指标的情况下,优先执行带宽型内存扩展设备的内存分配过程,次选执行均衡型内存扩展设备的内存分配过程,再次选执行容量型内存扩展设备的内存分配过程。这样,通过设置分配优先级,以带宽型内存扩展设备作为优选,能够满足计算设备对带宽的需求。
24、在一些可能的实现方式中,在该分配请求信息指示的属性指标为时延指标的情况下,该容量型内存扩展设备的分配优先级高于该均衡型内存扩展设备的分配优先级,该均衡型内存扩展设备的分配优先级高于该带宽型内存扩展设备的分配优先级。
25、也就是说,在该分配请求信息指示的属性指标为时延指标的情况下,优先执行容量型内存扩展设备的内存分配过程,次选执行均衡型内存扩展设备的内存分配过程,再次选执行带宽型内存扩展设备的内存分配过程。这样,通过设置分配优先级,以容量型内存扩展设备作为优选,能够满足计算设备对时延的需求。
26、在一些可能的实现方式中,该内存需求信息指示请求的该内存大小为目标容量,且该内存类型为目标类型。在从cxl内存池确定类别匹配该属性指标的目标内存扩展设备之前,该方法还包括:确定该cxl内存池中具有目标类型内存的内存扩展设备的剩余内存容量大于该目标容量。
27、在上述实现方式中,通过确定该cxl内存池中具有目标类型内存的内存扩展设备的剩余内存容量大于该目标容量,以确保在cxl内存池中具有目标类型内存的内存扩展设备的剩余内存容量充足的前提下,执行后续内存分配流程,提高了内存分配的可靠性。
28、在一些可能的实现方式中,在该分配请求信息指示的属性指标为带宽指标的情况下,从cxl内存池确定类别匹配该属性指标的目标内存扩展设备,包括:
29、获取该计算设备的上行带宽,并基于该上行带宽确定为该计算设备分配的带宽下限,该计算设备的上行带宽基于该计算设备与cxl交换机之间的链路数量确定;
30、基于该带宽下限和第一预设优先级次序,确定是否存在该目标内存扩展设备,其中,第一预设优先级次序用于指示属性指标为带宽指标的情况下,分配不同类别的内存扩展设备的优先级由高至低的次序。
31、在上述实现方式中,通过维护第一预设优先级次序,以便在计算设备请求的属性指标为带宽指标的情况下,按照第一预设优先级次序来执行内存分配,能够优先为计算设备分配与其请求相匹配的内存,提升了内存分配的准确性。
32、在一些可能的实现方式中,该带宽型内存扩展设备、该容量型内存扩展设备与该均衡型内存扩展设备均携带内存时延的时延级别,该时延级别包括一级时延和二级时延,该一级时延所指示的时延小于该二级时延所指示的时延。如此,通过为每一类别的内存扩展设备携带内存时延的时延级别,能够实现时延维度上的分类管理,能够进一步地实现对cxl内存池的精细化管理。
33、在一些可能的实现方式中,该第一预设优先级次序为:一级时延的带宽型内存扩展设备、一级时延的均衡型内存扩展设备、二级时延的带宽型内存扩展设备、二级时延的均衡型内存扩展设备、一级时延的容量型内存扩展设备、二级时延的容量型内存扩展设备。
34、也就是说,在该分配请求信息指示的属性指标为带宽指标的情况下,优先执行一级时延的带宽型内存扩展设备的内存分配过程,次选执行一级时延的均衡型内存扩展设备的内存分配过程,再次选执行二级时延的带宽型内存扩展设备的内存分配过程,再次选执行二级时延的均衡型内存扩展设备的内存分配过程,再次选执行一级时延的容量型内存扩展设备的内存分配过程,再次选执行二级时延的容量型内存扩展设备的内存分配过程。这样,通过设置分配优先级,以带宽型内存扩展设备作为优选,能够满足计算设备对带宽的需求。
35、在一些可能的实现方式中,在该分配请求信息指示的属性指标为时延指标的情况下,从cxl内存池确定类别匹配该属性指标的目标内存扩展设备,包括:
36、基于第二预设优先级次序,确定是否存在该目标内存扩展设备;其中,该第二预设优先级次序用于指示属性指标为时延指标的情况下,分配不同类别的内存扩展设备的优先级由高至低的次序。
37、在上述实现方式中,通过维护第二预设优先级次序,以便在计算设备请求的属性指标为时延指标的情况下,按照第二预设优先级次序来执行内存分配,能够优先为计算设备分配与其请求相匹配的内存,提升了内存分配的准确性。
38、在一些可能的实现方式中,该第二预设优先级次序为:一级时延的容量型内存扩展设备、一级时延的均衡型内存扩展设备、一级时延的带宽型内存扩展设备、二级时延的容量型内存扩展设备、二级时延的均衡型内存扩展设备、二级时延的带宽型内存扩展设备。
39、也就是说,在该分配请求信息指示的属性指标为带宽指标的情况下,优先执行一级时延的容量型内存扩展设备的内存分配过程,次选执行一级时延的均衡型内存扩展设备的内存分配过程,再次选执行一级时延的带宽型内存扩展设备的内存分配过程,再次选执行二级时延的容量型内存扩展设备的内存分配过程,再次选执行二级时延的均衡型内存扩展设备的内存分配过程,再次选执行二级时延的带宽型内存扩展设备的内存分配过程。这样,通过设置分配优先级,以时延级别作为优选,能够满足计算设备对时延的需求。
40、在一些可能的实现方式中,该内存带宽满足第一预设条件包括:该内存带宽处于第一带宽范围内;或者,第一参数值处于第一阈值范围内,该第一参数值与该内存容量正相关且与该内存带宽负相关;或者,第二参数值处于第二阈值范围内,该第二参数值与该内存容量负相关且与该内存带宽正相关。
41、在该实现方式中,提供了三种类型的用于判断是否为带宽型内存扩展设备的第一预设条件,可以基于该三种类型的第一预设条件中的任一项,来确定内存扩展设备的类别是否为带宽型内存扩展设备。如此,丰富了第一预设条件的类型。
42、在一些可能的实现方式中,该内存容量满足第二预设条件包括:该内存容量处于第一容量范围内;或者,该第一参数值处于第三阈值范围内,该第一阈值范围内的数值小于该第三阈值范围内的数值;该第二参数值处于第四阈值范围内,该第二阈值范围内的数值大于该第四阈值范围内的数值。
43、在该实现方式中,提供了三种类型的用于判断是否为容量型内存扩展设备的第二预设条件,可以基于该三种类型的第二预设条件中的任一项,来确定内存扩展设备的类别是否为容量型内存扩展设备。如此,丰富了第二预设条件的类型。
44、在一些可能的实现方式中,该第一参数值为该内存容量与该内存带宽的比值,或者,该第一参数值为该内存容量与该内存带宽的差值。
45、如此,提供了两种类型的第一参数值,使得管理设备可以该内存容量与该内存带宽的比值,或该内存容量与该内存带宽的差值,来判断内存扩展设备的类别是否为带宽型内存扩展设备,不仅提升了确定带宽型内存扩展设备的效率,还提高了确定带宽型内存扩展设备的灵活性。
46、在一些可能的实现方式中,该第二参数值为该内存带宽与该内存容量的比值,或者,该第二参数值为该内存带宽与该内存容量的差值。如此,提供了两种类型的第二参数值,使得管理设备可以该内存带宽与该内存容量的比值,或该内存带宽与该内存容量的差值,来判断内存扩展设备的类别是否为容量型内存扩展设备,不仅提升了确定容量型内存扩展设备的效率,还提高了确定容量型内存扩展设备的灵活性。
47、在一些可能的实现方式中,该内存带宽与该内存容量满足第三预设条件包括:该内存带宽处于第二带宽范围内且该内存容量处于第二容量范围内;或者,第一参数值处于第五阈值范围内,该第五阈值范围处于该第一阈值范围与该第三阈值范围之间;或者,第二参数值处于第六阈值范围内,该第六阈值范围处于该第二阈值范围与该第四阈值范围之间。
48、在该实现方式中,提供了三种类型的用于判断是否为均衡型内存扩展设备的第三预设条件,可以基于该三种类型的第三预设条件中的任一项,来确定内存扩展设备的类别是否为均衡型内存扩展设备。如此,丰富了第三预设条件的类型。
49、在一些可能的实现方式中,如果该内存扩展设备的内存带宽满足该第一预设条件,则确定该内存扩展设备的类别为带宽型内存扩展设备。如果该内存扩展设备的内存容量满足该第二预设条件,则确定该内存扩展设备的类别为容量型内存扩展设备。如果该内存扩展设备的内存带宽与内存容量满足第三预设条件,则确定该内存扩展设备的类别为均衡型内存扩展设备。
50、如此,按照各个内存扩展设备的内存容量以及内存带宽,来对cxl内存池中的各个内存扩展设备进行分类管理,能够将cxl内存池划分为带宽型内存扩展设备、容量型内存扩展设备和均衡型内存扩展设备三类内存扩展设备,实现了对cxl内存池的精细化管理。
51、在一些可能的实现方式中,如果该内存扩展设备的内存带宽满足该第一预设条件,则确定该内存扩展设备的类别为带宽型内存扩展设备,包括:
52、如果该内存扩展设备的内存带宽处于第一带宽范围内,则确定该内存扩展设备的类别为带宽型内存扩展设备;或,如果该第一参数值处于第一阈值范围内,则确定该内存扩展设备的类别为带宽型内存扩展设备;或,如果该第二参数值处于第二阈值范围内,则确定该内存扩展设备的类别为带宽型内存扩展设备。
53、在该实现方式中,提供了三种判断是否为带宽型内存扩展设备的方式,可以基于该三种方式中的任一项,来确定内存扩展设备的类别是否为带宽型内存扩展设备。如此,丰富了带宽型内存扩展设备的判断方式。
54、在一些可能的实现方式中,如果该内存扩展设备的内存容量满足该第二预设条件,则确定该内存扩展设备的类别为容量型内存扩展设备,包括:
55、如果该内存扩展设备的内存容量处于第一容量范围内,则确定该内存扩展设备的类别为容量型内存扩展设备;或,如果该第一参数值处于第三阈值范围内,则确定该内存扩展设备的类别为容量型内存扩展设备;或,如果该第二参数值处于第四阈值范围内,则确定该内存扩展设备的类别为容量型内存扩展设备。
56、在该实现方式中,提供了三种判断是否为容量型内存扩展设备的方式,可以基于该三种方式中的任一项,来确定内存扩展设备的类别是否为容量型内存扩展设备。如此,丰富了容量型内存扩展设备的判断方式。
57、在一些可能的实现方式中,如果该内存扩展设备的内存带宽与内存容量满足第三预设条件,则确定该内存扩展设备的类别为均衡型内存扩展设备,包括:
58、如果该内存带宽处于第二带宽范围内且该内存容量处于第二容量范围内,则确定该内存扩展设备的类别为均衡型内存扩展设备;或,如果该第一参数值处于第五阈值范围内,则确定该内存扩展设备的类别为均衡型内存扩展设备;或,如果该第二参数值处于第六阈值范围内,则确定该内存扩展设备的类别为均衡型内存扩展设备。
59、在该实现方式中,提供了三种判断是否为均衡型内存扩展设备的方式,可以基于该三种方式中的任一项,来确定内存扩展设备的类别是否为均衡型内存扩展设备。如此,丰富了均衡型内存扩展设备的判断方式。
60、在一些可能的实现方式中,从该目标内存扩展设备中为该计算设备分配满足该内存需求信息的内存,包括:
61、确定该目标内存扩展设备的目标类型的内存的容量是否大于或等于该目标容量;
62、在该目标内存扩展设备的目标类型的内存的容量大于或等于该目标容量的情况下,从该目标内存扩展设备中为该计算设备分配该目标容量的内存。
63、在上述实现方式中,通过确定该目标内存扩展设备的目标类型的内存的容量是否大于或等于该目标容量,以确保在该目标内存扩展设备的目标类型的内存的容量大于或等于该目标容量的情况下,执行后续的内存分配流程,提高了内存分配的可靠性。
64、另一方面,提供了一种内存分配装置,该装置包括:
65、接收模块,用于接收计算设备的内存请求;其中,该内存请求包括分配请求信息和内存需求信息,该分配请求信息用于指示该计算设备请求的内存扩展设备的属性指标,该属性指标为时延指标或者带宽指标;该内存需求信息用于指示该计算设备请求的内存指标,该内存指标包括内存大小和内存类型;
66、确定模块,用于从cxl内存池确定类别匹配该属性指标的目标内存扩展设备;
67、分配模块,用于从该目标内存扩展设备中为该计算设备分配满足该内存需求信息的内存。
68、另一方面,提供了一种电子设备,该电子设备包括处理器和存储器,该处理器和该存储器耦合。其中,该存储器用于存储计算机程序指令,该处理器用于调用该存储器中的计算机程序指令执行上述实施例所示的内存分配方法。
69、另一方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序指令,该计算机程序指令用于使电子设备执行如上述实施例所示的内存分配方法。
70、另一方面,提供了一种计算机程序产品,包括计算机程序指令,当该计算机程序指令在电子设备上运行时,使得电子设备执行如上述实施例所示的内存分配方法。