CN116126742A - 内存访问方法、装置、服务器及存储介质 - Google Patents
内存访问方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN116126742A CN116126742A CN202310073814.7A CN202310073814A CN116126742A CN 116126742 A CN116126742 A CN 116126742A CN 202310073814 A CN202310073814 A CN 202310073814A CN 116126742 A CN116126742 A CN 116126742A
- Authority
- CN
- China
- Prior art keywords
- memory
- expansion
- host device
- memory access
- target
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 362
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 25
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 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
- 238000003672 processing method Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- 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
本申请是关于一种内存访问方法、装置、服务器及存储介质,具体涉及计算机技术领域。所述方法应用于服务器中,所述服务器中包括:Host设备和内存扩展卡,所述方法包括:第一Host设备生成针对第二Host设备中目标数据的内存访问请求;响应于所述内存访问请求,所述内存扩展卡调用目标扩展内存处理所述内存访问请求,生成内存访问结果,所述内存扩展卡中包括分配给不同Host设备的多部分扩展内存,所述目标扩展内存是分配给所述第二Host设备的扩展内存;所述内存扩展卡将所述内存访问结果反馈给所述第一Host设备。基于上述技术方案,可以实现Host设备间相互访问内存的同时,不占用Host设备的本地内存空间。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种内存访问方法、装置、服务器及存储介质。
背景技术
当今社会信息数字化产业迅速发展,在服务器中,随着信息处理量的提升,对内存的需求量也日益增加。
在相关技术方案中,若一个Host设备需要访问其他Host设备的数据,可以数据批量拷贝到该Host设备的本地主存,在本地进行处理,也可以走PCIe通道,直接访问其他Host设备的主存进行处理。
由于Host设备的主存空间是有限的,基于上述技术方案进行内存访问,会占用Host设备原有的主存,进而影响Host设备的性能。
发明内容
本申请提供了内存访问方法、装置、服务器及存储介质。该技术方案如下。
一方面,提供了一种内存访问方法,所述方法应用于服务器中,所述服务器中包括:Host设备和内存扩展卡,所述方法包括:
第一Host设备生成针对第二Host设备中目标数据的内存访问请求;
响应于所述内存访问请求,所述内存扩展卡调用目标扩展内存处理所述内存访问请求,生成内存访问结果,所述内存扩展卡中包括分配给不同Host设备的多部分扩展内存,所述目标扩展内存是分配给所述第二Host设备的扩展内存;
所述内存扩展卡将所述内存访问结果反馈给所述第一Host设备。
再一方面,提供了一种内存访问装置,所述装置包括:
访问请求生成模块,用于供第一Host设备生成针对第二Host设备中目标数据的内存访问请求;
访问请求处理模块,用于供内存扩展卡响应于所述内存访问请求,调用目标扩展内存处理所述内存访问请求,生成内存访问结果,所述内存扩展卡中包括分配给不同Host设备的多部分扩展内存,所述目标扩展内存是分配给所述第二Host设备的扩展内存;
访问结果反馈模块,用于供所述内存扩展卡将所述内存访问结果反馈给所述第一Host设备。
再一方面,提供了一种服务器,所述服务器中包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述内存访问方法。
再一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述的内存访问方法。
再一方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的内存访问方法。
本申请提供的技术方案可以包括以下有益效果:
在第一Host设备需要对第二Host设备中目标数据进行访问时,直接访问内存扩展卡,内存扩展卡通过分配给第二Host设备的目标扩展内存处理第一Host设备的内存访问请求,生成内存访问结果,并将内存访问结果反馈给第一Host设备,从而在实现Host设备间相互访问内存的同时,不占用Host设备(如CPU、GPU)的本地内存空间,提升Host设备的处理能力。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的服务器内部的示意图。
图2是根据一示例性实施例示出的内存访问方法的方法流程图。
图3是根据一示例性实施例示出的内存扩展卡的示意图。
图4是根据一示例性实施例示出的内存访问方法的方法流程图。
图5是根据一示例性实施例示出的内存访问方法的方法流程图。
图6是根据一示例性实施例示出的内存扩展卡的示意图。
图7是根据一示例性实施例示出的一种内存访问装置的结构方框图。
图8是根据一示例性实施例提供的一种服务器的示意图。
具体实施方式
下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,在本申请的实施例中提到的“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,A指示B,可以表示A直接指示B,例如B可以通过A获取;也可以表示A间接指示B,例如A指示C,B可以通过C获取;还可以表示A和B之间具有关联关系。
在本申请实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
本申请实施例中,“预定义”可以通过在设备(例如,包括终端设备和网络设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定。
当今社会信息数字化产业的迅速发展,在当下的数据中心服务器、AI服务器中,随着CPU(Central Processing Unit,中央处理器)内核数的快速增加与信息处理量的提升,对内存的需求量也日益增加。同时,GPU(Graphics Processing Unit,图像处理器)处理数据的剧增,GPU对内存的需求也日益增加。在云服务、AI(Artificial Intelligence,人工智能)服务器及一些计算密集型的场景下,内存的数量的不足会成为限制服务器性能的瓶颈。如何进行高效的内存扩展,一直是业内人员所研究的问题。为提高服务器的整机性能,对CPU内存进行扩展,提升服务器整机性能。但对于AI服务器,GPU的运算量大,同样对内存需求较大,内存不足会限制GPU的数据处理效率。
在上述背景下,结合参考图1,相关技术中所提供的内存访问方式包括如下两种:
一种是将数据批量拷贝到设备的本地主存。比如:CPU处理结束,数据从CPU->Cache(缓存)->Memory(主存),GPU将数据从CPU的主存拷贝到GPU的主存,在本地进行处理。
一种是直接访问Host主存处理数据。比如:GPU走PCIe通道,直接访问CPU的主存。
在上述两种内存访问方式中,前者带宽50GT/s,延迟大概50ns,而后者则只有32GT/s(PCIe 5.0),延迟大概100ns+。
由于CPU和GPU的主存空间是有限的,基于上述两种内存访问方式会占用CPU和GPU原有的主存,进而会影响CPU和GPU的性能。
为了避免如上缺陷,在本申请实施例中,提出一种基于CXL(Compute ExpressLink,一种开放式互连标准)的内存扩展与管理方案,扩展了CPU和GPU的内存,不占用CPU和GPU的本地内存空间,大大提升CPU和GPU的处理能力。
下面,结合如下实施例,对本申请提供的技术方案进行进一步说明。
图2是根据一示例性实施例示出的内存访问方法的方法流程图。该方法应用于服务器中,服务器中包括:Host设备和内存扩展卡,如图2所示,该内存访问方法可以包括如下步骤:
步骤210,第一Host设备生成针对第二Host设备中目标数据的内存访问请求。
在本实施例中,服务器中包括Host设备和内存扩展卡。其中,Host设备也可以称为主设备,指的是处于主动方的设备,比如,对于CPU和内存,CPU为主设备,内存为从设备。其中,内存扩展卡指的是具备内存拓展功能的板卡。
在本实施例中,Host设备的数量可以是多个,Host设备之间具有相互内存访问的需求,在此以第一Host设备需要访问第二Host设备的目标数据进行说明,因此,第一Host设备生成针对第二Host设备中目标数据的内存访问请求。
在一种可能的实现方式中,Host设备包括:CPU;GPU。示例性的,第一Host设备为CPU,第二Host设备为GPU,CPU要对GPU进行内存访问。示例性的,第一Host设备为GPU,第二Host设备为CPU,GPU要对CPU进行内存访问。
在一种可能的实现方式中,内存扩展卡的硬件结构包括通过走线相连接的如下部件:插接于内存插槽的扩展内存;用于对扩展内存进行管理的基于CXL的扩展芯片;用于供电以及连接Host设备的板卡金手指;用于连接Host设备的连接器接口。
在本实现方式中,提供一种内存扩展卡,该内存扩展卡设置于服务器中,内存扩展卡包括扩展芯片和扩展内存,由于CXL总线与PCIe(Peripheral Component Interconnectexpress,外设部件互连扩展)总线的物理层兼容,因此内存扩展卡上行可以与PCIe设备一样使用服务器机箱内的PCIe插槽连接。示例性的,如图3所示,在内存扩展卡中,1为扩展芯片(CXL SWITCH);2为扩展内存插槽,扩展内存可插接于内存插槽,扩展内存下挂于扩展芯片;3为板卡金手指,与主板连接,用于板卡供电和连接CPU;4为MCIO(Mini Cool edgeInput/Output,迷你冷边输入输出)连接器接口,通过Cable(电缆)与GPU连接。
可以理解的是,扩展芯片采用CXL协议,CXL协议可以对内存访问进行提速,因此,通过基于CXL的内存扩展卡,可以提升进行内存访问的访问性能。
步骤220,响应于内存访问请求,内存扩展卡调用目标扩展内存处理内存访问请求,生成内存访问结果。
在本实施例中,内存扩展卡中的扩展内存可以包括多个部分,不同部分的扩展内存可以用于存储相同或不同的Host设备中的数据。其中,目标扩展内存是分配给第二Host设备的扩展内存,目标扩展内存中存储有第二Host设备的目标数据。
在本实施例中,直接访问内存扩展卡,内存扩展卡通过分配给第二Host设备的目标扩展内存处理内存访问请求,生成内存访问结果。
步骤230,内存扩展卡将内存访问结果反馈给第一Host设备。
在本实施例中,通过内存扩展卡将内存访问结果反馈给第一Host设备,以完成内存访问。
综上所述,本申请实施例提供的内存访问方法,在第一Host设备需要对第二Host设备中目标数据进行访问时,直接访问内存扩展卡,内存扩展卡通过分配给第二Host设备的目标扩展内存处理第一Host设备的内存访问请求,生成内存访问结果,并将内存访问结果反馈给第一Host设备,从而在实现Host设备间相互访问内存的同时,不占用Host设备(如CPU、GPU)的本地内存空间,提升Host设备的处理能力。
此外,内存扩展卡中的扩展芯片采用CXL协议,CXL协议可以对内存访问进行提速,从而提升通过内存扩展卡进行内存访问的访问性能。
在示意性实施例中,当需要处理的数据量不是很大,而且访存频率较低时,通过直接访问扩展内存的方式,进行内存访问。
图4是根据一示例性实施例示出的内存访问方法的方法流程图。该方法应用于服务器中,服务器中包括:Host设备和内存扩展卡,如图4所示,上述步骤220可以替换实现为如下步骤:
步骤410,响应于内存访问请求,确定目标数据的访问属性。
其中,访问属性用于指示数据与内存访问相关的属性,访问属性包括但不限于数据的数据量、访存频率。
在本实施例中,Host设备中的数据可以根据访问属性的不同,内存访问路径不同,因此,在第一Host设备生成针对第二Host设备中目标数据的内存访问请求之后,随即查询并确定目标数据的访问属性。
步骤420,在目标数据的访问属性属于低性能要求属性的情况下,将内存访问请求从第一Host设备传递给内存扩展卡。
其中,低性能要求属性指的是目标数据的数据量低于数量阈值,且访存频率低于频率阈值。
步骤430,内存扩展卡调用目标扩展内存处理内存访问请求,生成内存访问结果。
在本实施例中,将Host设备中数据量低于数量阈值,且访存频率低于频率阈值的数据放在内存扩展卡中,在内存访问请求是请求对此类数据进行访问时,基于此类数据的访问属性,通过内存扩展卡进行内存访问。
在一种可能的实现方式中,在目标数据的访问属性不属于低性能要求属性的情况下,从第一Host设备获取目标数据,并将目标数据拷贝到第二Host设备的主存;第二Host设备使用主存处理内存访问请求,生成并获取内存访问结果。
在本实现方式中,将其他Host设备中数据量高于数量阈值,或,访存频率高于频率阈值的数据拷贝到本Host设备的主存中,在内存访问请求是请求对此类数据进行访问时,基于此类数据的访问属性,在本地进行内存访问。
示例性的,基于如上介绍,当需要处理的数据量较大,迭代次数,频繁访存时,典型的比如AI训练,图形渲染,此时应按相关技术中已提供的处理方法,将数据批量拷贝到设备内部存储器,进行本地处理;当需要处理的数据量并不是很大,而且访存频率较低时,此时直接访问扩展内存即可。
可以理解的是,直接访问设备内部存储器,在本地处理数据这一内存访问方式,带宽大,延迟低,具有较好的访问性能。
综上所述,本申请实施例提供的内存访问方法,当需要处理的数据量不是很大,而且访存频率较低时,通过直接访问扩展内存的方式,进行内存访问,当需要处理的数据量较大,迭代次数,频繁访存时,将数据批量拷贝到设备内部存储器,进行本地处理,从而通过不同的内存访问路径,尽量保障本地内存的处理性能以及内存访问的访问性能。
在示意性实施例中,对内存扩展卡中的扩展内存进行池化资源的释放和分配。
图5是根据一示例性实施例示出的内存访问方法的方法流程图。该方法应用于服务器中,服务器中包括:Host设备和内存扩展卡,如图5所示,上述步骤之外,还可以包括如下步骤:
步骤510,内存扩展卡获取各个Host设备的扩展内存使用需求。
其中,扩展内存使用需求指的是Host设备对内存拓展卡中的扩展内存的使用需求。
步骤520,内存扩展卡基于各个Host设备的扩展内存使用需求,对扩展内存卡中的扩展内存进行动态分配。
在本实施例中,内存扩展卡基于各个Host设备的扩展内存使用需求,将扩展内存卡中的空闲的扩展内存分配给当前具有扩展内存使用需求的Host设备,或者,将扩展内存卡中原分配给Host设备,且该Host设备当前不具有扩展内存使用需求的扩展内存释放掉。
在一种可能的实现方式中,上述步骤510包括:内存扩展卡获取各个Host设备的当前的主存利用率;上述步骤520包括:在目标Host设备的当前的主存利用率低于第一利用率阈值的情况下,将分配给目标Host设备的扩展内存释放;在目标Host设备的当前的主存利用率高于第二利用率阈值的情况下,将空闲的扩展内存分配给目标Host设备。
在本实现方式中,通过各个Host设备的主存利用率衡量各个Host设备的扩展内存使用需求,在目标Host设备的当前的主存利用率低于第一利用率阈值的情况下,认为目标Host设备当前不具有扩展内存使用需求,因此,将分配给目标Host设备的扩展内存释放;在目标Host设备的当前的主存利用率高于第二利用率阈值的情况下,认为目标Host设备当前具有扩展内存使用需求,因此,将空闲的扩展内存分配给目标Host设备。
示例性的,结合参考图6,Dn(D1,D2...)表示扩展内存,Hn(H1,H2...)表示是Host设备,如CPU或GPU。扩展内存(Dn)可按需动态分配给Host设备(CPU和GPU),如D1和D2属于H1,D3属于H2。假设过了一段时间,H1不需要D2设备,D2可以被释放。再假设过了一段时间,H2需要更多的加速设备,它去查扩展内存,发现D2是空闲的,D2就会被分配给H2。结果就是H2现在有了D2和D3,这样就完成了一次完整的池化资源的释放和分配。
综上所述,本申请实施例提供的内存访问方法,获取各个Host设备的扩展内存使用需求,对内存扩展卡中的扩展内存进行池化资源的释放和分配,从而内存扩展卡中的扩展内存进行有效利用。
需要说明的是,上述方法实施例可以单独实施例,也可以组合实施,本申请对此不加以限制。
图7是根据一示例性实施例示出的一种内存访问装置的结构方框图。
所述装置包括:
访问请求生成模块701,用于供第一Host设备生成针对第二Host设备中目标数据的内存访问请求;
访问请求处理模块702,用于供内存扩展卡响应于所述内存访问请求,调用目标扩展内存处理所述内存访问请求,生成内存访问结果,所述内存扩展卡中包括分配给不同Host设备的多部分扩展内存,所述目标扩展内存是分配给所述第二Host设备的扩展内存;
访问结果反馈模块703,用于供所述内存扩展卡将所述内存访问结果反馈给所述第一Host设备。
在一种可能的实现方式中,所述访问请求处理模块702,用于:
响应于所述内存访问请求,确定所述目标数据的访问属性;
在所述目标数据的访问属性属于低性能要求属性的情况下,将所述内存访问请求从所述第一Host设备传递给所述内存扩展卡,所述低性能要求属性指的是所述目标数据的数据量低于数量阈值,且访存频率低于频率阈值;
所述内存扩展卡调用所述目标扩展内存处理所述内存访问请求,生成所述内存访问结果。
在一种可能的实现方式中,所述访问请求处理模块702,用于:
在所述目标数据的访问属性不属于所述低性能要求属性的情况下,从所述第一Host设备获取所述目标数据,并将所述目标数据拷贝到所述第二Host设备的主存;
所述第二Host设备使用主存处理所述内存访问请求,生成并获取所述内存访问结果。
在一种可能的实现方式中,所述装置还包括:扩展内存管理模块;所述扩展内存管理模块,用于:
所述内存扩展卡获取各个Host设备的扩展内存使用需求;
所述内存扩展卡基于各个Host设备的扩展内存使用需求,对所述扩展内存卡中的扩展内存进行动态分配。
在一种可能的实现方式中,所述扩展内存管理模块,用于:
所述内存扩展卡获取各个Host设备的当前的主存利用率;
所述内存扩展卡基于各个Host设备的扩展内存使用需求,对所述扩展内存卡中的扩展内存进行动态分配,包括:
在目标Host设备的当前的主存利用率低于第一利用率阈值的情况下,将分配给所述目标Host设备的扩展内存释放;
在目标Host设备的当前的主存利用率高于第二利用率阈值的情况下,将空闲的扩展内存分配给所述目标Host设备。
在一种可能的实现方式中,所述内存扩展卡的硬件结构包括通过走线相连接的如下部件:
插接于内存插槽的扩展内存;
用于对扩展内存进行管理的基于CXL的扩展芯片;
用于供电以及连接Host设备的板卡金手指;
用于连接Host设备的连接器接口。
在一种可能的实现方式中,所述Host设备包括:
中央处理器CPU;
图像处理器GPU。
需要说明的是:上述实施例提供的内存访问装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参阅图8,其是根据本申请一示例性实施例提供的一种服务器的示意图,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的内存访问方法。
其中,处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在一示例性实施例中,还提供了一种计算机可读存储介质,用于存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现上述方法中的全部或部分步骤。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种内存访问方法,其特征在于,所述方法应用于服务器中,所述服务器中包括:Host设备和内存扩展卡,所述方法包括:
第一Host设备生成针对第二Host设备中目标数据的内存访问请求;
响应于所述内存访问请求,所述内存扩展卡调用目标扩展内存处理所述内存访问请求,生成内存访问结果,所述内存扩展卡中包括分配给不同Host设备的多部分扩展内存,所述目标扩展内存是分配给所述第二Host设备的扩展内存;
所述内存扩展卡将所述内存访问结果反馈给所述第一Host设备。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述内存访问请求,所述内存扩展卡调用目标扩展内存处理所述内存访问请求,生成内存访问结果,包括:
响应于所述内存访问请求,确定所述目标数据的访问属性;
在所述目标数据的访问属性属于低性能要求属性的情况下,将所述内存访问请求从所述第一Host设备传递给所述内存扩展卡,所述低性能要求属性指的是所述目标数据的数据量低于数量阈值,且访存频率低于频率阈值;
所述内存扩展卡调用所述目标扩展内存处理所述内存访问请求,生成所述内存访问结果。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述目标数据的访问属性不属于所述低性能要求属性的情况下,从所述第一Host设备获取所述目标数据,并将所述目标数据拷贝到所述第二Host设备的主存;
所述第二Host设备使用主存处理所述内存访问请求,生成并获取所述内存访问结果。
4.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
所述内存扩展卡获取各个Host设备的扩展内存使用需求;
所述内存扩展卡基于各个Host设备的扩展内存使用需求,对所述扩展内存卡中的扩展内存进行动态分配。
5.根据权利要求4所述的方法,其特征在于,所述内存扩展卡获取各个Host设备的扩展内存使用需求,包括:
所述内存扩展卡获取各个Host设备的当前的主存利用率;
所述内存扩展卡基于各个Host设备的扩展内存使用需求,对所述扩展内存卡中的扩展内存进行动态分配,包括:
在目标Host设备的当前的主存利用率低于第一利用率阈值的情况下,将分配给所述目标Host设备的扩展内存释放;
在目标Host设备的当前的主存利用率高于第二利用率阈值的情况下,将空闲的扩展内存分配给所述目标Host设备。
6.根据权利要求1至3任一所述的方法,其特征在于,所述内存扩展卡的硬件结构包括通过走线相连接的如下部件:
插接于内存插槽的扩展内存;
用于对扩展内存进行管理的基于CXL的扩展芯片;
用于供电以及连接Host设备的板卡金手指;
用于连接Host设备的连接器接口。
7.根据权利要求1至3任一所述的方法,其特征在于,所述Host设备包括:
中央处理器CPU;
图像处理器GPU。
8.一种内存访问装置,其特征在于,所述装置包括:
访问请求生成模块,用于供第一Host设备生成针对第二Host设备中目标数据的内存访问请求;
访问请求处理模块,用于供内存扩展卡响应于所述内存访问请求,调用目标扩展内存处理所述内存访问请求,生成内存访问结果,所述内存扩展卡中包括分配给不同Host设备的多部分扩展内存,所述目标扩展内存是分配给所述第二Host设备的扩展内存;
访问结果反馈模块,用于供所述内存扩展卡将所述内存访问结果反馈给所述第一Host设备。
9.一种服务器,其特征在于,所述服务器中包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的内存访问方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如权利要求1至7任一所述的内存访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310073814.7A CN116126742A (zh) | 2023-01-30 | 2023-01-30 | 内存访问方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310073814.7A CN116126742A (zh) | 2023-01-30 | 2023-01-30 | 内存访问方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116126742A true CN116126742A (zh) | 2023-05-16 |
Family
ID=86307826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310073814.7A Pending CN116126742A (zh) | 2023-01-30 | 2023-01-30 | 内存访问方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116126742A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501681A (zh) * | 2023-06-28 | 2023-07-28 | 苏州浪潮智能科技有限公司 | Cxl数据传输板卡及控制数据传输的方法 |
CN116881016A (zh) * | 2023-09-06 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 服务器进程的处理方法及装置、存储介质及电子设备 |
-
2023
- 2023-01-30 CN CN202310073814.7A patent/CN116126742A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501681A (zh) * | 2023-06-28 | 2023-07-28 | 苏州浪潮智能科技有限公司 | Cxl数据传输板卡及控制数据传输的方法 |
CN116501681B (zh) * | 2023-06-28 | 2023-09-29 | 苏州浪潮智能科技有限公司 | Cxl数据传输板卡及控制数据传输的方法 |
CN116881016A (zh) * | 2023-09-06 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 服务器进程的处理方法及装置、存储介质及电子设备 |
CN116881016B (zh) * | 2023-09-06 | 2024-01-19 | 苏州浪潮智能科技有限公司 | 服务器进程的处理方法及装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116126742A (zh) | 内存访问方法、装置、服务器及存储介质 | |
US20030208599A1 (en) | Server device and communication connection scheme using network interface processors | |
CN112685148A (zh) | 海量终端的异步通信方法、装置、计算机设备和存储介质 | |
CN115964319A (zh) | 远程直接内存访问的数据处理方法及相关产品 | |
CN115002046B (zh) | 报文处理方法、numa节点、电子设备及存储介质 | |
CN113590364B (zh) | 一种基于分布式共享内存系统的数据处理方法和装置 | |
CN116166434A (zh) | 处理器分配方法及系统、装置、存储介质、电子设备 | |
CN115858184A (zh) | 一种rdma内存管理方法、装置、设备及介质 | |
CN112306693B (zh) | 数据包的处理方法和设备 | |
CN116800616B (zh) | 虚拟化网络设备的管理方法及相关装置 | |
CN115904740B (zh) | 一种gpu资源调用方法及系统 | |
CN110489356B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN113886058A (zh) | 一种跨集群资源调度方法和装置 | |
CN115794396A (zh) | 资源分配的方法、系统和电子设备 | |
CN115390991A (zh) | 虚拟机的导入导出方法、装置、设备及存储介质 | |
KR20050080704A (ko) | 프로세서간 데이터 전송 장치 및 방법 | |
CN114281516A (zh) | 一种基于numa属性的资源分配方法及装置 | |
CN113722110B (zh) | 计算机系统、内存访问方法及设备 | |
CN112600760B (zh) | 一种应用层流量限速方法、终端设备及存储介质 | |
CN114253733B (zh) | 一种内存管理方法、装置、计算机设备和存储介质 | |
CN116775510B (zh) | 数据访问方法、装置、服务器和计算机可读存储介质 | |
CN117519911B (zh) | 自动注入系统、方法、设备、集群以及介质 | |
CN110855468B (zh) | 报文发送方法及装置 | |
CN110096374B (zh) | 内部多类别的计算单元之间通信中间件控制系统及方法 | |
CN115378938A (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 |