论文部分内容阅读
随着微处理器技术的发展,处理器计算核的数量不断增多,为核间提供高效的、可扩展的通信越来越重要。片上互连网络(Network-on-Chip,No C)相对于传统的总线互连结构,是一种弹性的、可扩展的多核通信解决方案,在现代高性能微处理器中得到广泛应用。随着处理器性能的不断提升,核的数量不断增加,片上网络规模和复杂度不断增加,使得片上网络的功耗不断上升,已成为制约片上网络发展的重要因素。如何降低片上网络的功耗,已成为国际上的热点研究方向。Power-gating技术通过动态关闭空闲的网络部件来降低片上网络的功耗,是片上网络功耗优化的一个热点研究方向。如何在关闭网络部件时保证网络连通性、如何避免频繁开关网络部件带来性能损失、如何对网络负载变化快速反应以保证网络性能等,都是Power-gating技术研究的难点。本文重点研究了面向片上网络的基于Power-gating技术的功耗优化问题,主要工作和创新概述如下:1.提出了采用异构虚通道的片上网络路由器功耗优化方法。传统片上网络的路由器中包含多个虚通道,每个虚通道都带有一定数量的缓存。缓存的作用是对报文进行暂时存储,从而减缓报文对路由器端口的竞争。基于缓存转发的路由器设计获得了较高的网络性能,然而,研究表明在功耗方面,路由器的缓存功率消耗较大。国际上最近的研究提出了无缓存路由器的设计,该设计在片上网络的路由器中不包含虚通道和缓存。这种设计极大降低了路由器的静态功耗,但由于无缓存带来的报文绕道或者报文丢弃重传情况,使得在网络负载流量较大时,无缓存路由器的性能很差。本文首次提出了采用异构虚通道的路由器设计HVC-Router,将路由器的虚通道设计为包含带缓存的和不带缓存的异构形式。相应的,本文提出了根据网络流量负载对虚通道,以及虚通道中的缓存进行动态开/关的算法。实验表明,HVC-Router在网络流量较低时,能有效地节省静态功耗。当网络流量增加时,能保证网络的性能不降低。2.提出了基于混合Mesh拓扑结构的低功耗多层片上网络设计。传统片上网络多采用单层网络结构。由于需要保证网络连通性,即使在网络负载很轻时,片上网络的很多部件也不能被关闭,从而较大的限制了Power-gating技术的应用,难以有效地降低功耗。国际上最新研究提出基于多层网络的低功耗片上网络设计Catnap,由于采用多层网络结构,在保证一层子网连通的情况下,可以对其它子网进行动态开关,实验表明,相对传统的单层网络可以有效降低功耗。但Catnap采用的是同构设计,即所有子网采用相同的Mesh拓扑结构。本文首次提出采用混合Mesh拓扑结构的多层异构片上网络设计HM-Mesh。HM-Mesh的第一层子网采用CMesh拓扑结构,其它层子网采用Mesh拓扑结构。CMesh拓扑结构在相同核数的情况下,因为网络规模比Mesh网络小,在低流量负载的情况下,功耗比Mesh网络低,而且由于报文的平均跳步数少于Mesh网络,报文延迟也较Mesh网络有优势。本文提出相应的Power-gating及流量分配算法,使得网络在低负载时,仅通过CMesh网络即可满足通信需求,而随着负载的升高,由Mesh网络来负载通信。3.提出了采用组合路由算法的低功耗多层片上网络设计。多核微处理器芯片采用关闭空闲计算核的策略来降低系统功耗。但由于要保证报文的可达性,与计算核相连的路由器不能被关闭,使得片上网络的功耗难以降低。本文首次提出将CBCG动态无规则拓扑路由算法用于片上网络低功耗优化中。CBCG是国际上面向片上网络路由器容错提出的路由算法。采用CBCG路由算法,使得可以更加激进的关闭片上网络中的路由器而不会引入报文不可达或死锁/活锁等问题,在网络负载较轻时,可以大大降低功耗。但如果单纯采用CBCG路由算法,在网络负载升高时,网络性能将急剧下降。因此,本文提出采用CBCG和维序路由算法同时工作的多层片上网络设计CRA结构。CRA根据网络流量变化,动态地开/关网络层,以及CBCG路由网络层的路由器,达到保证网络性能的前提下,节省更多的网络功耗。4.提出了采用多维度Power-gating技术的低功耗片上网络设计。当前国际上基于Power-gating的功耗优化技术,分别面向缓存、路由器、子网等不同的维度进行。本文首次提出结合多维度Power-gating技术的异构多层片上网络设计Chameleon,同时从多种维度对片上网络进行功耗优化。Chameleon采用异构的无缓存网络和有缓存网络相结合的设计方法,并采用了动态自适应细粒度Power-gating算法,对网络负载变化迅速响应。结合流量分配算法,实验表明,Chameleon取得了良好的功耗优势,且网络性能也得到了保证。