连接主从IP核的片上网络路由器结构|主从路由器设置
摘要:随着单个芯片上集成的元器件数目不断增加,功耗问题也变得越来越突出。片上网络虽然能够从理论上解决传统总线结构带来的种种问题,但其功耗问题在某些具体应用中却变成了关键的制约因素。路由器作为片上网络的核心部件,其结构直接影响片上网络的性能。路由器的功耗问题已经成为片上网络领域一个热点问题。本文运用最优化理论对连接主从IP核的片上网络路由器结构进行优化设计,并运用路由器的功耗模型对功耗问题进行了分析。最后运用OPNET仿真软件对路由器的交换机制和路由算法进行分析对比,得出最终结论。
关键词:片上网络;路由器结构;最优化算法; 功耗;OPNET仿真
NoC Router Architecture for Master and Slave IP Core
Zhang Chunmiao,Lin Hongjun
(School of Computer Science &TechnologyXidian UniversityShannxiXi`an China 710071)
Abstract: With the development of semiconductor technology, the number of components integrated into a single chip increases continuously, so power issues become more important. Although NoC overcomes several problems in traditional bus architecture, its power issues in certain applications become main constraints. As a key component, architecture of router directly affects the performance of NoC. Power issues become a hot topic in NoC research. In this paper, we optimize NoC router architecture for master and slave IP cores using optimization algorithms. We also give a router power model. Finally, we use OPNET to simulate the switching technology and routing algorithm of the optimized router.
Keywords: Network-on-Chip; Router Structure; Optimization Algorithm; Power OPNET Simulation
1引言
随着大规模集成电路的发展,传统的总线通信(图1a)结构简单,当存在较多的IP核时布线复杂,芯片面积较大,效率低下,已经难以满足芯片内部大量的通信传输要求。在2000年前后,相关专家提出了用网络通信(图1b)来代替总线通信,这便形成了片上网络(NoC:Network on Chip)这一热门课题。
片上网络在高性能计算,图像处理,并行计算机等方面具有广泛的应用需求。
从片上网络的提出到现在,经过短短几年时间,对片上网络的研究已经涉及到了各个方面,不久片上网络将从实验室走向各个专门领域。常见的片上网络系统由路由器(Router)、物理链路(Link)和本地子系统(Local system)组成。本地子系统包含IP(Intellectual Property)核和网络适配器(Network Adapter,即网络接口NI ),构成资源(Resource)节点。如图2所示为片上网络单个节点结构。每个路由器连接4个相邻路由器和一个本地IP核。
路由器作为数据传输和交换的核心部分,其结构直接影响NoC的整体性能。NoC路由器从最初简单的集中仲裁、无虚信道结构,经过不断改进逐渐发展成现在典型的虚信道虫孔交换结构。常见的虚信道路由器结构如图3所示。
由于路由器的基本架构已经成型,后续研究将主要集中在对各部分进行优化设计。作为片上网络的核心部件――路由器,它由输入解码器(DEMUX)、虚信道缓存(VC Buffer)、信道复用器(MUX)、交叉开关(Crossbar)、路由单元(RC)、虚通道分配器(VC)、开关分配器(SA)、处理器接口(PE Port)等构成。路由器的物理信道被多个虚信道复用,为每个虚信道提供单独的缓存。
通常一个路由器只连接一个IP核,本文提出了一种连接两个IP核(主从IP核)的片上网络路由器结构,并对其内部各个组成单元进行了逐个分析优化。如图4所示为两种不同的路由器连接主从IP核策略。
在对现有技术进行详细分析和研究的基础上,我们经过大量的仿真,提出了一种更加简单的连接方式:一对连接主从IP核的双核路由器结构。我们对这种采用新的缓存策略和“绿色通道”(Bus)的高效路由器结构进行了分析和仿真。文章具体结构如下:第2节具体描述设计思想以及设计出的路由器结构;第3节建立功耗模型来分析这种路由器结构对片上网络功耗性能的提升,第4节在仿真的基础上,将这种路由器与典型的虚信道流控虫孔交换路由器进行性能比较和分析;最后我们对本文进行总结。
2设想及思路
片上网络的性能如何,关键在于采用的路由器结构。在片上网络中,一些IP核经常需要在其它IP核的配合下共同完成某项功能。那些能够主动产生请求的IP核,称之为主(master) IP核。另外一些IP核只是对主IP核的请求进行应答,称之为从(slave)IP核。针对资源节点功能差异,这些IP核所处的地位是不平等的。我们在设计片上网络时首先可以采用最优化法则对这种具有主从关系的IP核进行优化设计,方式A将相应的主从IP核分别单独连接在同一个路由器(图4左)上,或者是方式B将从IP核连接到主IP核上,然后通过主IP核再连接到路由器上(图4右),构成片上网络系统。采用这种方法使得片上网络能够更加高效地完成某些功能,减少仲裁单元或者控制单元的数量,将数据通信比较频繁的IP核节点及其连接的路由器安排在芯片上相对最短路径上。另外,还可以对连接主从IP核的路由器端口进行优化,以得到最佳的性能和最低的功耗。下面仅对一个主IP核只请求一个从IP核的最简单、最基本的路由器结构进行功耗和网络性能方面的分析。
数据包格式设计:本文采用文献[1]中提出的基于微片的数据传输,这样可以使master随意的收发信息,不用等待slave的响应,数据传输效率比较高。数据微片的格式如图5所示,每个头微片包含了源节点和目的节点的地址(ID),以及有效的载荷。其中,源/目的节点地址表示了分组的路由信息。每个数据微片都包含2 bit的微片类型位和1 bit的IP核类型位。IP核类型位(Core ID)表示微片流向主IP核还是流向从IP核。方式A中通过路由器内部来判断这一控制信息,当Core ID位为低电位0时到主IP核,当为高电位1时到从IP核,方式B中这一功能则由主IP核的网络适配器来完成。
对输入端口的优化:由于slave的处理速度比较慢,因此需要在master的数据注入端口增加FIFO缓冲队列或者增加虚通道,以防止阻塞。为了满足不同的性能要求,设计出的路由器也会有所不同。MESH结构的片上网络在采用自适应路由算法时,存在选择策略的问题。对于非确定性路由算法来说,每一跳的输出端口可能不是唯一的,这样就需要通过一定的策略来选择一个输出端口。这里采用根据输出端口的缓存情况来选择的策略,也可以采用根据输出端口所连接的下一个路由器的周围拥塞状况来选择的策略。如图6所示为虚信道分配器结构。
对缓存的优化:文献[2]提出一种两级输入输出缓存结构。该结构中每级缓存有多个输入输出,内部由先进先出队列(FIFO)组成。但是两级缓存对存储空间的要求比较大。信道缓存的使用在一定程度上降低了时延,提高了吞吐,但无论是输入缓存还是输出缓存都存不同程度的队头阻塞(Head-of-line blocking,HoL)问题,影响网络性能。
文献[3]提出了一种使用额外的共享总线来缓解网络的竞争,它消除了队头阻塞。最初的NoC路由器是单一的缓存,采用集中判决路由策略。单一的存储器需要很大的带宽,这就成为路由器性能的瓶颈。同样集中控制所有输入和输出的时延很大。带宽和时延问题可以通过设置虚信道来解决,通过将每一个物理端口划分为多条虚信道(图7为每个物理端口分成四条虚信道),同时给每一个虚信道分配一个缓存,这样每个开关的输入端口同时对应多个虚信道。虽然这种策略解决了带宽和时延问题,但这种小而多的划分会造成缓存利用率很低。本文在对现有研究成果进行分析总结的基础上提出了一种综合考虑带宽、时延和芯片功耗的折中方案。
对交换机制的改进:由于连接了两个IP核,相应的路由器内部所采用的交换机制就应该能够高效地处理其内部主从IP核之间大量的信息交换和数据通信,还要能够快速地与外部路由器进行通信。因此我们选取文献[4]所提出的提前注出策略和credit机制。解码器负责从数据片中提取出地址信息,将数据片送到相应的缓存。输入缓存的设计则结合虚信道分配和队列的相关知识。由于增加了一个从IP核和输入输出端口,相应的交换机制就得改变。本结构采用一种称为提前注出的策略,将目的节点为本地的路由进行提前注出,省去了仲裁判断和交叉开关的传输。该结构中仲裁判决采用credit机制。若credit计数器显示有空闲缓存,开关分配器才能将crossbar授权给相应的数据片。交换机制采用虫孔交换。相应的crossbar规模从(6×6)变为(5×5),减小芯片面积和功耗的开支。
3功耗模型及其分析
文章[5]提出三个功耗公式,建立了基本的功耗模型。在对功耗模型的变量及参数进行了细致深入的分析后,得出可以根据不同的功耗模型从逻辑设计,软件方法以及网络拓扑三个方面来减少功耗。
从逻辑设计方面来降低功耗主要考虑逻辑电路与或非门的大小、电源电压,以及阀值电压三个方面来权衡优化,在增大延时20%的情况下,可以节省40%-70%的能量。在不牺牲延时的情况下,可以通过门大小、电源电压、阈值电压三者之间的平衡来节省50%的能量消耗。
文献[6]仿真了虚切通交换机制和虫孔交换机制在各种条件下的性能。结果表明,两者的能耗相近,但是虚切通取得了较好的时延性能。而虚切通要求的缓存较大,会增加芯片的面积。
文献[7]中通过比较2-D mesh 和folded torus在不同路由算法中的性能来分析能耗,结果torus 网络的延时性能比mesh网络好。但是高性能是以更多的能量消耗为代价的。同时,自适应性越好的算法,torus拓扑的网络消耗越小。从能量消耗的角度看,XY 确定性路由算法不适合torus网络,但是对mesh来说还是较好的。
文章[8]引入了profile-based方法,这是一种面向编译的方法,通过增加通信链路的空闲时间,来加强基于硬件的链路管理机制效率。该方法具体是将一些数据通信簇的要求分配到更小的链路集合,通过关闭其它链路和缓冲器来降低漏电功耗。结果显示平均可以减少35%的漏电能耗。
本文通过在仿真程序中设置一个统计跳数的全局变量来测量在不同包注入率条件下的逻辑门电路通断的情况,以此来获取片上网络系统在硬件逻辑门电路的功耗一定的情况下的能耗。在不增大延时的情况下,采用DyXY路由算法对一个主IP核仅请求一个从IP核的路由器结构的功耗进行了分析,结果相对于传统的路由器结构(即将两个主从IP核分别单独连接一个路由器)其能耗降低了30%-40%。
4网络性能仿真及其结果分析
本节通过OPNET Moduler 10.5版本仿真软件进行分析,对由两个IP核单独连接的路由器所组成的片上网络与一对主从IP核互连后再连接路由器所组成的片上网络系统进行了比较和分析,两种路由器结构均采用虚信道流控虫孔交换机制,链路传播时延为1个cycle,链路速率为10 Mbps。网络拓扑结构采用8×8 2D mesh,路由器为每个输入端口设置了4条虚信道,每条虚信道可缓存6个数据微片。分组大小选用4个128 bit 数据微片。网络的流量模型采用自相似流量模型,路由算法采用XY维序路由。
仿真结果表明,经过优化后的连接主从IP核路由器组成的片上网络系统,相比于没有进行优化的两个IP核单独连接到两个路由器的片上网络系统,在功耗和数据传输性能方面都有非常明显的提高。没有优化过的两个IP核单独连接到两个路由器的片上网络系统在芯片面积、逻辑门的数量、数据包所需要的仲裁判决的复杂度和次数,以及分组所经过路径的跳数,与优化后的路由器相比都存在很大的劣势。
优化后的片上网络,将主从IP核互连后,再连接到路由器上。这种路由器组成的片上网络系统与主从IP核单独连接路由器构成的片上网络系统相比较,前者在交叉开关、仲裁单元方面对路由器结构进行了简化。而两个主从IP核相互连接时只需要采用简单的直连线路进行信息交换处理和通信,当主从IP核单独与路由器连接时,由于路由器需要多增加了一条输入输出通道,在路由器内部必须增加相应的交叉开关。另外,这也使得相应的仲裁单元变得较为复杂。两种结构在功耗方面相差不是很明显,在网络通信性能方面还是有一定的差距。通过OPNET仿真平台进行数据传输性能的仿真结果如图9和图10所示。
5总结及展望
本文分析了片上网络及其核心部件――路由器的基本组成。在对现有路由器结构的分析研究的基础之上,提出了一种连接主从IP核的路由器结构,并对这种路由器结构的各个组成部分进行了分析和优化。通过分析功耗模型,新提出的路由器结构可以显著地降低功耗。采用OPNET仿真的方法,我们对比了两种连接主从IP核的路由器结构,分析采用这两种路由器结构的片上网络的性能,得出首先将主从IP核互连,再连接到路由器的片上网络结构,在不增加系统功耗的前提下,其数据传输性能要优于将主从IP核单独连接到路由器的片上网络结构。
IP核的这种不对称性,数据传输的频繁程度差异,决定了路由器结构设计过程中有些部件可以优化后以达到减少功耗,提高传输性能,最终达到提高片上网络整体性能的效果。
参考文献
[1] Leary G, Mehta K, Chatha K S. Performance and resource optimization of NoC router architecture for master and slave IP cores. Salzburg, Austria: ACM, 2007.
[2] H. Po-Tsang, H. Wei. 2-Level FIFO Architecture Design for Switch Fabrics in Network-on-Chip, [C].Circuits and Systems, ISCAS 2006. Proceedings.
[3] D. Kim, K. Lee, S. Lee and H. Yoo. A Reconfigurable Crossbar Switch with Adaptive Bandwidth Control for Networks-on-Chip [C]. IEEE International Symposium on Circuits and Systems, 2005, pp.2369- 2372
[4] Kim, D. Park, T. Theocharides, et al. A low latency router supporting adaptivity for on-chip interconnects[C]. In 42nd DAC 2005, June 2005.
[5] Mudge, T., Power: a first-class architectural design constraint. Computer, 2001. 34(4): p. 52-58.
[6] Banerjee Nilanjan, Vellanki Praveen, Chatha Karam, A Power and Performance Model for Network-on-Chip Architectures, Design Automation and Test in Europe Conference and Exhibition, vol.2, pp.1250-1255, 2004
[7] Lee S E, Bagherzadeh N. Increasing the throughput of an adaptive router in network-on-chip (NoC). Seoul, Korea: ACM, 2006.
[8] Soininen J P, Heusala H. A design methodology for NOC-based systems: Networks on chip. Kluwer Academic Publishers, 200319~38.
[9] Qiao B, Shi F, et al. A New Hierarchical Interconnection Network for Multi-core Processor. 2007.
作者简介
张春淼,硕士研究生,主要研究方向为NoC路由器结构;
林红君,硕士研究生,主要研究方向为计算机网络,片上网络。
