摘要:
随着片上多核处理器(CMP)规模的不断扩大和处理核数的增多,系统对于片上缓存(Cache)在容量和速度方面有了更高的需求.为了能够有效利用Cache资源,非一致Cache体系结构(NUCA)被提出用于支持高容量低延迟的Cache组织结构.另一方面,片上网络(NoC)由于具备良好的可扩展性,在片上多核处理器的互连方式上具有显著优势.因此,基于片上网络的非一致Cache体系结构逐渐成为未来组织大容量Cache的主流系统架构.在这样的系统架构中,最后一级缓存(LLC)通常在物理上分布于每个处理节点,这些Cache存储体(Bank)在逻辑上共同构成一个统一的共享Cache.当处理核发出Cache访问请求时,其访问时间与请求处理核节点与访问数据所在的Bank节点的距离有关.当距离较近时,访问时间较短;当访问距离较远的Bank时,访问时间较长.因此,当系统规模逐渐增大时,这种访问延迟与网络距离相关的特性会使得不同节点之间的通信距离和通信延迟的差异性逐渐增大.另外,片上网络规模的增大也会使得Cache访问延迟逐渐由网络延迟主导.这种延迟差异性会引起网络报文延迟不均衡问题,导致Cache访问延迟的非一致性进一步增大,因而出现更多的大延迟Cache访问并成为制约系统性能的瓶颈.因此,研究片上多核处理器的Cache访问均衡性对于提升网络性能和系统性能具有积极意义.该文分析了造成Cache访问延迟不均衡的原因,并针对延迟的两个来源:无冲突延迟和竞争延迟,分别提出了非一致存储映射和非一致链路分布的设计方法.通过非一致存储映射,我们根据Cache存储体在网络中的物理位置调节其相应的Cache块映射比例,从而均衡Cache请求平均访问距离;通过合理设计非一致的链路分布,我们依据各条链路上的流量负载为其分配合适的通道数量,从而缓解流量压力较大的链路上的报文竞争.全系统模拟器上的实验表明,采用面向Cache访问均衡性的片上多核处理器能够有效均衡Cache访问延迟,并减少大延迟Cache访问请求的数量.相比于传统的NUCA结构,我们的设计在最大的实验规模(64核)下在延迟均方差、最大延迟和平均延迟上分别平均降低了19.6%、12.8%和6.4%,最大降低了40.8%、29.9%和11.9%.同时在系统性能方面,通过PARSEC应用程序的模拟实验表明,单位周期执行指令数(IPC)平均提升了6.7%,最大提升了14.0%.