CN105653476A - 一种数据处理器件与内存设备的通信方法及相关装置 - Google Patents

一种数据处理器件与内存设备的通信方法及相关装置 Download PDF

Info

Publication number
CN105653476A
CN105653476A CN201410635552.XA CN201410635552A CN105653476A CN 105653476 A CN105653476 A CN 105653476A CN 201410635552 A CN201410635552 A CN 201410635552A CN 105653476 A CN105653476 A CN 105653476A
Authority
CN
China
Prior art keywords
data processing
processing device
control module
switching
processing devices
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.)
Granted
Application number
CN201410635552.XA
Other languages
English (en)
Other versions
CN105653476B (zh
Inventor
张科
陈明宇
祁鹏飞
阮元
张立新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201410635552.XA priority Critical patent/CN105653476B/zh
Publication of CN105653476A publication Critical patent/CN105653476A/zh
Application granted granted Critical
Publication of CN105653476B publication Critical patent/CN105653476B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Multi Processors (AREA)

Abstract

本发明公开了一种数据处理器件与内存设备的通信方法及相关装置,以实现多个数据处理器件间的直接通信,并在一定程度上减少协议开销,降低传输延时,提高传输效率。在本发明一些可行的实施方式中,方法包括:控制模块通过所述通知总线获取第一数据处理器件发出的指令信号,所述指令信号用于指示所述第一数据处理器件需要获取所述内存设备的读写控制权限,所述第一数据处理器件是所述多个数据处理器件中的任一个数据处理器件;所述控制模块获取所述第一数据处理器件发出的所述指令信号后,发出切换信号给所述交换电路,以指示所述交换电路进行电路切换,使得有且只有所述第一数据处理器件与所述内存设备建立通信连接。

Description

一种数据处理器件与内存设备的通信方法及相关装置
技术领域
本发明涉及计算机及通信技术领域,具体涉及一种数据处理器件与内存设备的通信方法及相关装置。
背景技术
随着数据中心内部数据流量越来越大,服务器对快速、大容量数据通信的需求越来越强。高密度计算已成为新型服务器的主要发展趋势之一,单位空间内集成处理器的数目越来越多。例如,在1RU/2RU(RackUnit,机柜单元)标准服务器的主板上通常可集成2-4个Xeonx86处理器。另外,AMD公司的SeaMicro服务器在10RU机箱中已经集成了384个Atomx86处理器。如何实现多处理器间快速的数据交换和通信则成为亟待解决的问题。
现有的通信机制依赖以太网、PCIe(PeripheralComponentInterconnect-Express,一种总线和接口标准)、InfiniBand(一种总线和接口标准)等通信传输协议。然而这些机制最大的问题就是,应用程序的实际数据(PurePayloadData)需要经过多次的打包、解包过程(协议转换),才能到达对端节点并被使用,所以传输延时较长,传输效率较低。
另外,一些新型的通信机制,例如共享内存机制(SharedMemory),是将本地内存作为应用程序准备数据与网络应用传输数据的中间媒介,或以逻辑上多处理器、多节点共享的内存空间作为数据交换区域。但是,共享内存机制依赖于软件层面的数据拷贝,并且,在通信传输过程中存在协议开销,如PCIe或TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/因特网互联协议,又名网络通讯协议)等协议。
高端服务器的处理器核间、片间的一致性总线(如IntelQPI、IBMSMPInterconnect)也可用于核间、片间的高速通信。但是,一致性协议的消息会占用了大量QPI(QuickPathInterconnect,快速通道互联)带宽,且传输过程需要处理器维持传输状态。因此,处理器核间、片间的一致性总线虽可用于多处理器间的数据交换,但实际有效的数据传输带宽并不高。
实践发现,虽然现有的多种通信技术可用于多处理器间的数据通信,但是,具有传输延时较长,传输效率较低,存在大量协议开销的问题。
发明内容
本发明实施例提供一种数据处理器件与内存设备的通信及相关装置,以实现多个数据处理器件通过内存上设备直接通信,并在一定程度上减少协议开销,降低传输延时,提高传输效率。
本发明第一方面提供一种数据处理器件与内存设备的通信方法,用于计算机主板;所述计算机主板包括板级子系统,所述板级子系统包括多个数据处理器件,内存设备,交换电路和控制模块;所述多个数据处理器件通过所述交换电路与所述内存设备连接,且所述多个数据处理器件通过通知总线与所述控制模块连接,所述控制模块与所述交换电路连接;所述方法包括:所述控制模块通过所述通知总线获取第一数据处理器件发出的指令信号,所述指令信号用于指示所述第一数据处理器件需要获取所述内存设备的读写控制权限,所述第一数据处理器件是所述多个数据处理器件中的任一个数据处理器件;所述控制模块获取所述第一数据处理器件发出的所述指令信号后,发出切换信号给所述交换电路,以指示所述交换电路进行电路切换,使得有且只有所述第一数据处理器件与所述内存设备建立通信连接。
结合第一方面,在第一种可能的实现方式中,所述多个数据处理器件中用于传输刷新命令的控制地址信号线与所述控制模块连接;所述发出切换信号给所述交换电路之前还包括:所述控制模块通过所述控制地址信号线获取第二数据处理器件发出的刷新命令,所述第二数据处理器件是当前与所述内存设备建立通信连接的数据处理器件;所述发出切换信号给所述交换电路包括:从获取所述刷新命令时起,达到预设延迟阈值后再发出切换信号给所述交换电路。
本发明第二方面提供另一种数据处理器件与内存设备的通信方法,用于计算机主板;所述计算机主板包括板级子系统,所述板级子系统包括多个数据处理器件,内存设备,交换电路和控制模块;所述多个数据处理器件通过所述交换电路与所述内存设备连接,且所述多个数据处理器件通过通知总线与所述控制模块连接,所述控制模块与所述交换电路连接;所述多个数据处理器件包括第一数据处理器件,所述第一数据处理器件是所述多个数据处理器件中的任一个数据处理器件;所述方法包括:所述第一数据处理器件通过所述通知总线发送用于获取所述内存设备的读写控制权限的指令信号;所述控制模块通过所述通知总线获取所述第一数据处理器件发出的所述指令信号后,发出切换信号给所述交换电路;所述交换电路收到所述切换信号后进行电路切换,使得有且只有所述第一数据处理器件与所述内存设备通信连接。
结合第二方面,在第一种可能的实现方式中,所述多个数据处理器件中用于传输刷新命令的控制地址信号线与所述控制模块连接;所述发出切换信号给所述交换电路之前还包括:所述控制模块通过所述控制地址信号线获取第二数据处理器件发出的刷新命令,所述第二数据处理器件是当前与所述内存设备通信连接的数据处理器件;所述发出切换信号给所述交换电路包括:从获取所述刷新命令时起,达到预设延迟阈值后再发出切换信号给所述交换电路。
本发明第三方面提供一种控制模块,用于计算机主板;所述计算机主板包括板级子系统,所述板级子系统包括多个数据处理器件,内存设备,交换电路和所述控制模块;所述多个数据处理器件通过所述交换电路与所述内存设备连接,且所述多个数据处理器件通过通知总线与所述控制模块连接,所述控制模块与所述交换电路连接;所述控制模块包括:监测单元,用于通过所述通知总线获取第一数据处理器件发出的指令信号,所述指令信号用于指示所述第一数据处理器件需要获取所述内存设备的读写控制权限,所述第一数据处理器件是所述多个数据处理器件中的任一个数据处理器件;发送单元,用于在所述监测单元获取所述第一数据处理器件发出的所述指令信号后,发出切换信号给所述交换电路,以指示所述交换电路进行电路切换,使得有且只有所述第一数据处理器件与所述内存设备通信连接。
结合第三方面,在第一种可能的实现方式中,所述多个数据处理器件中用于传输刷新命令的控制地址信号线与所述控制模块连接;所述监测单元还用于通过所述控制地址信号线获取第二数据处理器件发出的刷新命令,所述第二数据处理器件是当前与所述内存设备通信连接的数据处理器件;述发送单元具体用于从所述监测单元获取所述刷新命令时起,达到预设延迟阈值后再发出切换信号给所述交换电路。
本发明第四方面提供一种板级子系统,用于计算机主板;所述板级子系统包括多个数据处理器件,内存设备,交换电路和控制模块;所述多个数据处理器件通过所述交换电路与所述内存设备连接,且所述多个数据处理器件通过通知总线与所述控制模块连接,所述控制模块与所述交换电路连接;所述多个数据处理器件包括第一数据处理器件,所述第一数据处理器件是所述多个数据处理器件中的任一个数据处理器件;其中,所述第一数据处理器件,用于通过所述通知总线发送用于获取所述内存设备的读写控制权限的指令信号;所述控制模块,用于通过所述通知总线获取所述第一数据处理器件发出的所述指令信号后,发出切换信号给所述交换电路;所述交换电路,用于收到所述切换信号后进行电路切换,使得有且只有所述第一数据处理器件与所述内存设备通信连接。
结合第四方面,在第一种可能的实现方式中,所述多个数据处理器件中用于传输刷新命令的控制地址信号线与所述控制模块连接;所述控制模块还用于通过所述控制地址信号线获取第二数据处理器件发出的刷新命令,所述第二数据处理器件是当前与所述内存设备通信连接的数据处理器件;所述控制模块具体用于从获取所述刷新命令时起,达到预设延迟阈值后再发出切换信号给所述交换电路。
本发明第五方面提供一种计算机主板,所述计算机主板上集成板级子系统,所述板级子系统是如本发明第四方面所述的板级子系统。
结合第五方面,在第一种可能的实现方式中,所述计算机主板上集成有至少两个所述板级子系统,其中,至少一个数据处理器件同时属于两个所述板级子系统。
结合第五方面,在第二种可能的实现方式中,所述计算机主板上集成有至少两个所述板级子系统,其中,两个所述板级子系统的交换电路相互连接,使得任一个所述板级子系统中的任一个数据处理器件能够与另一个所述板级子系统中的任一个内存设备通信连接。
本发明第六方面提供一种计算机设备,包括:如本发明第五方面所述的计算机主板。
由上可见,本发明实施例通过采用上述技术方案,取得了以下技术效果:
本发明技术方案中多个数据处理器件可以分时共享同一内存设备,从而可以利用该共享的内存设备直接通信,避免了通信传输过程中的协议开销,消除了不必要的数据流动,缩短了通信距离,有利于缩短传输时延,提高传输效率,实现了多数据处理器件间快速的大容量数据交换;
本发明技术方案中通过交换电路在硬件层面上进行协调控制,使得同一时刻有且只有一个数据处理器件可以获得内存设备的读写控制权限,可以避免多个数据处理器件之间相互冲突,使得不必从软件层面上进行协调控制;
本发明技术方案中数据处理器件通过直接读写共享的内存设备即完成通信,无需数据处理器件建立及维持传输链路,因而传输效率更高;
本发明技术方案的系统架构有利于加速传统的编程模型,基于共享的内存设备,可形成新的基于公共共享交换空间的编程模型和数据处理模型。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例计算机主板上板级子系统的结构示意图;
图2是本发明实施例提供的一种数据处理器件与内存设备的通信方法的流程图;
图3是本发明实施例提供的另一种数据处理器件与内存设备的通信方法的流程图;
图4是本发明实施例中DDR3Switch的电路结构示意图;
图5是本发明一个应用例中计算机主板上板级子系统的结构示意图;
图6是本发明一个应用例中数据处理器件与内存设备的通信方法的流程图;
图7是本发明实施例提供的一种控制模块的示意图;
图8是本发明一个应用例中计算机主板的结构示意图;
图9是本发明另一个应用例中计算机主板的结构示意图。
具体实施方式
本发明实施例提供一种数据处理器件与内存设备的通信方法及相关装置,以实现多个数据处理器件通过内存设备直接通信,并在一定程度上减少协议开销,降低传输延时,提高传输效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面通过具体实施例,分别进行详细的说明。
请参考图1和图2,本发明实施例提供一种数据处理器件与内存设备的通信方法,该方法用于计算机主板,所述计算机主板包括板级子系统。一块计算机主板上可具有一个或多个板级子系统,多个板级子系统组成板级系统。
请参考图1,所述板级子系统10包括多个数据处理器件101,内存设备102,交换电路103和控制模块104;所述板级子系统10中的多个数据处理器件101通过所述交换电路103与所述内存设备102连接,所述多个数据处理器件101通过通知总线105与所述控制模块104连接,所述控制模块104与所述交换电路103连接。可选的,所说的控制模块104可以是多个数据处理器件101中的一个,也可以集成在所述交换电路103中,还可以是一独立的集成电路。
请参考图2,本发明实施例提供的数据处理器件与内存设备的通信方法可包括:
201、所述控制模块通过所述通知总线获取第一数据处理器件发出的指令信号,所述指令信号用于指示所述第一数据处理器件需要获取所述内存设备的读写控制权限,所述第一数据处理器件是所述多个数据处理器件中的任一个数据处理器件;
202、所述控制模块获取所述第一数据处理器件发出的所述指令信号后,发出切换信号给所述交换电路,以指令所述交换电路进行电路切换,使得有且只有所述第一数据处理器件与所述内存设备通信连接;具体可包括:将所述内存设备与所述第一数据处理器件以外的其它数据处理器件的通信连接断开,并在所述内存设备与所述第一数据处理器件之间建立通信连接,使得有且只有所述第一数据处理器件获得所述内存设备的读写控制权限。
本发明一些实施例中,所述多个数据处理器件中用于传输刷新命令的控制地址信号线与所述控制模块连接;201中所述发出切换信号给交换电路之前,所述方法还包括:所述控制模块通过所述控制地址信号线获取第二数据处理器件发出的刷新命令,所述第二数据处理器件是当前与所述内存设备通信连接的数据处理器件;201中所述发出切换信号给交换电路可包括:从获取所述刷新命令时起,达到预设延迟阈值后再发出切换信号给所述交换电路。其中,所述第二数据处理器件发出的刷新命令具体可以是第二数据处理器件发出的最新的刷新命令。
可以理解,本发明实施例上述方案例如可以在计算机设备具体实施。所述的数据处理器件具体可以是CPU(CentralProcessingUnit,中央处理器)、GPU(GraphicProcessingUnit,图形处理器)、FPGA(Field-ProgrammableGateArray,即现场可编程门阵列)等。
由上可见,本发明实施例通过采用上述技术方案,取得了以下技术效果:
本发明技术方案中,多个数据处理器件可以分时共享同一内存设备,从而可以利用该共享的内存设备直接通信,避免了通信传输过程中的协议开销,消除了不必要的数据流动,缩短了通信距离,有利于缩短传输时延,提高传输效率,实现了多数据处理器件间快速的大容量数据交换;
本发明技术方案中通过交换电路在硬件层面上进行协调控制,使得同一时刻有且只有一个数据处理器件可以获得内存设备的读写控制权限,可以避免多个数据处理器件之间相互冲突,使得不必从软件层面上进行协调控制;
本发明技术方案中数据处理器件通过直接读写共享的内存设备即完成通信,无需数据处理器件建立及维持传输链路,因而传输效率更高;
本发明技术方案的系统架构有利于加速传统的编程模型,基于共享的内存设备,可形成新的基于公共共享交换空间的编程模型和数据处理模型。
请参考图3,本发明实施例提供另一种数据处理器件与内存设备的通信方法,该方法用于计算机主板,计算机主板包括如图1所示的板级子系统。
请参考图1,所述板级子系统10包括多个数据处理器件101,内存设备102,交换电路103和控制模块104;所述板级子系统10中的多个数据处理器件101通过所述交换电路103与所述内存设备102连接,且所述多个数据处理器件101通过通知总线105与所述控制模块104连接,所述控制模块104与所述交换电路103连接。所述多个数据处理器件包括第一数据处理器件,所述第一数据处理器件是所述多个数据处理器件中的任一个数据处理器件。可选的,所说的控制模块104可以是多个数据处理器件101中的一个,也可以集成在所述交换电路103中,还可以是一独立的集成电路。
请参考图3,本发明实施例提供的数据处理器件与内存设备的通信方法可包括:
301、所述第一数据处理器件通过所述通知总线发送用于获取所述内存设备的读写控制权限的指令信号;例如,在需要与所述多个处理器件中的其它数据处理器件通信时,发送指令信号;
302、所述控制模块通过所述通知总线获取所述第一数据处理器件发出的指令信号后,发出切换信号给所述交换电路;
303、所述交换电路收到所述切换信号后进行电路切换,使得有且只有所述第一数据处理器件与所述内存设备通信连接;具体可包括:将所述内存设备与所述第一数据处理器件以外的其它数据处理器件的通信连接断开,在所述内存设备与所述第一数据处理器件之间建立通信连接,使得有且只有所述第一数据处理器件获得所述内存设备的读写控制权限。
本发明一些实施例中,所述多个数据处理器件中用于传输刷新命令的控制地址信号线与所述控制模块连接;302中所述控制模块发出切换信号给所述交换电路之前,所述方法还包括:所述控制模块通过所述控制地址信号线获取第二数据处理器件发出的刷新命令,所述第二数据处理器件是当前与所述内存设备通信连接的数据处理器件;302中所述控制模块发出切换信号给所述交换电路可包括:从获取所述刷新命令时起,达到预设延迟阈值后再发出切换信号给所述交换电路。其中,所述第二数据处理器件发出的刷新命令具体可以是第二数据处理器件发出的最新的刷新命令。
可以理解,本发明实施例上述方案例如可以在计算机设备具体实施。所述的数据处理器件具体可以是CPU、GPU、FPGA等。
由上可见,本发明实施例通过采用上述技术方案,取得了以下技术效果:
本发明技术方案中,多个数据处理器件可以分时共享同一内存设备,从而可以利用该共享的内存设备直接通信,避免了通信传输过程中的协议开销,消除了不必要的数据流动,缩短了通信距离,有利于缩短传输时延,提高传输效率,实现了多数据处理器件间快速的大容量数据交换;
本发明技术方案中通过交换电路在硬件层面上进行协调控制,使得同一时刻有且只有一个数据处理器件可以获得内存设备的读写控制权限,可以避免多个数据处理器件之间相互冲突,使得不必从软件层面上进行协调控制;
本发明技术方案中数据处理器件通过直接读写共享的内存设备即完成通信,无需数据处理器件建立及维持传输链路,因而传输效率更高;
本发明技术方案的系统架构有利于加速传统的编程模型,基于共享的内存设备,可形成新的基于公共共享交换空间的编程模型和数据处理模型。
下面,对本发明实施例技术方案做进一步详细的说明。
1、内存通信机制
本发明最需要解决的一个技术问题是:如何消除不必要的数据流动,实现数据处理器件间快速的大容量数据交换和通信。为此,本发明所采用的方案是,利用共享的内存空间直接通信的内存通信机制。
本发明技术方案应用于计算机主板,计算机主板上的每个板级子系统包括多个数据处理器件。每个数据处理器件中包括有一个内存控制器,用来连接和控制内存设备。每个内存控制器可以有多个内存控制器通道。将一个内存控制器通道连接到主板上的一个内存设备,就形成一个内存通道。每个数据处理器件中的内存控制器可通过多个内存通道连接主板上的多个内存设备。所说的内存设备可以采用内存模组或内存颗粒。如果采用内存模组,可以在计算机主板上设计有内存插槽(DIMMSlot),内存通道连接到内存插槽,内存模组则插接到内存插槽中。如果采用内存颗粒,可以直接将内存颗粒焊接在计算机主板上。
本发明实施例中,在计算机主板上设有共享的内存设备,并通过硬件电路设计,使得一个板级子系统中的多个数据处理器件都有一条内存通道可通过硬件电路连接到共享的内存设备。例如,可以在计算机主板上设计一个公共的内存插槽,内存模组插接到该公共的内存插槽中作为共享的内存设备,多个数据处理器件的内存通道通过硬件电路连接到该公共的内存插槽。
本发明一些实施例中,所说的内存设备可以采用DDR(DoubleDataRate,双倍速率同步动态随机存储器)芯片,例如DDR1/2/3/4SDRAM(SynchronousDynamicRandomAccessMemory,同步动态随机存储器),或者是其它符合内存规范的内存条,或是内存颗粒。本文中,内存设备也可以采用CommonDIMM(Dual-Inline-Memory-Modules,双列直插式存储模块)或CommunicationDIMM,简称Co-DIMM。
本发明实施例中,通过控制硬件电路,保证同一时刻,有且只有一个数据处理器件与共享的内存设备通信连接,能够读写共享的内存设备,或者说,有且只有一个数据处理器件具有共享的内存设备的读写控制权限。
多个数据处理器件间需要进行通信时,可由一个数据处理器件首先向共享的内存设备写入数据,然后通过带外通信或中断等机制通知另一数据处理器件;随后,切换硬件电路,使另一数据处理器件能够读写共享的内存设备,然后,另一数据处理器件通过访问共享的内存设备获得数据或直接在共享的内存设备中处理数据。
整体达到这样的效果:多个数据处理器件通过各自的内存通道在不同的时间读写共享的内存设备,实现多数据处理器件间大容量、快速的数据通信。
本发明技术方案使用内存通道进行主板上邻近数据处理器件间的通信。多个数据处理器件上的不同应用程序通过读、写特定内存地址空间来进行直接通信和大容量数据交换,不需要进行软件层面的数据拷贝,是一种系统硬件层面或者说计算机主板层面的内存通信机制。
2、内存通道切换机制
常用的数据处理器件(如x86架构的Xeon处理器,或ARM架构的AMDOpteronA1100、APMX-Gene处理器芯片等)通常具有多条内存通道。本发明是将多个数据处理器件中每个数据处理器件的某条内存通道,通过硬件电路连接到同一个内存设备(共享的内存设备),通过控制硬件电路进行内存通道切换,保证同一时刻,有且只有一个数据处理器件与共享的内存设备通信连接,具有共享的内存设备的读写控制权限。本文中,将实现上述内存通道切换功能的硬件电路,称为交换电路。
本发明一些实施例中,可采用DDR信号交换芯片来构建交换电路,实现对多个内存通道的多路选择。优选采用TI公司产品DDR3Switch(TS3DDR3812、TS3DDR3642),或其他公司的二选一DDR信号交换芯片。当然,也可以采用路数更宽(如三选一、四选一等),性能更高(例如:切换延迟更小)的ASIC芯片,来构建交换电路。举例来说,可将DDR通道中的数据部分(DQ、DQS、DQM)以及控制地址信号都使用TI的DDR信号交换芯片(TS3DDR3812、TS3DDR3642)进行两两合并,通过DDR信号多层交换芯片,最终合并到公共的内存插槽,连接至共享的内存设备。
请参考图4,是DDR3Switch(TS3DDR3812、TS3DDR3642)的电路结构示意图,其是专门针对DDR3规范的1:2的高速复用/解复用器,共有3种端口,分别用A、B和C表示。可以以DDR3Switch作为交换电路,通过控制信号选择将DDR3Switch的其中一个端口(A)与另两个端口(B、C)中的任一相连,实现双向信号传输。DDR3Switch芯片具有快速切换(7ns)和低传播延迟(40ps)特性。通过DDR3Switch芯片,可以将一个共享的内存设备连接到两个数据处理器件的内存控制器,由两者协同控制。
3、通知机制
当某个数据处理器件需要获取共享的内存设备的读写控制权限时,可以通过通知总线发出用于获取共享的内存设备的读写控制权限的指令信号。控制模块实时监测通知总线,通过通知总线获取某个数据处理器件发出的指令信号后,发出切换信号给交换电路进行电路切换,使得发出指令信号的数据处理器件与共享的内存设备通信连接,上一时刻与共享的内存设备通信连接的其它数据处理器件则被断开与共享的内存设备的通信连接。
鉴于当前各种内存设备例如DDR内存的特性,需要由数据处理器件中的内存控制器,如CPU芯片的内存控制器,周期性的发出刷新命令给内存设备,以避免内存设备中的数据出错。本发明需要解决的另外一个问题是,如何控制多个数据处理器件中内存控制器各自发出的刷新命令,避免共享的内存设备出错或冲突。
由于同一时刻,有且仅有一个数据处理器件的内存控制器与共享的内存设备通信连接,所以可以依靠此内存控制器去控制共享的内存设备的刷新。可以把多个数据处理器件的内存控制器上与刷新命令相关的若干根控制地址信号线,例如CAS/RAS/WE/CS/CKE,旁路引到控制模块上,由控制模块去监测判断是否有内存控制器发出了共享的内存设备的刷新命令。由于常用DDR信号交换芯片有一定的通信延迟,因此,如果监测到获取指令信号之前,有刷新命令发出,则避免此时立即去切换,而是等待一定的延迟时间再发出切换信号,例如1Gb-4Gb容量的DDR颗粒需要延迟110ns-260ns切换(延迟时间依赖于DDR颗粒的容量)。
本发明一些实施例中,控制模块具体可以采用FPGA(Field-ProgrammableGateArray,现场可编程门阵列)芯片,也可以采用ASIC(ApplicationSpecificIntegratedCircuits,专用集成电路),或者,也可以采用数据处理器件的一个功能模块作为控制模块。
本发明实施例中,通过在多个数据处理器件以及控制模块之间使用一种通知机制来通知和仲裁哪个数据处理器件独占使用共享的内存设备,并由控制模块发送切换信号给交换电路实现内存通道切换。上述通知机制由多个数据处理器件以及控制模块之间的通知总线来实现,通知总线例如可以采用IIC总线。
值得说明的是,本发明实施例中,数据处理器件由用于进行数据处理的核心以及集成在数据处理器件内的内存控制器等组成;数据处理器件需要获取内存设备的读写控制权限时,由其核心向通知总线上发出指令信号;数据处理器件需要对共享的内存设备进行读写或刷新等操作时,由其内存控制器向共享的内存设备发出读写命令或刷新命令。
以上,对本发明需要解决的技术问题以及采用的技术方案做了概括描述。
为便于更好的理解本发明实施例提供的技术方案,下面通过一个具体场景下的实施方式为例进行介绍。
首先,介绍硬件结构:
请参考图5,本应用例中,计算机主板上一个板级子系统主要由多个数据处理器件(例如CPU)、控制模块(例如FPGA芯片)、交换电路(例如多个DDR信号交换芯片)、以及内存设备(例如Co-DIMM)组成。以四个数据处理器件共享一个内存设备为例。数据处理器件发出的读写DDR信号通过交换芯片传送至Co-DIMM,实现对Co-DIMM进行读写。所述数据处理器件是带有内存控制器的处理器芯片例如Intel、AMD、APM等,每个数据处理器件具有多条例如4条内存通道,其中三条内存通道可使用传统方式连接标准DIMM,称为LocalDIMM。每个数据处理器件另外的一条内存通道通过交换芯片两两连接,经过两级共三个交换芯片,最后汇聚到公共的内存插槽,其上插入Co-DIMM。多个数据处理器件通过通知总线例如IIC总线与FPGA芯片连接。另外,把多个数据处理器件的内存控制器上用于传输刷新命令的若干根控制地址信号线,旁路引到FPGA芯片上。
需要指出的是,受目前使用的DDR信号交换芯片(简称交换芯片)能力所限,本应用例需要较多片交换芯片,未来可以采用路数更宽的DDR信号交换芯片,从而节省芯片片数和主板布线面积。
下面,介绍实现方法:
基于上述结构的计算机主板,本应用例提供一种数据处理器件与内存设备的通信方法。假设前一个操作中,是数据处理器件2(图5中,从左至右,四个数据处理器件分别为数据处理器件1、数据处理器件2、数据处理器件3、数据处理器件4)对Co-DIMM进行读写访问,下一个操作中,数据处理器件1需要对Co-DIMM进行读写访问。如图6所示,实现方法可包括以下步骤:
S1、为获得Co-DIMM的读写控制权限,数据处理器件1向通知总线发送指令信号;
S2、FPGA芯片通过监测通知总线,获取数据处理器件1发出的指令信号,然后发送切换信号给交换电路。同时,FPGA芯片还检测控制地址信号线,以获取数据处理器件2的内存控制器发出的刷新命令,如果获取到数据处理器件2发出的最新的刷新命令,则避免在收到数据处理器件1的指令信号后立即发送切换信号,而是从获取数据处理器件2的内存控制器发出的刷新命令时起,等待预设延迟阈值后,再发送切换信号给交换电路。
S3、交换电路根据切换信号的指令执行切换操作,使两级DDR信号交换芯片中相关芯片的控制端使能信号开启,从而使得数据处理器件1的读写控制命令和数据信号能通过交换电路传递至Co-DIMM;而其它数据处理器件的读写控制命令和数据信号不能通过交换电路传递至Co-DIMM。
S4、数据处理器件1读写Co-DIMM,例如写入数据;
S5、数据处理器件1读写完毕,继续维持其内存控制器对Co-DIMM的控制,周期性的发送刷新命令给Co-DIMM,以避免Co-DIMM中数据出错或丢失,直到通知总线上有其他数据处理器件发出指令信号。
其它数据处理器件在获取Co-DIMM的读写控制权限后,可通过读取Co-DIMM写入的数据,实现与数据处理器件1的数据交换和通信。
由上可见,本发明实施例通过采用上述技术方案,取得了以下技术效果:
1、传统的数据处理器件间通信的方法,例如采用以太网方式,其通信延迟为几十微秒至几百微秒,带宽接近1Gbps或10Gbps;例如采用PCIeGen2x8,其通信延迟为一至两微秒左右,带宽接近24Gbps(理论40Gbps)。而本发明技术方案中,多个数据处理器件可以分时共享同一内存设备,从而可以利用该共享的内存设备直接通信,避免了通信传输过程中的协议开销,消除了不必要的数据流动,缩短了通信距离,有利于缩短传输时延,提高传输效率,实现了多个数据处理器件间快速的大容量数据交换;本发明方案中,通信延迟可降低到为几百纳秒(即标准的DIMM延迟)至几微秒(考虑到软件切换时间),带宽可增加到为几十至上百Gbps(即标准的DIMM带宽)。
2、本发明技术方案中数据处理器件通过直接读写共享的内存设备即完成通信,无需数据处理器件建立及维持传输链路,因而传输效率更高。传统的数据处理器件间通信过程中需要维持传输链路的建立和保持。而本发明中,数据处理器件通过直接读写共享的内存设备即完成通信,数据可以缓存在公共内存空间并被直接使用的这个特性,有利于Pub/Sub(publisher/subscriber,发布者/订阅者)编程模型、SPARK中RDD(ResilientDistributedDatasets,弹性分布式数据集)的加速执行等。其中,Spark是UCBerkeleyAMPlab(伯克利大学AMP实验室)所开源的类HadoopMapReduce的通用的并行计算框架。
3、本发明技术方案的系统架构有利于加速传统的编程模型,基于共享的内存设备,可形成新的基于公共共享交换空间的编程模型和数据处理模型。在基于消息发布订阅Pub/Sub的异步通信机制中,多个发布者向一个消息中间件系统发布,多个订阅者从中获得消息,使用Co-DIMM可避免经历网络Socket、数据处理器件、内存多个阶段。此外,若消息存入Co-DIMM,发布者和订阅者可直接访问,加速消息访问。SPARK中的RDD机制,可以考虑将公用的RDD块放入Co-DIMM以加速RDD在多节点间的共享使用和处理。Co-DIMM还可以加速传统的基于软件实现的DSM(DistributedSharedMemory,分布式共享内存),以及分布式系统基础架构Hadoop中的Shuffle阶段。
为了更好的实施本发明实施例的上述方案,下面还提供用于配合实施上述方案的相关装置。
请参考图7,本发明实施例提供一种控制模块,该模块用于计算机主板,该计算机主板包括如图1所示的板级子系统。
请参考图1,所述板级子系统10包括多个数据处理器件101,内存设备102,交换电路103和控制模块104;所述板级子系统10中的多个数据处理器件101通过所述交换电路103与所述内存设备102连接,且所述多个数据处理器件101通过通知总线105与所述控制模块104连接,所述控制模块104与所述交换电路103连接。
请参考图7,本发明实施例提供的控制模块104可包括:
监测单元1041,用于通过所述通知总线获取第一数据处理器件发出的指令信号,所述指令信号用于指示所述第一数据处理器件需要获取所述内存设备的读写控制权限,所述第一数据处理器件是所述多个数据处理器件中的任一个数据处理器件;
发送单元1042,用于在所述监测单元获取所述第一数据处理器件发出的所述指令信号后,发出切换信号给所述交换电路,以指令所述交换电路进行电路切换,将所述内存设备与所述第一数据处理器件以外的其它数据处理器件的通信连接断开,并在所述内存设备与所述第一数据处理器件之间建立通信连接,使得有且只有所述第一数据处理器件与所述内存设备通信连接,获得所述内存设备的读写控制权限。
本发明一些实施例中,所述多个数据处理器件中用于传输刷新命令的控制地址信号线与所述控制模块连接;所述监测单元1041还用于通过所述控制地址信号线获取第二数据处理器件发出的刷新命令,所述第二数据处理器件是当前与所述内存设备通信连接的数据处理器件;所述发送单元702具体从所述监测单元1041获取所述刷新命令时起,达到预设延迟阈值后再发出切换信号给所述交换电路。
本发明实施例的控制模块例如可以是FPGA芯片,也可以是ASIC芯片,或者,还可以是CPU。
可以理解,本发明实施例的控制模块的各个功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述方法实施例中的相关描述,此处不再赘述。
由上可见,在本发明的一些可行的实施方式中,通过采用上述技术方案,取得了以下技术效果:
本发明技术方案中,多个数据处理器件可以分时共享同一内存设备,从而可以利用该共享的内存设备直接通信,避免了通信传输过程中的协议开销,消除了不必要的数据流动,缩短了通信距离,有利于缩短传输时延,提高传输效率,实现了多数据处理器件间快速的大容量数据交换;
本发明技术方案中通过交换电路在硬件层面上进行协调控制,使得同一时刻有且只有一个数据处理器件可以获得内存设备的读写控制权限,可以避免多个数据处理器件之间相互冲突,使得不必从软件层面上进行协调控制;
本发明技术方案中数据处理器件通过直接读写共享的内存设备即完成通信,无需数据处理器件建立及维持传输链路,因而传输效率更高;
本发明技术方案的系统架构有利于加速传统的编程模型,基于共享的内存设备,可形成新的基于公共共享交换空间的编程模型和数据处理模型。
请参考图1,本发明实施例提供一种板级子系统,用于计算机主板。
请参考图1,所述板级子系统10包括多个数据处理器件101,内存设备102,交换电路103和控制模块104;所述板级子系统10中的多个数据处理器件101通过所述交换电路103与所述内存设备102连接,且所述多个数据处理器件101通过通知总线105与所述控制模块104连接,所述控制模块104与所述交换电路103连接;所述多个数据处理器件包括第一数据处理器件,所述第一数据处理器件是所述多个数据处理器件中的任一个数据处理器件。其中,
所述第一数据处理器件101,用于通过所述通知总线发送用于获取所述内存设备的读写控制权限的指令信号;
所述控制模块104,用于通过所述通知总线获取所述第一数据处理器件发出的所述指令信号后,发出切换信号给所述交换电路;
所述交换电路103,用于收到所述切换信号后进行电路切换,将所述内存设备与所述第一数据处理器件以外的其它数据处理器件的通信连接断开,在所述内存设备与所述第一数据处理器件之间建立通信连接,使得有且只有所述第一数据处理器件与所述内存设备通信连接,获得所述内存设备的读写控制权限。
所述第一数据处理器件101,还可以用于在获得所述内存设备102的读写控制权限后,发出读写命令给所述内存设备102;所述内存设备102,用于根据第一数据处理器件101发出的读写命令,执行相应的读写操作。
本发明一些实施例中,所述多个数据处理器件中用于传输刷新命令的控制地址信号线与所述控制模块连接;所述控制模块104还用于通过所述控制地址信号线获取第二数据处理器件发出的刷新命令,所述第二数据处理器件是当前与所述内存设备通信连接的数据处理器件;所述控制模块104具体用于从获取所述刷新命令时起,达到预设延迟阈值后再发出切换信号给所述交换电路。
可以理解,本发明实施例的控制模块的各个功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述方法实施例中的相关描述,此处不再赘述。
由上可见,在本发明的一些可行的实施方式中,通过采用上述技术方案,取得了以下技术效果:
本发明技术方案中,多个数据处理器件可以分时共享同一内存设备,从而可以利用该共享的内存设备直接通信,避免了通信传输过程中的协议开销,消除了不必要的数据流动,缩短了通信距离,有利于缩短传输时延,提高传输效率,实现了多数据处理器件间快速的大容量数据交换;
本发明技术方案中通过交换电路在硬件层面上进行协调控制,使得同一时刻有且只有一个数据处理器件可以获得内存设备的读写控制权限,可以避免多个数据处理器件之间相互冲突,使得不必从软件层面上进行协调控制;
本发明技术方案中数据处理器件通过直接读写共享的内存设备即完成通信,无需数据处理器件建立及维持传输链路,因而传输效率更高;
本发明技术方案的系统架构有利于加速传统的编程模型,基于共享的内存设备,可形成新的基于公共共享交换空间的编程模型和数据处理模型。
本发明实施例提供一种计算机主板,所述计算机主板上集成有板级系统,所述板级系统包括多个板级子系统,所述板级子系统是如上文实施例所述的板级子系统。
本发明一些实施例中,所述计算机主板上集成有至少两个板级子系统,其中,至少一个数据处理器件同时属于所述至少两个板级子系统。
请参考图8,是本发明一个应用例中计算机主板的结构示意图,包括四个数据处理器件,每两个相邻的数据处理器件连接一个共享的内存设备。多数据处理器件情况下,使每两个数据处理器件连接一个内存设备,多数据处理器件通过多个内存设备串联起来,可实现数据流式处理。
本发明另一些实施例中,所述计算机主板上集成有至少两个板级子系统,其中,所述至少两个板级子系统的交换电路相互连接,使得任一个板级子系统中的任一个数据处理器件能够与任一个板级子系统中的任一个内存设备通信连接。
请参考图9,是本发明另一个应用例中计算机主板的结构示意图,其中,4个数据处理器件通过多个交换芯片构成的交换电路,连接3个内存设备,以实现多数据处理器件的内存空间快速交换,多数据处理器件同时写公共的内存空间,然后再同时读。这种结构下,可以实现双工通信模式。例如,图9中从左到右的4个数据处理器件分别编号为1、2、3、4,以及,3个Co-DIMM分别编号为1、2、3,则,可以有:数据处理器件1写Co-DIMM1,数据处理器件2写Co-DIMM2;然后数据处理器件1读Co-DIMM2,数据处理器件2读Co-DIMM1。再如:数据处理器件1写Co-DIMM1、读Co-DIMM2;然后数据处理器件2读Co-DIMM1、写Co-DIMM2。
本发明实施例提供一种计算机设备,包括如上文所述的计算机主板。
本发明实施例还提供一种计算机存储介质,该计算机存储介质可存储有程序,该程序执行时包括上述如图2所示的方法实施例中记载的数据处理器件与内存设备的通信方法的部分或全部步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的数据处理器件与内存设备的通信方法及相关装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种数据处理器件与内存设备的通信方法,其特征在于,用于计算机主板;所述计算机主板包括板级子系统,所述板级子系统包括多个数据处理器件,内存设备,交换电路和控制模块;所述多个数据处理器件通过所述交换电路与所述内存设备连接,且所述多个数据处理器件通过通知总线与所述控制模块连接,所述控制模块与所述交换电路连接;所述方法包括:
所述控制模块通过所述通知总线获取第一数据处理器件发出的指令信号,所述指令信号用于指示所述第一数据处理器件需要获取所述内存设备的读写控制权限,所述第一数据处理器件是所述多个数据处理器件中的任一个数据处理器件;
所述控制模块获取所述第一数据处理器件发出的所述指令信号后,发出切换信号给所述交换电路,以指示所述交换电路进行电路切换,使得有且只有所述第一数据处理器件与所述内存设备建立通信连接。
2.根据权利要求1所述的方法,其特征在于,所述多个数据处理器件中用于传输刷新命令的控制地址信号线与所述控制模块连接;
所述发出切换信号给所述交换电路之前还包括:
所述控制模块通过所述控制地址信号线获取第二数据处理器件发出的刷新命令,所述第二数据处理器件是当前与所述内存设备建立通信连接的数据处理器件;
所述发出切换信号给所述交换电路包括:
从获取所述刷新命令时起,达到预设延迟阈值后再发出切换信号给所述交换电路。
3.一种数据处理器件与内存设备的通信方法,其特征在于,用于计算机主板;
所述计算机主板包括板级子系统,所述板级子系统包括多个数据处理器件,内存设备,交换电路和控制模块;所述多个数据处理器件通过所述交换电路与所述内存设备连接,且所述多个数据处理器件通过通知总线与所述控制模块连接,所述控制模块与所述交换电路连接;所述多个数据处理器件包括第一数据处理器件,所述第一数据处理器件是所述多个数据处理器件中的任一个数据处理器件;所述方法包括:
所述第一数据处理器件通过所述通知总线发送用于获取所述内存设备的读写控制权限的指令信号;
所述控制模块通过所述通知总线获取所述第一数据处理器件发出的所述指令信号后,发出切换信号给所述交换电路;
所述交换电路收到所述切换信号后进行电路切换,使得有且只有所述第一数据处理器件与所述内存设备通信连接。
4.根据权利要求3所述的方法,其特征在于,所述多个数据处理器件中用于传输刷新命令的控制地址信号线与所述控制模块连接;
所述发出切换信号给所述交换电路之前还包括:
所述控制模块通过所述控制地址信号线获取第二数据处理器件发出的刷新命令,所述第二数据处理器件是当前与所述内存设备通信连接的数据处理器件;
所述发出切换信号给所述交换电路包括:
从获取所述刷新命令时起,达到预设延迟阈值后再发出切换信号给所述交换电路。
5.一种控制模块,其特征在于,用于计算机主板;所述计算机主板包括板级子系统,所述板级子系统包括多个数据处理器件,内存设备,交换电路和所述控制模块;所述多个数据处理器件通过所述交换电路与所述内存设备连接,且所述多个数据处理器件通过通知总线与所述控制模块连接,所述控制模块与所述交换电路连接;
所述控制模块包括:
监测单元,用于通过所述通知总线获取第一数据处理器件发出的指令信号,所述指令信号用于指示所述第一数据处理器件需要获取所述内存设备的读写控制权限,所述第一数据处理器件是所述多个数据处理器件中的任一个数据处理器件;
发送单元,用于在所述监测单元获取所述第一数据处理器件发出的所述指令信号后,发出切换信号给所述交换电路,以指示所述交换电路进行电路切换,使得有且只有所述第一数据处理器件与所述内存设备通信连接。
6.根据权利要求5所述的控制模块,其特征在于,所述多个数据处理器件中用于传输刷新命令的控制地址信号线与所述控制模块连接;
所述监测单元还用于通过所述控制地址信号线获取第二数据处理器件发出的刷新命令,所述第二数据处理器件是当前与所述内存设备通信连接的数据处理器件;
所述发送单元具体用于从所述监测单元获取所述刷新命令时起,达到预设延迟阈值后再发出切换信号给所述交换电路。
7.一种板级子系统,其特征在于,用于计算机主板;所述板级子系统包括多个数据处理器件,内存设备,交换电路和控制模块;所述多个数据处理器件通过所述交换电路与所述内存设备连接,且所述多个数据处理器件通过通知总线与所述控制模块连接,所述控制模块与所述交换电路连接;所述多个数据处理器件包括第一数据处理器件,所述第一数据处理器件是所述多个数据处理器件中的任一个数据处理器件;其中,
所述第一数据处理器件,用于通过所述通知总线发送用于获取所述内存设备的读写控制权限的指令信号;
所述控制模块,用于通过所述通知总线获取所述第一数据处理器件发出的所述指令信号后,发出切换信号给所述交换电路;
所述交换电路,用于收到所述切换信号后进行电路切换,使得有且只有所述第一数据处理器件与所述内存设备通信连接。
8.根据权利要求7所述的板级子系统,其特征在于,所述多个数据处理器件中用于传输刷新命令的控制地址信号线与所述控制模块连接;
所述控制模块还用于通过所述控制地址信号线获取第二数据处理器件发出的刷新命令,所述第二数据处理器件是当前与所述内存设备通信连接的数据处理器件;
所述控制模块具体用于从获取所述刷新命令时起,达到预设延迟阈值后再发出切换信号给所述交换电路。
9.一种计算机主板,其特征在于,所述计算机主板包括板级子系统,所述板级子系统是如权利要求7或8所述的板级子系统。
10.根据权利要求9所述的计算机主板,其特征在于,所述计算机主板上集成有至少两个所述板级子系统,其中,至少一个数据处理器件同时属于两个所述板级子系统。
11.根据权利要求9所述的计算机主板,其特征在于,所述计算机主板上集成有至少两个所述板级子系统,其中,两个所述板级子系统的交换电路相互连接,使得任一个所述板级子系统中的任一个数据处理器件能够与另一个所述板级子系统中的任一个内存设备通信连接。
12.一种计算机设备,其特征在于,包括如权利要求9-11中任一所述的计算机主板。
CN201410635552.XA 2014-11-12 2014-11-12 一种数据处理器件与内存设备的通信方法及相关装置 Active CN105653476B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410635552.XA CN105653476B (zh) 2014-11-12 2014-11-12 一种数据处理器件与内存设备的通信方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410635552.XA CN105653476B (zh) 2014-11-12 2014-11-12 一种数据处理器件与内存设备的通信方法及相关装置

Publications (2)

Publication Number Publication Date
CN105653476A true CN105653476A (zh) 2016-06-08
CN105653476B CN105653476B (zh) 2019-04-05

Family

ID=56483626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410635552.XA Active CN105653476B (zh) 2014-11-12 2014-11-12 一种数据处理器件与内存设备的通信方法及相关装置

Country Status (1)

Country Link
CN (1) CN105653476B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506266A (zh) * 2016-11-01 2017-03-15 中国人民解放军91655部队 基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法
CN108664325A (zh) * 2017-03-30 2018-10-16 北京视联动力国际信息技术有限公司 处理数据的方法和电子设备
CN108804040A (zh) * 2018-06-05 2018-11-13 上海孚典智能科技有限公司 基于内核旁路技术的Hadoop map-reduce计算加速方法
CN111694532A (zh) * 2020-06-11 2020-09-22 翱捷科技(上海)有限公司 单芯片异构系统的显示控制方法和可穿戴设备
CN111949317A (zh) * 2019-05-17 2020-11-17 上海寒武纪信息科技有限公司 指令处理方法、装置及相关产品
CN111966628A (zh) * 2020-07-30 2020-11-20 电子科技大学 一种多核组合式大容量数据同步存储方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000596A (zh) * 2007-01-22 2007-07-18 北京中星微电子有限公司 一种可实现芯片内多核间通信的芯片及通信方法
CN101187908A (zh) * 2007-09-27 2008-05-28 上海大学 单芯片多处理器共享数据存储空间的访问方法
CN101441616B (zh) * 2008-11-24 2010-12-08 中国人民解放军信息工程大学 基于寄存器文件的快速数据交换结构及其管理方法
CN103257946A (zh) * 2013-05-24 2013-08-21 浪潮电子信息产业股份有限公司 一种紧耦合多控存储系统控制器之间的高速互联方法
CN203397353U (zh) * 2013-08-07 2014-01-15 格科微电子(上海)有限公司 基于超宽总线的芯片架构

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506266A (zh) * 2016-11-01 2017-03-15 中国人民解放军91655部队 基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法
CN106506266B (zh) * 2016-11-01 2019-05-14 中国人民解放军91655部队 基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法
CN108664325A (zh) * 2017-03-30 2018-10-16 北京视联动力国际信息技术有限公司 处理数据的方法和电子设备
CN108664325B (zh) * 2017-03-30 2019-06-28 视联动力信息技术股份有限公司 处理数据的方法和电子设备
CN108804040A (zh) * 2018-06-05 2018-11-13 上海孚典智能科技有限公司 基于内核旁路技术的Hadoop map-reduce计算加速方法
CN108804040B (zh) * 2018-06-05 2020-07-07 上海孚典智能科技有限公司 基于内核旁路技术的Hadoop map-reduce计算加速方法
CN111949317A (zh) * 2019-05-17 2020-11-17 上海寒武纪信息科技有限公司 指令处理方法、装置及相关产品
CN111949317B (zh) * 2019-05-17 2023-04-07 上海寒武纪信息科技有限公司 指令处理方法、装置及相关产品
CN111694532A (zh) * 2020-06-11 2020-09-22 翱捷科技(上海)有限公司 单芯片异构系统的显示控制方法和可穿戴设备
CN111694532B (zh) * 2020-06-11 2021-06-04 翱捷科技股份有限公司 单芯片异构系统的显示控制方法和可穿戴设备
CN111966628A (zh) * 2020-07-30 2020-11-20 电子科技大学 一种多核组合式大容量数据同步存储方法
CN111966628B (zh) * 2020-07-30 2023-04-18 电子科技大学 一种多核组合式大容量数据同步存储方法

Also Published As

Publication number Publication date
CN105653476B (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
CN105653476B (zh) 一种数据处理器件与内存设备的通信方法及相关装置
US20150262633A1 (en) Dual-port ddr4-dimms of sdram and nvram for ssd-blades and multi-cpu servers
TWI740897B (zh) 具有窄帶寬中繼器通道的記憶體子系統
US11003601B2 (en) Memory system design using buffer(s) on a mother board
US8572342B2 (en) Data transfer device with confirmation of write completion and method of controlling the same
US10725957B1 (en) Uniform memory access architecture
US11249808B2 (en) Connecting accelerator resources using a switch
JP6514329B2 (ja) メモリアクセス方法、スイッチ、およびマルチプロセッサシステム
US10255220B2 (en) Dynamic termination scheme for memory communication
US20150261698A1 (en) Memory system, memory module, memory module access method, and computer system
US20170285941A1 (en) Read delivery for memory subsystem with narrow bandwidth repeater channel
US10318473B2 (en) Inter-device data-transport via memory channels
JP7349812B2 (ja) メモリシステム
KR20190112626A (ko) 어레이 내에서 솔리드 스테이트 드라이브들을 자율적으로 관리하는 메커니즘
CN114546913B (zh) 一种基于pcie接口的多主机之间数据高速交互的方法和装置
US11074206B1 (en) Message protocol for a data processing system
WO2017172286A1 (en) Write delivery for memory subsystem with narrow bandwidth repeater channel
EP3907624A1 (en) Memory and storage controller with integrated memory coherency interconnect
US9910789B2 (en) Electrical and optical memory access
US11003616B1 (en) Data transfer using point-to-point interconnect
US10216655B2 (en) Memory expansion apparatus includes CPU-side protocol processor connected through parallel interface to memory-side protocol processor connected through serial link
TW201405315A (zh) 支援雙主控裝置的資料路由系統
US11537539B2 (en) Acceleration of data between a network and local I/O in a NUMA system
US20220229790A1 (en) Buffer communication for data buffers supporting multiple pseudo channels
CN213028113U (zh) 网络安全数据采集存储系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant