【技术实现步骤摘要】
一种面向图计算的异构存内计算设备及其运行方法
本专利技术属于计算机体系结构领域的专用加速器设计
,尤其涉及一种面向图计算的异构存内计算设备及其运行方法。
技术介绍
图结构能够自然地捕获数据项之间的关系,并允许数据分析师从广泛的应用程序中的数据模式中获取有价值的见解。但是,图计算对存储系统提出了很大的挑战。由于不规则的邻接顶点遍历,导致访存局部性较差;并且对来自内存的数据的计算通常是简单的,对内存带宽要求较高。现有基于通用架构,FPGA和ASIC的图处理框架虽然在技术上取得一定进展,但远远没有解决图处理中出现的内存瓶颈问题。与具有独立计算-存储层次结构的传统冯·诺依曼架构不同,存内计算通过在存储器中集成计算单元来解决上述“存储墙”挑战,以提高图计算执行效率。当前存内计算主要有两种方案,其一是在存储器附近或内部添加或集成数字信号处理逻辑(例如,非常小的有序核,可重构逻辑等)。其中许多工作将处理逻辑放置在3D堆叠存储器的逻辑层内或存储器控制器中,逻辑层和存储层通过硅通孔技术连接,根据美光公司提供的标准,可提供高达32 ...
【技术保护点】
1.一种面向图计算的异构存内计算设备,至少包括:/n存储层(1),其至少包括彼此堆叠,并且通过硅通孔进行垂直连接的若干个动态随机存取存储器(3);/n逻辑层(2),其至少包括设定数量的立方库,其中,每一个立方库均包括至少一个数字信号处理单元(4)、至少一个存储器控制单元(5)和若干个模拟信号处理单元(6),/n其特征在于,/n所述异构存内计算设备配置为:/n根据输入的图数据和图算法进行初始化;/n构建滑动窗口执行模型,使得所述存储器控制单元(5)能够根据滑动窗口执行模型所限定的执行顺序,依次从所述动态随机存取存储器(3)中读取所述图数据;/n存储器控制单元(5)根据读取的图 ...
【技术特征摘要】 【专利技术属性】
1.一种面向图计算的异构存内计算设备,至少包括:
存储层(1),其至少包括彼此堆叠,并且通过硅通孔进行垂直连接的若干个动态随机存取存储器(3);
逻辑层(2),其至少包括设定数量的立方库,其中,每一个立方库均包括至少一个数字信号处理单元(4)、至少一个存储器控制单元(5)和若干个模拟信号处理单元(6),
其特征在于,
所述异构存内计算设备配置为:
根据输入的图数据和图算法进行初始化;
构建滑动窗口执行模型,使得所述存储器控制单元(5)能够根据滑动窗口执行模型所限定的执行顺序,依次从所述动态随机存取存储器(3)中读取所述图数据;
存储器控制单元(5)根据读取的图数据的负载特征及硬件实时占有率,将负载调度至所述数字信号处理单元(4)或所述若干个模拟信号处理单元(6)进行执行,其中,在负载调度至数字信号处理单元(4)中进行执行的情况下,数字信号处理单元(4)配置为依次处理负载中对应的每一条边,并更新其对应的顶点数据,或者在负载调度至模拟信号处理单元(6)中进行执行的情况下,存储器控制单元(5)能够将负载转换成矩阵的形式以匹配模拟信号处理单元(6)的计算模式;
在图算法不收敛的情况下,执行下一轮迭代。
2.根据权利要求1所述的异构存内计算设备,其特征在于,所述滑动窗口执行模型的构建至少包括如下步骤:
根据目标顶点,将图划分至各个立方库,并在立方库内部使用至少一个以滑动方式限制主调度的范围的窗口,进而以此形成动态随机存取内存来缓存目标顶点的中间数据,使得数据写入所述动态随机存取存储器(3)的次数能够减少;
为每一立方库配置至少两个所述动态随机存取内存,其中,第一动态随机存取内存配置为供该立方库内的所有数据信号处理单元(4)共享,第二动态随机存取内存配置为供该立方库内的所有模拟信号处理单元(6)共享;
基于时分复用器消除模拟信号处理单元(6)之间的数据同步开销,使得仅在所述动态随机存取内存中的中间结果需要更新至所述动态随机存取存储器(3)的情况下,才会触发数据同步的产生;
在存储器控制单元(5)中集成第三预取模块(7)和源顶点缓冲模块(8),其中,在数字信号处理单元(4)或模拟信号处理单元(6)的等待队列中负载所对应的源顶点并不位于所述源顶点缓冲模块(8)中的情况下,第三预取模块(7)生成预取请求以隐藏远程访问等待时间。
3.根据权利要求2所述的异构存内计算设备,其特征在于,在所述图数据采用并行写入的方式写入所述异构存内计算设备中的情况下,所述异构存内计算设备配置为:
根据运行时每行的有效边的数量将负载调度至所述数字信号处理单元(4)或所述若干个模拟信号处理单元(6)进行执行,其中,在所有行的有效边的数量均不超过一个的情况下,将所述负载调度至所述数字信号处理单元(4)。
4.根据权利要求3所述的异构存内计算设备,其特征在于,所述存储器控制单元(5)与所述数字信号处理单元(4)之间设置有用于跟踪数字信号处理单元(4)中的等待负载地址的第一缓冲器(9),所述存储器控制单元(5)与所述模拟信号处理单元(6)之间设置有用于跟踪模拟信号处理单元(6)中的等待负载地址的第二缓冲器(10),其中:
在第一缓冲器(9)的缓冲区耗尽,并且第二缓冲器(10)的缓冲区未耗尽的情况下,将子图统一调度至第二缓冲器(10)对应的模拟信号处理单元(6)中,或者
在第一缓冲器(9)的缓冲区未耗尽,并且第二缓冲器(10)的缓冲区耗尽的情况下,将子图统一调度至第一缓冲器(9)对应的数字信号处理单元(4)中。
5.根据权利要求4所述的异构存内计算设备,其特征在于,所述存储器控制单元(5)配置按照如下方式将负载调度至所述数字信号处理单元(4)或所述若干个模拟信号处理单元(6)进行执行:
从动态随机存取存储器(3)中加载数据,其中,在进行数据调度之前,对工作负载特征进行分析;
根据子图信息,基于网状片上网络的确定性路由算法向相应的其他立方库中的存储器控制单元(5)发送远程访问请求以获取该子图对应的源顶点数据;
从存储层(1)获取负载后,通过第一预取模块(5b)产生预取请求,进而读取负载相应的源顶点数据信息;
技术研发人员:廖小飞,黄禹,郑龙,金海,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。