一种面向应用的异构片上网络的构建方法

文档序号:8225963阅读:394来源:国知局
一种面向应用的异构片上网络的构建方法
【技术领域】
[0001] 本发明属于计算机体系结构领域,具体涉及实现一种面向应用的异构片上网络的 构建系统。
【背景技术】
[0002] 异构网络作为一种相对灵活的片上网络结构,能够针对不同应用的特点设计网络 的特性,受到越来越广泛的应用。目前的异构片上网络通过设置两套固定的片上网络,分别 实现对两类应用的优化配置,在应用进入网络前决定要进入的网络,一旦确定不能更改。缺 点是网络的优化是参考具体应用的特性实现的,扩展性不强。另一方面,对判断应用属性的 参数的准确度依赖较高。随着多线程应用和大数据应用的不断普及,应用的多样性使两类 网络的划分思想非常有局限性。因为本发明提出对该方案的改进。
[0003] Buffered网络既传统的有缓存网络,程序运行稳定,但是功耗问题非常严重。而 Buffer是占用功耗的主要部件。Bufferless网络是在Buffered网络基础上提出的一种片 上网络,通过取消路由器中的Buffer,将数据包不存储,只转发,在网络负载较小的情况下 能明显降低功耗。但在网络负载过多时,Buffered的偏转率也将越高,性能降低明显。因 此,我们希望能将Bufferless和Buffered网络的优势结合起来,应用可以在Buffered和 Bufferless网络间进行切换。Bufferless负载降低功耗,Buffered网络用于保证性能。

【发明内容】

[0004] 本发明的目的是在于针对目前出现的多线程应用和大数据应用,且现有异构片 上网络设计中存在明显不足的情况下,提出一种面向应用的异构片上网络的构建系统, 并针对这种异构网络提出一种自适应的路由算法。使网络能够动态调整应用的传输网 络,适应性更强,且能够保证应用的运行质量,提高片上网络的可靠性和扩展性,同时通过 Bufferless网络降低系统功耗。
[0005] 本发明对现有程序驱动式的异构网络方法提出改进,将Bufferless网络整合入 异构网络,通过减少Buffer的使用,实现功耗的降低。并将Buffered路由器和Bufferless 路由器对应相连,从而保证Bufferless网络在运行大型负载应用时的性能。
[0006] 面向应用的异构片上网络的构建系统,其特征在于,在现有程序驱动式的双层异 构片上网络的基础上,将双层网络分别设置为有缓存网络和无缓存网络,并将Buffered路 由器和Bufferless路由器 相连;每个路由器分别增加一个输入端口和一个输出端口, 具体为:将n2个Bufferless路由器和n2个Buffered路由器分别连接为nXn的网络,每个 路由器连接一个计算单元PE,每个计算单元PE包括一个处理器P和L1级Cache,共2n2个 PE;
[0007] 将连接好的两个nXn网络中的两类路由器对应相连,相连的一个Buffered路由 器和Bufferless路由器称为一组B-BL,网络中共有n2组;
[0008] 一组B-BL中,Buffered路由器和Buffer1ess路由器分别连接两个PE:PEa和PEb, PEa不仅与Buffered路由器相连,而且与Bufferless连接,使一组B-BL中的两个路由器都 访问到PEa,同理,PEb不仅与Bufferless相连,PEb也与Buffered相连。这样一组B-BL 中的两个路由器都能够访问到PEa和PEb。
[0009] Buffered路由器新添加的输入端口BIport和输出端口BOport,与Bufferless 路由器新添加的输出端口BLOport和输入端口BLIport分别连接。
[0010] 若Bufferless网络中的flit需要在Buffered网络传输时,将BLOport分配 给该flit,BLOport连接Buffered网络中的BIport。Flit经过Buffered路由器和 Bufferless路由器间的链路到达Buffered网络中传输。同理,若Buffered网络中的flit 需要在Bufferless网络传输时,将BOport分配给该flit,BOport连接Bufferless网络 中的BLIport。
[0011] 本发明采用一种扩展的2D路由器结构实现异构网络层间连通。具体技术方案是, 在原有2D网络路由器的基础上,添加一个输入端口和输出端口,使Buffered路由器除与周 围四个Buffered路由器相连以外,还有一个输入端口BIport连接Bufferless路由器新 添加的输出端口BLOport,同时输出端口BOport连接Bufferless路由器新添加的输入端 口BLIport,进行数据交换。
[0012] 具体的实现方法如下:
[0013] 步骤1,内核向片上网络发送微片flit。
[0014] 请求包packet被划分为若干flit在片上网络进行传输,flit是最小的转发存储 单元。内核首先向LICache发出请求,L1失效时,将访问请求经过片上网络发送到L2Cache, 若L2命中,将所请求的数据返回,否则,经片上网络向Memory发出访问请求,查找到后返 回。
[0015] 步骤2,若Bufferless网络中的flit需要在Buffered网络传输时,将BLOport 分配给该flit,BLOport连接Buffered网络中的BIport。Flit经过Buffered路由器和 Bufferless路由器间的链路到达Buffered网络中传输。
[0016] 步骤3,同理,若Buffered网络中的flit需要在Bufferless网络传输时,将B0 port分配给该flit,BOport连接Bufferless网络中的BLIport。
[0017] 针对flit应何时在Buffered网络和Bufferless网络中传输的问题,本发明提出 一种基于程序属性及流量监测的自适应路由算法。其特征在于包含以下步骤:
[0018] 步骤1,路由器根据公式①计算内核在LICache访问中每一千条指令的失效数 MPKI,MPKI用来表征应用的固有网络属性。
[0019]
【主权项】
1. 面向应用的异构片上网络的构建系统,其特征在于,在现有程序驱动式的双层异构 片上网络的基础上,将双层网络分别设置为有缓存网络和无缓存网络,并将Buffered路由 器和Bufferless路由器 相连;每个路由器分别增加一个输入端口和一个输出端口,具 体为:将η2个Bufferless路由器和η 2个Buffered路由器分别连接为nXn的网络,每个 路由器连接一个计算单元ΡΕ,每个计算单元PE包括一个处理器P和Ll级Cache,共2η2个 PE ; 将连接好的两个nXn网络中的两类路由器对应相连,相连的一个Buffered路由器和 Bufferless路由器称为一组B-BL,网络中共有η2组; 一组B-BL中,Buffered路由器和Bufferless路由器分别连接两个PE :PEa和PEb,PEa 不仅与Buffered路由器相连,而且与Bufferless连接,使一组B-BL中的两个路由器都访 问到PEa,同理,PEb不仅与Bufferless相连,PEb也与Buffered相连;这样一组B-BL中的 两个路由器都能够访问到PEa和PEb ;Buffered路由器新添加的输入端口 BI port和输出 端口 BO port,与Bufferless路由器新添加的输出端口 BLO port和输入端口 BLI port分 别连接。
2. 应用权利要求1所述系统进行面向应用的异构片上网络的构建方法,其特征在于包 括以下步骤: 步骤1,路由器根据公式①计算内核在LI Cache访问中每一千条指令的失效数MPKI, MPKI用来表征应用的固有网络属性;
① 其
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1