CN114860431A - 一种内存访问方法、装置、设备及介质 - Google Patents
一种内存访问方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114860431A CN114860431A CN202210428591.7A CN202210428591A CN114860431A CN 114860431 A CN114860431 A CN 114860431A CN 202210428591 A CN202210428591 A CN 202210428591A CN 114860431 A CN114860431 A CN 114860431A
- Authority
- CN
- China
- Prior art keywords
- memory
- processor
- connection
- opencapi
- computing node
- 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 220
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000001427 coherent effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000017525 heat dissipation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了一种内存访问方法、装置、设备及介质,包括:在第一处理器与第一OpenCAPI加速卡之间建立第一连接;基于所述第一连接以及预先在所述第一计算节点与第二计算节点之间建立的第二连接通过所述第一处理器向所述第二计算节点的第二处理器发送内存数据访问请求;获取所述第二处理器发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存。可见,本申请在计算节点内通过第一处理器与第一OpenCAPI加速卡建立第一连接,并在第一计算节点和第二计算节点之间建立第二连接,则第一处理器能通过第一连接和第二连接访问第二计算节点中第二处理器的内存数据;上述技术方案实现了不同计算节点的处理器之间的缓存一致性,进而实现内存数据共享。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种内存访问方法、装置、设备及介质。
背景技术
随着互联网技术的发展,人们对服务器数据处理能力的要求越来越高。终端用户在服务器上存储的数据量越来越庞大,同时要求服务器提供响应的时间越来越短。数据中心机房的服务器集群体量在不断扩大,服务器集群之内数据传输的带宽要求越来越高,延时要求越来越低。面对这些需求,服务器设计人员需要设计出更强大的服务器,其中的一个关键点是服务器的内存系统需要更强大,也就是处理器访问内存时要求更大的带宽和更低的延时。
现有技术中,服务器单节点可实现的内存容量和计算能力有限;而服务器集群的计算能力和内存容量相比于前者都有大大的提高,但不同服务器节点的处理器之间无法实现缓存一致性,处理器无法直接访问其他服务器内处理器的内存,也即无法实现内存共享,也就无法从本质上增加单颗处理器的可访问内存容量。因而不同节点内的处理器仍然是进行单独的计算和数据存储操作,这是不利于提高服务器资源利用率的。
综上,如何访问其他计算节点中处理器的内存数据,进而实现不同计算节点的处理器之间的缓存一致性是目前有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种内存访问方法、装置、设备及介质,能够访问其他计算节点中处理器的内存数据,进而实现不同计算节点的处理器之间的缓存一致性。其具体方案如下:
第一方面,本申请公开了一种内存访问方法,应用于OpenPower服务器中的第一计算节点,包括:
在第一处理器与第一OpenCAPI加速卡之间建立第一连接;
基于所述第一连接以及预先在所述第一计算节点与第二计算节点之间建立的第二连接通过所述第一处理器向所述第二计算节点的第二处理器发送内存数据访问请求;
获取所述第二处理器发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存。
可选的,所述在第一处理器与第一OpenCAPI加速卡之间建立第一连接,包括:
通过第一处理器的OpenCAPI总线接口与计算板的第一SlimSAS连接器建立第三连接,以及通过所述第一SlimSAS连接器与第一OpenCAPI加速卡中的第二SlimSAS连接器建立第四连接;
基于所述第三连接和所述第四连接得到第一连接。
可选的,所述内存访问方法,还包括:
在所述第一OpenCAPI加速卡的第一QSFP+接口与所述第二计算节点中第二OpenCAPI加速卡的第二QSFP+接口建立100G以太网连接,以得到所述第二连接。
可选的,所述获取所述第二处理器发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存,包括:
利用所述第一OpenCAPI加速卡的第一现场可编程门列阵获取所述第二处理器通过所述第二连接发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存。
可选的,所述利用所述第一OpenCAPI加速卡的第一现场可编程门列阵获取所述第二处理器通过所述第二连接发送的针对所述访问请求返回的内存数据,包括:
通过所述第二OpenCAPI加速卡的第二现场可编程门列获取由所述第二处理器发送的针对所述访问请求返回的内存数据;
利用所述第一OpenCAPI加速卡的第一现场可编程门列阵获取所述第二OpenCAPI加速卡通过所述第二连接发送的所述内存数据。
可选的,所述将所述内存数据写入内存,包括:
利用所述OpenCAPI总线接口获取所述第一现场可编程门列阵发送的所述内存数据,然后通过所述第一处理器将所述内存数据写入内存。
可选的,所述将所述内存数据写入内存,包括:
利用内部互联总线将所述第一现场可编程门列阵中存储的所述内存数据写入内存。
第二方面,本申请公开了一种内存访问装置,应用于OpenPower服务器中的第一计算节点,包括:
连接建立模块,用于在第一处理器与第一OpenCAPI加速卡之间建立第一连接;
请求发送模块,用于基于所述第一连接以及预先在所述第一计算节点与第二计算节点之间建立的第二连接通过所述第一处理器向所述第二计算节点的第二处理器发送内存数据访问请求;
内存写入模块,用于获取所述第二处理器发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的内存访问方法的步骤。
第四方面,本申请公开了一种内存访问系统,包括多个前述公开的电子设备。
可见,本申请首先在第一处理器与第一OpenCAPI加速卡之间建立第一连接;然后基于所述第一连接以及预先在所述第一计算节点与第二计算节点之间建立的第二连接通过所述第一处理器向所述第二计算节点的第二处理器发送内存数据访问请求;最后获取所述第二处理器发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存。由此可见,本申请在计算节点内通过第一处理器与第一OpenCAPI加速卡建立第一连接,并在第一计算节点和第二计算节点之间建立第二连接,通过这种方式,第一处理器能通过第一连接和第二连接访问第二计算节点中第二处理器的内存数据;如此一来,基于OpenCAPI的这种内存访问方式能够保证第一计算节点内处理器和第二计算节点内处理器访问同一个内存地址时的缓存一致性,提高了内存使用效率,进而实现内存数据共享。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种内存访问方法流程图;
图2为本申请公开的两台两路OpenPOWER服务器计算节点间内存访问流程图;
图3为本申请公开的一种具体的内存访问方法流程图;
图4为本申请公开的一种5个服务器计算节点之间通过OpenCAPI加速卡进行缓存一致性互联的拓扑图;
图5为本申请公开的一种18个服务器计算节点之间通过OpenCAPI加速卡进行缓存一致性互联的拓扑图;
图6为本申请公开的一种内存访问装置结构示意图;
图7为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,服务器单节点可实现的内存容量和计算能力有限;而服务器集群的计算能力和内存容量相比于前者都有大大的提高,但不同服务器节点的处理器之间无法实现缓存一致性,处理器无法直接访问其他服务器内处理器的内存,也即无法实现内存共享,也就无法从本质上增加单颗处理器的可访问内存容量。因而不同节点内的处理器仍然是进行单独的计算和数据存储操作,这是不利于提高服务器资源利用率的。为此,本申请实施例公开了一种内存访问方法、装置、设备及介质,能够访问其他计算节点中处理器的内存数据,进而实现不同计算节点的处理器之间的缓存一致性。
参见图1所示,本申请实施例公开了一种内存访问方法,该方法包括:
步骤S11:在第一处理器与第一OpenCAPI加速卡之间建立第一连接。
本实施例中,上述在第一处理器与第一OpenCAPI加速卡之间建立第一连接,可以包括:通过第一处理器的OpenCAPI总线接口与计算板的第一SlimSAS连接器建立第三连接,以及通过所述第一SlimSAS连接器与第一OpenCAPI加速卡中的第二SlimSAS连接器建立第四连接;然后基于所述第三连接和所述第四连接得到第一连接。可以理解的是,上述第一连接可以包括第一处理器的OpenCAPI总线接口与计算板的第一SlimSAS连接器建立的第三连接以及第一SlimSAS连接器与第一OpenCAPI加速卡中的第二SlimSAS连接器建立的第四连接。
参见图2所示,本申请实施例公开了两台两路OpenPOWER服务器计算节点间内存访问流程图,在本实施例中的两路OpenPOWER服务器中,每个CPU(即上述处理器)可以提供两组OpenCAPI总线接口,一个节点内两个CPU最多可提供四组OpenCAPI总线接口。以计算节点1中的处理器1和计算节点2中的处理器2为例,计算板上将处理器1的OpenCAPI接口连接到可以支持25G速率的SlimSAS连接器;OpenCAPI加速卡和计算板之间OpenCAPI信号通过SlimSAS线缆进行传输,也即图中计算板上的SlimSAS连接器与OpenCAPI加速卡中的SlimSAS连接器通过SlimSAS线缆进行数据的传输。需要指出的是,OpenCAPI为一种支持缓存一致性的开放互联总线标准,OpenPOWER CPU可以支持OpenCAPI3.0协议,其支持速率为25Gbps;OpenCAPI加速卡为一张半高半长PCIe结构形态的OpenCAPI适配器卡,卡上控制器为一块FPGA芯片;OpenCAPI加速卡的供电和管理通过标准PCIe接口实现,即OpenCAPI适配器需要占用一个半高半长标准PCIe槽位。一般来说常规服务器都可以支持半高半长的PCIe卡,OpenCAPI加速卡通过借用标准PCIe形态,其供电、管理、散热和结构等实现起来较为简单,不需要在服务器上额外开发供电、管理、散热和结构设计。
步骤S12:基于所述第一连接以及预先在所述第一计算节点与第二计算节点之间建立的第二连接通过所述第一处理器向所述第二计算节点的第二处理器发送内存数据访问请求。
本实施例中,第一计算节点中的第一处理器可以通过与第一OpenCAPI加速卡之间建立的第一连接以及预先在第一计算节点与第二计算节点之间建立的第二连接向第二计算节点中第二处理器发送内存数据访问请求,以获取相应的内存数据。上述内存访问方法,还可以包括:在所述第一OpenCAPI加速卡的第一QSFP+接口与所述第二计算节点中第二OpenCAPI加速卡的第二QSFP+接口建立100G以太网连接,以得到所述第二连接。图2中,OpenCAPI加速卡的对外接口为标准QSFP+接口,支持标准100Gbps以太网线缆,因此,在不同计算节点的OpenCAPI加速卡之间通过一根100Gbps以太网线缆进行连接,以得到上述第二连接。一个两路服务器节点最多可以支持4张OpenCAPI加速卡,因此可以通过OpenCAPI加速卡连接到4个计算节点去访问其处理器和内存。现有技术中计算节点1和计算节点2各自的处理器1和处理器2是已有缓存一致性技术的。通过上述技术方案计算节点1的处理器1和计算节点2的处理器1之间实现了缓存一致性,即计算节点1的处理器1不仅可以访问本地内存1和本地内存2,还可以访问计算节点2的远端内存1,反之计算节点2的处理器1不仅可以访问本地内存1和本地内存2,还可以访问计算节点1的远端内存1。
进一步,结合现有技术中同节点内处理器1和处理器2之间的缓存一致性连接和本申请中的不同节点内基于OpenCAPI的缓存一致性连接,可以实现计算节点1的处理器1、计算节点1的处理器2、计算节点2的处理器1及计算节点2的处理器2总共4个处理器之间的缓存一致性。举例来说,计算节点1的处理器1经过OpenCAPI协议访问计算节点2的处理器1,再经过节点内缓存一致性协议访问计算节点2的处理器2的内存,即以两跳方式实现两个处理器之间的内存共享。
步骤S13:获取所述第二处理器发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存。
本实施例中,获取第二处理器发送的针对上述访问请求的内存数据,并将内存数据写入本地内存,提高了内存使用效率,并实现内存数据共享。
可见,本申请首先在第一处理器与第一OpenCAPI加速卡之间建立第一连接;然后基于所述第一连接以及预先在所述第一计算节点与第二计算节点之间建立的第二连接通过所述第一处理器向所述第二计算节点的第二处理器发送内存数据访问请求;最后获取所述第二处理器发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存。由此可见,本申请在计算节点内通过第一处理器与第一OpenCAPI加速卡建立第一连接,并在第一计算节点和第二计算节点之间建立第二连接,通过这种方式,第一处理器能通过第一连接和第二连接访问第二计算节点中第二处理器的内存数据;如此一来,基于OpenCAPI的这种内存访问方式能够保证第一计算节点内处理器和第二计算节点内处理器访问同一个内存地址时的缓存一致性,提高了内存使用效率,进而实现内存数据共享。
参见图3所示,本申请实施例公开了一种具体的内存访问方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体包括:
步骤S21:在第一处理器与第一OpenCAPI加速卡之间建立第一连接。
步骤S22:基于所述第一连接以及预先在所述第一计算节点与第二计算节点之间建立的第二连接通过所述第一处理器向所述第二计算节点的第二处理器发送内存数据访问请求。
步骤S23:利用所述第一OpenCAPI加速卡的第一现场可编程门列阵获取所述第二处理器通过所述第二连接发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存。
本实施例中,上述利用所述第一OpenCAPI加速卡的第一现场可编程门列阵获取所述第二处理器通过所述第二连接发送的针对所述访问请求返回的内存数据,包括:通过所述第二OpenCAPI加速卡的第二现场可编程门列获取由所述第二处理器发送的针对所述访问请求返回的内存数据;利用所述第一OpenCAPI加速卡的第一现场可编程门列阵获取所述第二OpenCAPI加速卡通过所述第二连接发送的所述内存数据。需要指出的是,OpenCAPI加速卡中的现场可编程门列阵(Field Programmable Gate Array,即FPGA)被配置为OpenCAPI接口IP核和100G网络控制器IP核,FPGA可以将处理器发来的OpenCAPI数据通过100G以太网络进行转发或来自100G以太网络的数据通过OpenCAPI接口发给处理器或者直接通过内部互联总线写入到内存。因此,在获取内存数据时,首先是由第二OpenCAPI加速卡的第二现场可编程门列获取到由第二处理器发送的针对访问请求返回的内存数据,再由第一OpenCAPI加速卡的第一现场可编程门列阵获取第二OpenCAPI加速卡通过100G以太网连接发送的内存数据。
在一种具体实施例中,上述将所述内存数据写入内存,包括:利用所述OpenCAPI总线接口获取所述第一现场可编程门列阵发送的所述内存数据,然后通过所述第一处理器将所述内存数据写入内存。也即,本实施例中可以将第一现场可编程门列阵中存储的来自100G以太网络的数据通过OpenCAPI总线接口发给第一处理器,再由第一处理器写入本地内存。
在另一种具体实施例中,上述将所述内存数据写入内存,包括:利用内部互联总线将所述第一现场可编程门列阵中存储的所述内存数据写入内存。也即,本实施例中可以将第一现场可编程门列阵中存储的来自100G以太网络的数据直接通过内部互联总线写入本地内存。
其中,关于上述步骤S21和S22更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例在获取第二处理器发送的针对访问请求返回的内存数据时,是利用第一OpenCAPI加速卡的第一现场可编程门列阵获取第二处理器通过第二连接发送的针对访问请求返回的内存数据,并且在将内存数据写入本地内存时,一方面可以利用第一计算节点的OpenCAPI总线接口获取第一现场可编程门列阵发送的内存数据,然后通过第一处理器将内存数据写入本地内存;另一方面可以直接利用内部互联总线将第一现场可编程门列阵中存储的内存数据写入内存。
需要指出的是,本申请的技术方案不限于2个计算节点之间的连接,可以扩展到更多计算节点内的缓存一致性互联,其规模可以组成缓存一致性内存共享的集群系统,大大提高了单节点可访问内存的容量和带宽。图4公开了一种5个服务器计算节点之间通过OpenCAPI加速卡进行缓存一致性互联的拓扑图,其中,每两个计算节点之间均有一个100Gbps的光纤线缆(即100G以太网),这种连接方式4倍扩展了内存访问空间,同时有效控制了访问远程内存的延迟,即每两个计算节点之间只有一次OpenCAPI跳转。比如,计算节点1访问计算节点2/3/4/5的内存称为访问远程内存,其延时要大于访问计算节点1内的本地内存,其延时的增量为OpenCAPI互联链路产生的延时。而对于内存容量要求更高,但内存延迟要求不高的应用,可以扩展更多计算节点之间的基于OpenCAPI加速卡的缓存一致性互联,图5公开了一种18个服务器计算节点之间通过OpenCAPI加速卡进行缓存一致性互联的拓扑图,这种连接方式下,所有计算节点仍能够保持缓存一致性,但远程内存的延迟会有增加,即需要多次OpenCAPI加速卡的跳转。如节点1处理器访问节点18的远程内存需要5次OpenCAPI跳转,如附图3中虚线所示。本发明在技术上可以实现更多节点的互联,但需要综合考虑所带来的内存访问延迟和应用实际所需内存空间。需要注意的是,本发明的多节点互联系统中远程内存的访问延迟大于本地内存,针对此问题,将热数据存储在延迟更低的本地内存,冷数据存储在延迟更高的远程内存,通过数据冷热分层提高了数据访问效率;另外,本实施例中冷热数据分层具体可以在应用层中实现。
参见图6所示,本申请实施例公开了一种内存访问装置,应用于OpenPower服务器中的第一计算节点,该装置包括:
连接建立模块11,用于在第一处理器与第一OpenCAPI加速卡之间建立第一连接;
请求发送模块12,用于基于所述第一连接以及预先在所述第一计算节点与第二计算节点之间建立的第二连接通过所述第一处理器向所述第二计算节点的第二处理器发送内存数据访问请求;
内存写入模块13,用于获取所述第二处理器发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存。
可见,本申请首先在第一处理器与第一OpenCAPI加速卡之间建立第一连接;然后基于所述第一连接以及预先在所述第一计算节点与第二计算节点之间建立的第二连接通过所述第一处理器向所述第二计算节点的第二处理器发送内存数据访问请求;最后获取所述第二处理器发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存。由此可见,本申请在计算节点内通过第一处理器与第一OpenCAPI加速卡建立第一连接,并在第一计算节点和第二计算节点之间建立第二连接,通过这种方式,第一处理器能通过第一连接和第二连接访问第二计算节点中第二处理器的内存数据;如此一来,基于OpenCAPI的这种内存访问方式能够保证第一计算节点内处理器和第二计算节点内处理器访问同一个内存地址时的缓存一致性,提高了内存使用效率,进而实现内存数据共享。
图7为本申请实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由计算机设备执行的内存访问方法中的相关步骤。
本实施例中,电源23用于为计算机设备20上的各硬件设备提供工作电压;通信接口24能够为计算机设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制计算机设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由计算机设备20执行的内存访问方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括计算机设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的由内存访问过程中执行的方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种内存访问方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种内存访问方法,其特征在于,应用于OpenPower服务器中的第一计算节点,包括:
在第一处理器与第一OpenCAPI加速卡之间建立第一连接;
基于所述第一连接以及预先在所述第一计算节点与第二计算节点之间建立的第二连接通过所述第一处理器向所述第二计算节点的第二处理器发送内存数据访问请求;
获取所述第二处理器发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存。
2.根据权利要求1所述的内存访问方法,其特征在于,所述在第一处理器与第一OpenCAPI加速卡之间建立第一连接,包括:
通过第一处理器的OpenCAPI总线接口与计算板的第一SlimSAS连接器建立第三连接,以及通过所述第一SlimSAS连接器与第一OpenCAPI加速卡中的第二SlimSAS连接器建立第四连接;
基于所述第三连接和所述第四连接得到第一连接。
3.根据权利要求1所述的内存访问方法,其特征在于,还包括:
在所述第一OpenCAPI加速卡的第一QSFP+接口与所述第二计算节点中第二OpenCAPI加速卡的第二QSFP+接口建立100G以太网连接,以得到所述第二连接。
4.根据权利要求1至3任一项所述的内存访问方法,其特征在于,所述获取所述第二处理器发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存,包括:
利用所述第一OpenCAPI加速卡的第一现场可编程门列阵获取所述第二处理器通过所述第二连接发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存。
5.根据权利要求4所述的内存访问方法,其特征在于,所述利用所述第一OpenCAPI加速卡的第一现场可编程门列阵获取所述第二处理器通过所述第二连接发送的针对所述访问请求返回的内存数据,包括:
通过所述第二OpenCAPI加速卡的第二现场可编程门列获取由所述第二处理器发送的针对所述访问请求返回的内存数据;
利用所述第一OpenCAPI加速卡的第一现场可编程门列阵获取所述第二OpenCAPI加速卡通过所述第二连接发送的所述内存数据。
6.根据权利要求4所述的内存访问方法,其特征在于,所述将所述内存数据写入内存,包括:
利用所述OpenCAPI总线接口获取所述第一现场可编程门列阵发送的所述内存数据,然后通过所述第一处理器将所述内存数据写入内存。
7.根据权利要求4所述的内存访问方法,其特征在于,所述将所述内存数据写入内存,包括:
利用内部互联总线将所述第一现场可编程门列阵中存储的所述内存数据写入内存。
8.一种内存访问装置,其特征在于,应用于OpenPower服务器中的第一计算节点,包括:
连接建立模块,用于在第一处理器与第一OpenCAPI加速卡之间建立第一连接;
请求发送模块,用于基于所述第一连接以及预先在所述第一计算节点与第二计算节点之间建立的第二连接通过所述第一处理器向所述第二计算节点的第二处理器发送内存数据访问请求;
内存写入模块,用于获取所述第二处理器发送的针对所述访问请求返回的内存数据,并将所述内存数据写入内存。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的内存访问方法的步骤。
10.一种内存访问系统,其特征在于,包括多个如权利要求9所述的电子设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210428591.7A CN114860431A (zh) | 2022-04-22 | 2022-04-22 | 一种内存访问方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210428591.7A CN114860431A (zh) | 2022-04-22 | 2022-04-22 | 一种内存访问方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114860431A true CN114860431A (zh) | 2022-08-05 |
Family
ID=82632492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210428591.7A Pending CN114860431A (zh) | 2022-04-22 | 2022-04-22 | 一种内存访问方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114860431A (zh) |
-
2022
- 2022-04-22 CN CN202210428591.7A patent/CN114860431A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9223579B2 (en) | Handling atomic operations for a non-coherent device | |
CN107111558A (zh) | Nfvs和其他生产者‑消费者工作负载vm间通信性能和能量改进的硬件/软件协同优化 | |
US8473567B2 (en) | Generating a packet including multiple operation codes | |
JP3628595B2 (ja) | 少なくとも1つのnuma(non−uniformmemoryaccess)データ処理システムとして構成可能な相互接続された処理ノード | |
CN103744644B (zh) | 采用四核结构搭建的四核处理器系统及数据交换方法 | |
CN114020655A (zh) | 一种内存扩展方法、装置、设备及存储介质 | |
US10198373B2 (en) | Uniform memory access architecture | |
CN103049422A (zh) | 一种具有多cache一致性域的多处理器节点系统构建方法 | |
CN115934366A (zh) | 服务器存储扩展方法、装置、设备、介质及整机柜系统 | |
CN112948149A (zh) | 一种远端内存共享方法、装置、电子设备及存储介质 | |
CN115374046B (zh) | 一种多处理器数据交互方法、装置、设备及存储介质 | |
CN117312229B (zh) | 一种数据传输装置、数据处理设备、系统、方法及介质 | |
CN114840339A (zh) | Gpu服务器、数据计算方法及电子设备 | |
US6965972B2 (en) | Real time emulation of coherence directories using global sparse directories | |
CN110383254A (zh) | 优化与网络节点相关联的内存映射 | |
CN116028232B (zh) | 跨机柜服务器内存池化方法、装置、设备、服务器及介质 | |
CN117033330A (zh) | 一种多核文件共享系统及其控制方法 | |
WO2023124304A1 (zh) | 芯片的缓存系统、数据处理方法、设备、存储介质及芯片 | |
CN114860431A (zh) | 一种内存访问方法、装置、设备及介质 | |
JP7379794B2 (ja) | プロセッサ及び実現方法、電子機器、及び記憶媒体 | |
CN116483553A (zh) | 计算设备、数据处理方法、系统及相关设备 | |
CN114237717A (zh) | 一种多核异构处理器片上暂存动态调度管理器 | |
CN113703958B (zh) | 多架构处理器间的数据访问方法、装置、设备及存储介质 | |
CN117806833B (zh) | 一种数据处理系统、方法及介质 | |
CN116962259B (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 |