一种基于DIMM的近存计算互连装置及其通信控制方法

文档序号:39164688发布日期:2024-08-27 18:32阅读:11来源:国知局
一种基于DIMM的近存计算互连装置及其通信控制方法

本发明涉及基于dimm的近存计算技术,尤其涉及一种基于dimm近存计算互连装置架构及其通信控制方法。


背景技术:

1、基于双列直插式存储模块(dual-inline memory module,dimm)的近存计算技术具有存储容量大、制造成本低、灵活性高、与现有系统兼容性强等特点,因此在近年来受到了工业界和学术界的广泛关注。这项技术通过将运算单元放置到dimm的dram芯片附近,并且将访存密集型操作下放到这些运算单元上,从而中和了片下数据搬运的高能耗与高延迟。

2、虽然基于dimm的近存计算技术提供了大量的内部带宽,但是它并不能直接支持跨dimm芯片的通信(inter-dimm communication,idc)。为了在不同的dimm间传输数据,现有的提案依赖于中央处理器(cpu)对数据进行转发。cpu需要先从源dimm加载数据到高速缓存结构中,再从高速缓存通过内存总线转发到目的dimm。实验表明,与内部带宽相比,这种方案只能提供有限的传输带宽,传输效率低下。这导致idc成为基于dimm的近存计算技术在执行应用时严重的性能瓶颈。


技术实现思路

1、为了克服上述现有技术的不足,本发明提出了一种基于dimm的近存计算互连装置架构及其控制方法。本发明的方法可以在考虑现有硬件的实现可行性以及物理布局约束下支持dimm之间点对点及广播,为基于dimm的近存计算技术提供高效的跨dimm芯片的通信(idc)能力。

2、本发明提供的技术方案是:

3、一种基于dimm的近存计算的高效互连控制装置,包括近存计算编程接口模块、跨dimm的桥接器以及控制器。其中,近存计算编程接口模块提供多种函数接口,用户使用近存计算编程接口模块提供的函数接口进行编程,每种函数接口均对应了一种内存请求。近存计算运算单元置于dimm的缓存芯片附近,用于处理访存密集型操作;控制器置于近存计算运算单元附近,通过将近存计算运算单元的访存请求封装为数据包并向跨dimm的桥接器发送,并将从跨dimm的桥接器收到的数据包解析得到的数据发送至近存计算运算单元,从而实现跨dimm芯片的通信(idc)。跨dimm的桥接器使用高速的串并收发器进行互连,将邻近的双列直插式存储模块(dimm模块)进行物理连接。

4、具体实施时,硬件布局上,dimm内存条位于cpu的两侧,分为两组;位于cpu同侧的dimm为同一组;同一组内的dimm通过桥接器直接相连;不同组的dimm通过cpu转发进行通信。

5、本发明提供一种基于上述高效互连架构的idc控制方法,通过配置基于dimm的近存计算的高效互连控制装置,实现基于dimm的近存计算互连及通信控制;包括以下步骤:

6、1)设计近存计算编程接口模块,通过将底层代码封装为函数,采用函数调用的形式,用于支持idc功能,用户在编写近存计算程序时,可以根据需要调用指定的函数接口,如内存访问、数据同步等。

7、2)将用户编写好的程序通过编译器转换为可执行的二进制文件。对上述可执行文件,本方法使用可以感知数据距离的任务映射算法,将近存计算任务映射到合适的运算单元,并等待执行。

8、3)任务映射完毕后,程序开始运行。

9、当一个近存计算运算单元上的任务需要访问dimm中的数据时,将数据访问请求发送到近存计算运算单元所在dimm的控制器中。控制器根据数据访问请求的地址鉴别出该请求为本地请求或远程请求。

10、4)对于本地请求,控制器直接访问本地dimm的存储单元(dram芯片,存储数据的单元)。对于远程请求,控制器将必要的请求信息封装为数据包,并通过跨dimm的桥接器传输到对应的目的dimm,再由目的dimm的控制器对数据包进行解析并执行相应的内存操作。操作结束后,目的dimm的控制器会向本地dimm发送数据包,以通知本地dimm请求结束。其中,跨dimm的桥接器使用高速的串并收发器进行互连,将邻近的双列直插式存储模块(dimm模块)进行物理连接。

11、5)访存请求完成后,控制器向近存计算运算单元发送完成信号。近存计算运算单元继续执行后续的指令。当后续指令再次遇到访存请求时,本方法重复步骤4)中的操作完成请求,直至所有的指令执行完毕,程序结束。

12、由此实现基于dimm的近存计算互联和控制。

13、与现有技术相比,本发明的有益效果是:

14、(一)将硬件改动限制在dimm上,从而便于整合到现有的cpu硬件系统中。

15、(二)通过设计控制器的硬件逻辑,本发明可以同时支持点对点与广播的idc模式,

16、从而满足通用的近存计算应用的通讯需求。

17、(三)随着dimm数量的上升,本发明的跨dimm桥接器设计可以提供具有灵活性和可扩展性的高idc带宽。

18、(四)本发明充分考虑了在现有硬件整合约束下的可行性与实用性。



技术特征:

1.一种基于dimm的近存计算的互连控制方法,通过配置基于dimm的近存计算的互连控制装置,实现基于dimm的近存计算互连及通信控制;互连控制装置包括近存计算编程接口模块、跨dimm的桥接器以及控制器;所述互连控制方法包括以下步骤:

2.如权利要求1所述基于dimm的近存计算的互连控制方法,其特征是,步骤1)中设计的近存计算编程接口模块包括内存访问接口模块、cpu转发接口模块、数据同步接口模块。

3.如权利要求1所述基于dimm的近存计算的互连控制方法,其特征是,步骤1)中所述近存计算编程接口具体为基于openmp的函数接口。

4.如权利要求1所述基于dimm的近存计算的互连控制方法,其特征是,步骤2)中估计得到每一个dimm上运行时的访存开销;具体为:

5.如权利要求4所述基于dimm的近存计算的互连控制方法,其特征是,具体是使用贝尔曼-福特(bellman-ford)算法对网络流图g求解得到最小费用最大流。

6.如权利要求1所述基于dimm的近存计算的互连控制方法,其特征是,任务映射方法具体为:对于每条被选取的线程节点与dimm节点相连的边,将该线程放置到该dimm上。

7.一种基于dimm的近存计算的高效互连控制装置,其特征是,包括近存计算编程接口模块、跨dimm的桥接器以及控制器;其中:

8.如权利要求7所述的基于dimm的近存计算的高效互连控制装置,其特征是,dimm内存条位于cpu的两侧,分为两组;位于cpu同侧的dimm为同一组;同一组内的dimm通过桥接器直接相连;不同组的dimm通过cpu转发进行通信。


技术总结
本发明公布了一种基于DIMM的近存计算互连装置及其通信控制方法,装置包括近存计算编程接口模块、跨DIMM的桥接器以及控制器;包括:设计近存计算编程接口模块;使用可以感知数据距离的任务映射算法,将近存计算任务映射到近存计算单元;近存计算运算单元执行的任务中遇到近存计算编程接口模块函数时执行相应任务;从而实现基于DIMM的近存计算互联控制。采用本发明的技术方案,可实现在现有硬件可行性以及物理布局约束下支持DIMM之间点对点及广播,为基于DIMM的近存计算技术提供高效的跨DIMM芯片的IDC通信能力。

技术研发人员:孙广宇,李聪,周哲
受保护的技术使用者:北京大学
技术研发日:
技术公布日:2024/8/26
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1