NoC中主要技术的研究与实现

2010-07-27 06:40张锦林
中国新技术新产品 2010年5期
关键词:模拟器结点路由器

张锦林

(杭州师范大学钱江学院 计算机科学与技术系,浙江 杭州 310012)

近年来,人们围绕可伸缩互连结构和NoC展开大量的研究。推动着这项新技术发展的重要单位有美国的斯坦福大学、普林斯顿大学、KTH,法国的Pierre et Marie Curie大学等。中国在NoC研究领域中滞后国际先进水平,从这个意义上看,国内对NoC进行研究己经到了刻不容缓的地步,NoC作为一个崭新的多核发展领域,我国若能成功开展NoC学术领域的前沿工作,将为大量创新新成果的出现提供一个空间。

1 NoC模拟器研究

作为性能评测的重要手段,模拟器对于验证理论分析的正确性和准确性,评价系统改进方案具有重要的作用。下面绍了几种NoC模拟器,它们在一定程度上可以对片上网络的性能进行模拟,但针对性较强、扩展比较困难等问题,需要设计出模块化更好并且性能更优的NoC模拟器。

1.1 Princeton大学的模拟器Pacman

Pacman是针对多核处理器的精确周期模拟器,支持虫孔路由、全链接的交叉开关,拓扑结构支持:mesh,torus、和星型等。片上通信结构(OCA=On-chip Communication Architecture)模型都用工作状态机 (Operation State Machine)来描述,这样做的好处是提供了处理器单元和路由单元模型一致性,提高了仿真的效率和为以后进一步验证模型的正确性提供了巨大的潜力。

使用C/C++来写的一个精确周期模拟器,可重用的库文件:buffers,arbiters,crossbar,仿真速度快。Pacman采用层次的描述结构,第一级:TOP层,系统级设计者只需要规定针对特殊应用的基本参数。例如,一个9核的NoC,采用2D的torus网络结构虚拟路由,TOP层将完成这些特征比如:topology,network,PEtype等等。第二级,Middle层,从TOP层转化为特殊的应用网表,包括PEs和OCAs。如果设计者想减少torus中的一个链接,可以直接从表文件中删除连接。第三级:LOW层,这一层,OCA设计者可能会调整OCA组件的微体系结构,例如:流水线开关的类型和参数,总线仲裁器的请求与发送之间的时间戳等可以看出三者之间的关系,从上到下,复杂度增加,抽象度减小。利用基于综合的工具套件,在LOW级的描述产生后,这个仿真综合器读取描述一一有效的OSM模型,并且自动产生一个用户自定义的模拟器。

1.2 Texas A&M大学的模拟器NoCsim

NoCsim是Texas A&M大学的Narayanan Swaminathan开发的一款基于IP核的NoC模拟器,支持2D-Torus拓扑结构,支持虫孔路由。模拟器可配置选项是:虚信道VCs的数量和buffe:的深度,网络大小。另外功耗模型基于90nm技术建立。支持不变的比特率和随机的Poisson分布,产生有限的通信统计量,模拟器主要用于学术机构研究使用。

1.3 Washington大学的Chaos模拟器

模拟器Chaos可以模拟片上网络下的包交换和虫孔路由切换机制、自适应或维序路由算法和大量的负载模式。Chaos模拟器主要模拟消息在网络结点上的传输延迟。分析其结构,可以发现它的四大模块:a.机构说明模块,说明网络的拓扑结构以及网络中使用的一些常量。例如网络的IP数目,网络的拓扑结构以及VC虚信道的数目和大小。b.消息产生模块,包括消息产生的结点以及网络的负载特性。c.拟器控制模块,该模块中包含了随机数产生器、模拟器的测试与帮助信息、数据的统计报告以及图形化的人机接口GUI。d.路由排队模块,控制消息在NoC中的传输及选择路径的路由算法。模拟器框架的关键技术研究。

2 模拟器结构

模拟器主要由模拟器对象、初始化程序、负载特性与程序执行控制子程序以及统计报告子程序与图形化用户界面构成,结构如下图所示。

3 NoC路由器模块

路由器模块本身由端口模块(一个端口模块包含一个输入和一个输出端口)、仲裁器模块和交换单元等模块构成,共有n(大小一定)个输入控制器对应n个路由器输入,每个输入控制器包括路由控制逻辑、虚信道状态寄存器和由buffers组成的v路的虚信道,虚信道仲裁器会根据虚信道的当前状态对于达到的flits进行虚信道的选择,交叉开关仲裁器对来自虚信道的不同的输入选择不同的输出。在OMNeT++模型中应该定义为复合模块。所有的处理器结点采用均匀分布进行发包;路由器采用2或4路虚信道且不允许虚信道切换,buffe:长度是32flits,包的大小8flits,不同的路由算法,处理器发包速率,虚信道数目,buffe:和包的大小均可以进行参数配置。在包含虚信道的路由器中,对报文使用分布式仲裁方式,即每个输出端口对各自的请求分别执行仲裁(包括虚信道仲裁和物理信道仲裁),因此路由器顶层模块的两个子模块为:端口模块:负责报文的输入/输出。交叉开关模块:是路由结点的核心组成部分,它将输入端口的报文发送到正确的输出端口。

4 NoC低延迟仲裁策略

目前采用的仲裁策略主要有轮转法、先来先服务和短消息优先三种。a.轮转法是最流行的仲裁策略之一。仲裁器首先扫瞄所有的通道,第一个准备好传送的称为通道i,被选择来传送一个片。下一个过程,扫瞄从通道i+1开始。这种方法显然是公平的,不会发生饿死。然而,对于所有的微包,网络延迟有一个均匀上升的趋势。为了缓解负面影响,仅在当前VC正好送出一个尾片后才让扫瞄过程移到下一个准备好的VC上。当这个报文完全流出后,就使用这个简单的Round-Robin策略。b.先来先服务,最老的微包有更高的优先权。一个可能的实现如下:与每个VC都关联着一个“age”计数器。当一个新的微包进入一个VC,age计数器复位。以后,age以一个可编程的速率增加。仲裁器更喜欢带最大age的微包。本质上这个仲裁策略是无饿死的。像Round-Robin的情况一样,我们可以有FCFSKeep Flow方法,其中当前流出交换开关的微包被给予优先权。Spider芯片使用一个8位的age计数器来实现FCFS。然而,他们的实现与我们的不同,因为age由微包带着向前并且当flits进入一个新的交换开关时并不复位。分析了虚信道和自适应路由对2-D Mesh性能带来的影响,发现Switch带来的性能提升大于降低网络拥塞带来的性能提升。中比较了MIN中四种不同的Switch实现(交换技术、缓冲深度和虚信道数目),作者将各层的延迟进行了分解,发现长报文在网络入口处的延迟是最关键的。c.短消息优先从进程调度理论来讲,最短工作优先可以获得非常好的响应时间。对仲裁来一说等价的策略是最短消息优先SMF,它优先考虑带最少传输片的微包,因此可以最小化消息延迟。SMF策略的第二个动机是增加虚通道的可用性,当输入缓冲相当大并且一次仅有一个微包可以使用一个VC时,SMF的优点才能得到体现。这种交换开关可能存在这样的情况,即使有足够的缓冲可用,由于下一个开关没有空的VC而导致头片被阻塞。因此,仲裁器应当尝试尽可能快的释放虚通道,这恰好是SMF所做的。然而,这种方法不公平,如果不采取特殊措施的话会发生饿死,因此在交换开关中未被使用。

5 网络传输延迟

传输延迟是指从消息源结点产生头包到该消息的尾微包到达目标结点的这段时间,以时钟周期数表示。消息要到达目的结点,微片fl1tS需要经过一系列由开关和连线构成的路径,称为Stages。源/目的结点的位置和路由算法影响网络的延迟。另外,源/目的结点的其他因素对总延迟也有影响。因此,对给定的不同的消息有不同的延迟:Li二发送延迟+传输延迟+接受延迟。当然在评价系统性能时,一般采用平均延迟作为衡量性能的标准。

6 结果与分析

在前面模拟器仲裁策略中详细说明了不同的仲裁策略。在模拟中我们采用本文中提出的基于信用值与轮转法结合的低延迟仲裁策略和轮转法仲裁策略进行比较。无论交叉开关有2路或者4路虚信道时,Spin的网络延迟明显比2DMesh的要小,并且两种拓扑结构下的4路虚信道的性能都超过2路信道;两种拓扑结构下网络延迟都随着处理器结点数目的增加而增加;无论那种情况下,采用本文提出的信用值与轮转法结合的仲裁策略使得网络延迟明显减少。

[1]周干民,NoC基础研究,合肥工业大学博士论文,2005年

[2]都政,罗莉,彭元喜,于正澎,徐秀成,通信局部性提高NoC性能,计算机应用与研究,2007年

猜你喜欢
模拟器结点路由器
买千兆路由器看接口参数
了不起的安检模拟器
路由器每天都要关
划船模拟器
无线路由器的保养方法
Ladyzhenskaya流体力学方程组的确定模与确定结点个数估计
动态飞行模拟器及其发展概述
基于Raspberry PI为结点的天气云测量网络实现
无线路由器辐射可忽略
基于DHT全分布式P2P-SIP网络电话稳定性研究与设计