论文部分内容阅读
目前,多核和众核技术已经被广泛应用于高性能处理器设计。随着处理器核数的增加,处理器由计算密集型向通信密集型转变,不断增加的通信压力,便成为限制提升处理器性能的关键因数。片上互连网络具有高可扩展性,高带宽等优点,已经成为解决多核和众核处理器通信瓶颈的有效方式。但是受制于功耗和面积等约束,片上网络硬件资源十分有限,这就对于管理、分配网络资源的流控机制提出了更高的要求。为此我们针对片上网络流控机制展开以下研究:(1)虚切通与虫孔流控机制之间的量化比较。虚切通作为一种高效的流控机制,被广泛地应用于片外网络。但是由于消耗大量的缓存,虚切通流控机制很难应用于片上网络。随着晶体管特征尺寸的缩小,缓存代价的降低,将虚切通流控机制应用于片上网络成为可能。为此,我们通过RTL级实现虚切通路由器和虫孔路由器,并使用Design Compile综合设计,量化比较二者之间的硬件消耗,进而评估虚切通的应用前景。实验结果表明:在相同的配置条件下,相对于虫孔路由器,虚切通路由器不论是在确定性路由方式还是自适应路由方式情况下都消耗更少的面积和功耗;在相似的分配结构下,虚切通路由将关键路径减少了27%。而且虚切通路由的分配结构在面积方面表现出更好的鲁棒性。这些特性使得虚切通路由器非常适应于高维度,大规模片上网络设计。(2)支持多种长度报文传输的虚切通流控机制。传统虚切通流控机制要求所有报文必须具有相同的切片数量,但是报文中大多数为短报文,这就需要在这些报文中添加无用切片,保证其切片数量与长报文相同。这些无效报文不仅占用缓存资源,而且占用大量链路资源,堵塞网络,使得网络性能降低。为此,我们提出一种支持多种长度报文传输的虚切通流控机制。通过优化仲裁器,使其根据报文长度,动态保持仲裁结果,保证多种长度报文连续传输。然后在信元中添加报文长度信息位,优化输出端口信元计算单元,实现下游路由器可用缓存数量的计算,保证了每次报文的传输,下游有足够的空间存贮报文。实验结果表明,该设计基本对于路由器的关键路径没有影响。在牺牲少量的面积和功耗开销的情况下,网络的性能得到很大提升。(3)自适应剩余跳数流控机制。具有不同剩余跳数的报文在网络中相互竞争网络资源,影响网络的吞吐率和全局公平性。剩余跳数少的报文需要少量的链路资源和较少的传输时间,但是由于相互作用,这些报文有可能在网络停顿更长时间,持续占用缓存资源。如果优先传输这类报文,我们能够减少网络总的报文数量,从而提升网路性能,但是这会对网络全局公平性产生负面影响。剩余跳数多的报文需要更多的链路资源,但是由于报文之间相互影响,使得这些报文不能获得链路使用权,网络的链路的使用效率降低。如果优先传输这种报文,网络的全局公平性将得到提高,网络资源的利用效率同时得到提升,由于网络中报文数量不能够有效的减少,网路的性能降低。为此,我们提出一种自适应剩余跳数的网络流控机制。在这种流控机制中,当网络负载较轻时,优先传输剩余跳数较多的报文,提升网络的全局公平性,进而提升网络的资源利用效率。当网络负载较重,优先传输剩余跳数少的报文,减少网络中报文数量,提升网络的性能。通过模拟仿真得出,自适应剩余跳数流控机制能够提升网络的全局公平性和网络的性能。综上所述,本文围绕着片上网络的流控机制开展研究,探讨虚切通流控机制在片上网络的应用前景,然后优化传统的虚切通流控机制,最后通过分析报文之间的相互影响,提出一种全新的、自适应的剩余跳数流控机制。本文不仅具有很高的工程实用价值,更具有一定的理论研究意义。