论文部分内容阅读
目前,GPGPU凭借其出色的并行计算能力,被广泛应用于科学计算和高性能计算领域。随着集成DRAM的带宽和GPGPU上计算单元的集成密度不断增加,GPGPU等众核协处理器对片上网络性能提出了更高的要求。然而,现有片上网络的研究成果不能满足GPGPU等众核协处理器的通信需求。一方面,不同于通用处理器的延迟敏感(latency-sensitive)特性,GPGPU是带宽敏感的(bandwidthsensitive),因此传统的减少片上网络延迟的相关优化技术对于提升系统性能收效甚微,优化访存性能是关键;另一方面,目前关于片上网络的研究大多侧重于网络本身的性能提升或功耗降低,但是,网络级性能的提升并不代表系统级性能的提升,系统性能驱动下的片上网络设计才更具实际意义。因此,针对目前面向GPGPU等众核协处理器的片上网络研究不足的现状,本课题从研究GPGPU特有的通信模式以及GPGPU片上网络面临的瓶颈问题出发,以低开销访存设计和高性能片上网络优化为目标,对访存调度策略、NoC仲裁机制、虚通道划分以及片上路由的微体系结构等方面进行优化设计,最终提出一个高效能的GPGPU片上网络实现框架。本文的主要研究成果包括:(1)提出了低开销访存调度策略目前流行的访存调度策略大多以乱序调度为基础,其基本思想是优化存储节点处访存请求的调度顺序,从而提高访存效率。在通用处理器上,乱序调度策略带来的面积和功耗开销尚可接受,但是GPGPU芯片上计算单元的高密度集成使得面积和功耗开销带来的矛盾愈发不可调和。基于此,本文分两个阶段解决该问题,第一阶段,本文提出了同源优先的仲裁机制(SSF仲裁机制),改进片上网络的传输机制,避免传输过程对访存特性造成干扰;第二阶段,在存储节点处采用基于按序调度的Batched-FIFO访存调度策略,简化调度逻辑结构,降低访存开销。随着GPGPU上集成的计算核心数越来越多,这种易实现、低开销的按序访存调度策略具有更好的实用性和可扩展性。(2)提出了基于目标节点的静态虚通道划分机制虚通道由于能够提高缓冲利用率,避免网络死锁,在当前的片上网络结构中被广泛使用。目前大多数虚通道划分机制的基本原理是,总是将空闲虚通道队列中的第一个分配给请求。这种划分机制容易导致路径的多样性,而路径多样性会降低访存请求的行缓冲访问局部性。因此本文提出了一种根据访存请求的目标节点信息来指导划分虚通道的静态虚通道划分机制,发挥虚通道技术优势的同时尽可能保留访存请求的访存特性,从而提升系统性能。(3)提出了面向存储节点的多端口片上路由微体系结构GPGPU中的片上网络分为请求网络和回复网络。回复网络中通常存在大量的读请求回复报文,这些报文由于携带读出的数据,报文数量多,长度大。因此,从存储节点出发到达计算节点的回复网络承受的流量负载过高,成为片上网络的性能瓶颈。为了缓解回复网络的负载压力,改善存储瓶颈,本文提出了一种轻量级的片上路由微体系结构设计方法,保持片上网络整体架构不变,只针对存储节点端的路由器增加本地Injection/Ejection端口。这样既能有效缓解存储系统的访存压力,提高系统性能,又能尽可能少地改动系统结构,保证负载均衡设计和前面提出的设计方案的兼容性。(4)提出了一种高效能GPGPU片上网络实现框架本文的最终目标是提出一个高效能的面向GPGPU的片上网络结构。因此,前面提出的设计方案分别以低功耗和高性能为目标,设计过程中保持了良好的正交性和兼容性。完成上述方案的设计实现并进行充分验证后,我们将上述研究成果整合到一起,形成一个完整的高效能GPGPU片上网络实现框架,并对它进行了测试与分析。实验结果表明,和目前流行的基于FR-FCFS访存调度策略的片上网络相比,本文设计的高效能GPGPU片上网络的系统性能在访存密集型程序上提高了10.5%,功耗开销降低了20%,能效比整体提高了36.9%。因此,本文提出的GPGPU片上网络对于访存密集型程序实现了高能效比,对于非访存密集型程序保持性能不损失,功耗不增加,而方案的设计实现复杂性远小于基于FR-FCFS等调度策略的片上网络结构。