一种高效NOC路由选择机制的设计

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:tongxu1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:NOC性能的优劣很大程度上取决与它使用的路由算法,其中包括两大块:输入选择和输出选择。先前的工作大多是研究如何改进输出选择,现论证输入选择对于路由效率的影响,并设计一种行之有效的输入选择机制—基于阻塞程度的输入选择机制。该机制工作在多个输入同时请求同一个输出时,会自动根据上流路由器的阻塞程度优先选通阻塞最严重的输入沟道,从而大大减少了网络的阻塞。实验结果证明,在不同的通信模式下,不论是与确定性输出选择还是与自适应性输出选择结合使用,该文设计的输入选择机制在性能上都优于传统的先到先得的输入选择机制。
  关键词:片上网络;阻塞程度的输入选择;先到先得;阻塞程度
  中图分类号:TP302文献标识码:A文章编号:1009-3044(2012)10-2232-05
  An Efficient Routing Mechanism Design for NOC
  WANG Yong, ZHANG Rong, PAN Pan, MENG Jian
  (Institution of electronic and Information Engineering, Anhui University, Hefei 230601, China)
  Abstract:The performance of Network-on-Chip largely depends on the routing techniques, which have two constituencies: output selection and input selection. Previous research on routing techniques for Network on chip has focused on the improvement of output selection. This paper investigates the impact of input selection, and presents a novel block-level input selection technique for network on chip that improves the routing efficiency. When multiple input channels competing for the same output channel, block-level input selection decides which input channel obtains the access depending on the block level of the upstream switches, which inturn removes network congestion deeply. Simulation results with different traffic patterns show that, when combined with either deterministic or adaptive output selection, block-level input selection achieves significant better performance than the traditional first-come-first-served input selection.
  Key words: Network-On-Chip; Block-Level-Input-Selection; First-Come-First-Service; Block-Level
  随着半导体技术的发展,集成到单个芯片上的IP核越来越多,传统的总线通信在可扩展性和高效性上已遇瓶颈。研究人员将计算机网络技术移植到芯片设计中,提出一种片上网络(Network on chip,NOC)[1-3]通信架构。相比总线结构,NOC架构在带宽、可扩展性、可靠性上都有较大的提高。
  如图1(a)所示,是4X4 mesh型拓扑结构的NOC,主要由通信节点和资源节点组成。每个IP核为一个资源节点,通过网络接口与一个通信节点(switch)互联,资源节点之间通过发送和接收数据包的方式进行通信。数据包由一个个数据微片构成。每个数据包从源节点到目的节点的通信链路有很多条,数据包通过每条链路所需要的时间各不相同。特定的路由技术不仅为数据包的传送选好路径,还决定了switch的工作状态。图1(b)所示为switch的结构图,它是由n+1条输入沟道(input channel,IC)和n+1条输出沟道(output channel,OC)通过交叉开关(crossbar)连接而成。Switch中需要植入一定的路由算法,才能使数据包在网络中传输。而这个路由算法由两大部分组成:输出选择和输入选择。一个数据包从某个IC流入,可以从多个OC中流出。例如,从IC_0中流入的数据包p0可以从输出沟道OC_0,OC_1等等中流出。这时,输出选择就决定了数据包具体选择哪一条OC输出。同样的,可能有多个输入沟道IC请求通过某一条输出沟道OC进行数据包输出。例如,IC_0中数据包p0和IC_1中数据包p1同时请求从OC_0中输出。这时,输入选择就需要选出具体是哪一条输入沟道IC获得选通权。
  先前的很多工作[4,5]都是研究输出选择对路由效率的影响。该文提出一种新的基于阻塞程度的输入选择机制(block-level input selection,BLIS)。该机制可以使链路通信变的流畅,提高通信效率。实验研究表明,与传统的先到先得(first come first served,FCFS)输入选择机制相比,该机制不论是与自适应性输出选择还是与确定性输出选择结合使用,都大大降低了传输延迟。
  1基于阻塞程度的输入选择机制
  先前已有先到先得(FCFS)[4]输入选择机制应用于NOC中,FCFS的输出沟道给了请求最早的输入沟道,因此所有输入沟道的优先级都是等同的,然而这种输入选择并没有考虑实际网络通信情况。本节提出一种不同阻塞程度下灵活选择输入沟道的输入选择机制。
  


  图1 4X4 mesh型NOC与通信节点结构图
  1.1输入选择机制
  为了说明输入选择和输出选择对路由效率的影响,现在考虑如图2所示的一组通信节点网络,为了简单起见,IP核没有画出。
  


  图2输入输出选择机制
  通信节点Switch颜色的灰暗程度表示其中等待的数据包数量。随着颜色的加深,switch中等待的数据包数量逐渐增多。白色的switch中等待的数据包数量最少,灰色有比白色要多,黑色的switch如节点(2,2),表示其中等待的数据包数量最多。为了证明输出选择对路由效率的影响,现在考虑数据包p0从节点(3,0)起始,传送到节点(0,2),现有多条路径可以选择,例如path1,path2。传输延迟较少的路径需要避开阻塞区域(如图中灰色和黑色的switch区域),所以path1与path2相比,延时较少,路径较优。这就证明了输出选择对路由效率的影响,一条合适的路径可以减少链路时延。现在考虑输入选择的影响,节点(3,2)处的数据包p1和节点(4,3)处的数据包p2同时想通过节点(3,3)。在这种情况下,较好的选择是让p1通过节点(3,3),因为节点(3,2)处比节点(4,3)处等待的数据包要多,网络阻塞程度要高。这样的选择将会降低阻塞更严重区域中等待的数据包数量,降低网络阻塞,进而提高NOC的性能。由此,该文提出一种基于阻塞程度输入选择机制(block-level input selection,BLIS)。
  BLIS的基本思想是赋予输入沟道不同的优先权来选通输出沟道,而输入沟道的优先级是在通信过程中基于上流switch阻塞程度动态授予的。精确的来说就是通信节点中每个输出沟道根据当前switch中输入沟道的输出请求次数,得到一个BL(block level)值,然后把得到的BL值(即为输出请求次数)传送给下路相邻switch对应的IC,再根据所得BL的值来断定下路相邻switch中对应IC的优先级别。当某个通信节点中,同时有多个IC请求同一个OC输出时,BL最大的IC优先级最高,优先被选通。
  图3作出了含有BLIS的switch结构图,可以看出该switch除了含有用来传输数据的连接线,还额外包括用来传送相邻switch BL的连接线。该switch共有n+1条IC和n+1条OC,每个IC中还有一个缓存(buffer),那些即将到来的数据包微片在还没送到某个OC之前,就暂时存放在buffer中。输出选择(OS)模块根据数据包的头微片,决定整条报文从哪个OC中输出。OS模块将输出请求发送 到对应的OC。一旦某个OC空闲,OC中的BLIS模块就会检查所有的输出请求并发送一条选择信号给MUX模块,MUX模块再将获得许可的输入数据输出。如果只有一条输出请求,那么那条数据可以直接传送。如果有多条请求,则需考虑此刻具体哪个请求可以被选通。这个选择机制接下来做详细介绍。
  


  图3含有BLIS路由器结构
  2.2 BLIS算法伪代码
  BLIS根据输入沟道BL的大小作出选择,输入沟道BL的取自上流相邻switch输出沟道的BL。上流switch输出沟道的BL是特定时刻收到输入沟道传送请求的次数。
  


  图4 BLIS算法伪代码
  图4为该输入机制算法的VHDL伪代码,它包括了两个并行的进程。当req_0...n变化时,进程observe_BL被激发,它根据当前第 i个输出沟道收到的请求次数,将BL值赋予out_BL_i。接着BL值被传送到下流相邻switch中对应的第i个输入沟道并用于输入选择。例如,考虑图3所示的switch,IC_0和IC_1同时请求OC_0,则out_BL_0的值就是2,下流相邻的switch的in_BL_0的值也是2。为了避免高复杂性和硬件消耗,BL值传送到下一个相邻的switch中就截止,不会继续向更远的switch传送。例如先前的例子,IC_0的in_BL_0的值为3,IC_1的in_BL_1值为4,IC_0和IC_1同时请求OC_0,OC_0中out_BL_0值不是3+4而是2。当有输出请求且输出沟道空闲时,select_input进程被激发。它比较所有的输出请求及对应的输入沟道BL的值,选择BL值最大的作为输出。
  对于那些与IP核相连的输入沟道,它们没有上流switch传送BL给它们。这些输入沟道的BL值默认设置为0,因此,网络中所有正在传送的数据包优先级都高于IP核中正在等待注入网络的数据包。
  2实验结果
  该文设计了一系列实验来评估BLIS的性能,并与传统的FCFS输入选择做了对比。两种输入选择分别与确定性路由输出(XY路由[6])和自适应性路由输出(OE路由[7])结合使用,并用VHDL实现了四种路由模型:XY+FCFS,XY+BLIS,OE+FCFS,OE+BLIS,四种模型都在6X6 mesh NOC上做了仿真。由先前的工作[4,9]可知,路由算法的性能的主要是通過传输延迟来评估的。在给定的注入率(在一个周期内注入网络的数据包数)下,我们测量每个数据包的平均传输延迟。一个数据包的传输延迟时间是指从源节点数据包的第一个微片产生开始到最后个微片送进目的节点后所持续的时间。所有的仿真都是基于50,000个数据包求平均的。考虑到网络的稳定性,在头5000个周期内传输延迟不作计算。假定,数据包的固定长度是5个微片,输入沟道的buffer深度也是5个微片。将该文的路由算法应用到三种不同的通信模式上:普通(uniform)模式,对调(transpose)模式,热点(hot spot)模式[7]。在普通模式下,每个IP核随机的发送数据包去另一个IP核。在对调模式下,节点(i,j)IP核发送数据包去节点(5-i,5-j)IP核。在热点模式下,节点(3,3)IP核被设为热点,它比在普通模式下收到的数据包数量要高出10%。
  图5显示了在普通模式下四种路由算法的性能。X轴代表的是每个节点的注入率,Y轴是数据包平均延迟。由图可得,在低注入率下(<0.038包/周期),四种路由算法的性能几乎相同。随着注入率的增大,由于网络变的阻塞,包传输延迟急剧上升。比较OE+ FCFS和OE+BLIS特性曲线可得,在OE输出选择下,BLIS性能优于FCFS。同样的比较XY+FCFS和XY+BLIS特性曲线可知,在XY输出选择下,BLIS性能更优。在[4,7]中曾经说明XY路由算法比OE路由算法性能要优,这是因为在普通模式下,XY算法综合了全局和长远的负载信息,从而使网络的负载分配变的平稳。而OE算法基于的是局部短期的负载情况,只是对当前的数据包特性敏感,对于长久的通信缺乏平稳性。
  


  图5普通模式下算法性能
  图6显示了在对调模式下四种算法的性能。由图可知,在结合使用XY算法下,FCFS算法和BLIS算法性能几乎相同。在结合OE算法,FCFS算法的性能稍稍优于BLIS算法的性能。这是因为在对调通信模式下,很少出现多个输入同时请求一个输出的情况,从而输入选择对整个路由算法的性能影响很小。图7是在热点模式下四种算法的性能体现。不论是结合XY输出选择还是OE输出选择,同样可以得出BLIS算法的性能要优于FCFS算法的性能。此外,尽管在FCFS输入选择下,OE算法比XY算法性能要差。但在BLIS输入选择下,OE算法的性能却比较接近XY算法的性能。
  


  图6对调模式下算法性能
  


  图7热点模式下算法性能
  以上实验均证明了输入选择的重要性。该文设计的BLIS输入选择很大程度上提高了NOC的路由效率。
  3结论
  该文证明了输入选择对于路由效率的影响,并设计了一种基于阻塞程度的输入选择算法(BLIS)。BLIS是根据上流switch的阻塞情况,赋予那些比较繁忙的输入沟道更高的优先权来输出。在高负载情况下,促使阻塞区域得以继续通信,减少了网络的阻塞。与输出选择机制结合使用,该文设计了四种路由方案。实验证明除了在对调模式下,BLIS输入选择与传统的FCFS输入选择性能相近外,其余模式下,BLIS性能均优于FCFS。在一些模式下,BLIS还能使复杂度低硬件需求少的XY路由算法在性能上接近甚至超过高复杂度硬件需求高的OE算法。
  参考文献:
  [1] Benini L, De Micheli G.Networks on chips: A new SoC paradigm[J].Computer, 2002,(35):70-78.
  [2] Henkel J, Wolf W, Chakradhar S.On-chip networks: A scalable,communication-centric embedded system design paradigm[J]. VLSI Design, 2004(1):845-85.
  [3] Dally W J , Towles B.Route packets, not wires: On-chip interconnection networks[J].DAC, 2001:684-689.
  [4] Hu J , Marculescu R.DyAD Smart routing for networks-on-chip[J].DAC,2004:260-263.
  [5] Nilsson E, Millberg M, Oberg J, et al.Load distribution with the proximity congestion awareness in a network on chip[C]. DATE, 2003(1): 126-7.
  [6] Ni L M, McKinley P K. A survey of wormhole routing techniques in direct networks[J].Computer, 1993(26): 62-76.
  [7] Chiu G M.The odd-even turn model for adaptive routing[J].IEEE Transactions on Parallel and Distributed Systems, 2000(11):729-38.
其他文献
介绍了透射电子显微镜对钢中细小夹杂物的三种分析方法,即分散晶体法、萃取复型法和金属薄膜法.讨论了三种分析方法的特点和各自的适用范围.试验表明:分散晶体法适合于对夹杂
传统的摆锤试验机冲击吸收功的测量均采用刻度表盘方式,这种方法简单易行,但测量精度较差,在实际操作中经常出现误操作.提出一种利用计算机测量冲击吸收功的方法,可大大提高
通过对堆钢盘条样品的检验分析,表明造成盘条堆钢的原因是连铸过程中的水口断裂进入钢液形成的夹杂造成的。
文章对72B钢盘条断口进行了较系统的检验分析。结果表明,盘条断裂与盘条中部存在聚集分布的夹渣有关.这类夹渣是炼钢时炉渣卷入钢中所致。
利用透射电子显微镜对高性能耐火耐候建筑用钢中的第二相析出进行了观察和分析.结果表明:热轧态50 mm厚的高性能耐火耐候建筑用钢在所设定的热处理工艺制度下均能获得稳定的
目的:探讨针灸配合以日常生活为导向康复训练在脑卒中治疗中的临床效果。方法:选取72例脑卒中患者将其随机分为对照组与观察组,各36例。对照组采用常规治疗与日常生活为导向康
摘要:为了确保计算机信息系统的顺利运行,必须对其进行故障分析,并对其进行维护管理,同时,不断完善计算机系统,以实现其功能和作用的充分发挥。该文通过对计算机信息系统进行故障分析,重点就其故障维护管理的流程、原则、内容以及故障维护管理的实施进行了探讨,希望能为相关领域的研究提供借鉴。  关键词:计算机;信息系统;故障维护;管理  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2
近年来,我国对猪瘟、口蹄疫、禽流感等重大动物疫病实行强制免疫措施,组建了专业的防疫队伍。随着动物免疫的全面开展,提高了免疫密度,但是疫苗的不良反应也增多,每年在开展生猪口
摘要:计算机技术的发展日新月异,硬盘作为计算机主要的存储媒介之一,其容量、转度、访问时间、传输速率和缓存等基本参数也在飞速增长。但由于硬盘制作工艺磁介质技术的限制,其寿命与稳定不像内存等设备那样好,使用时难免会出现各种各样的问题,影响我们的正常使用和数据安全,这就要求我们了解一些硬盘的基本知识、掌握一些常用的维修方法,便于排除一些常见故障而保证硬盘正常工作。  关键词:硬盘;接口类型;参数;维修方
通过对非精炼船用钢和精炼船用钢连铸坯低倍、船用角钢低倍、金相组织和夹杂物等的分析,在常温和0℃冲击功都能达到要求,若在低温(-20℃、-40℃)非精炼船用钢很难达到要求。