论文部分内容阅读
随着半导体工艺技术的不断进步,单个芯片内可集成的晶体管数目不断增多。多核处理器通过提取程序的线程级并行性,利用各个节点的协同计算,不断提升微处理器的性能,成为未来高性能处理器的发展趋势。然而,不同于单核处理器,在多核处理器中,各处理器节点计算具有“数据共享”及“资源竞争”等新特性,如何设计高性能高可靠性的多核处理器成为研究热点。本文主要关注多核处理器的可靠性及存储性能问题。
功能模块和存储模块是微处理器系统的两大重要组成部分。多核处理器通过高速缓存一致性协议实现功能模块中多个节点对于存储模块不同层次的数据访问,并保证程序执行的正确性。本文从高速缓存一致性协议层次出发,提出针对功能模块的可靠性设计方法和针对存储模块的性能优化方法。首先针对处理器节点的失效问题,研究多核处理器的核级冗余容错方法;其次针对多核处理器存储性能问题,研究末级缓存的读/写缺失优化方法。本文的创新贡献主要有:
1.提出了一种基于容错高速缓存一致性协议的多核处理器透明动态绑定方法。多核处理器提供了良好的核级冗余特性。其丰富的硬件资源可以被有效的利用,以实现核级冗余容错设计。本文通过实验观察到,随着系统规模的扩大,外部写操作发生频度不断增加,主核与从核的存储一致性维护使得已有的核级容错方法在可扩展性和灵活性方面存在不足。本文提出了一种透明动态绑定方法TDB,通过将“主一从”存储一致性维护区域归约到私有一级缓存的做法,降低了“主-从”存储一致性维护开销,从而提供了具有良好可扩展性的核级冗余容错解决方案;另外,TDB沿袭动态绑定的设计思路,保持了容错系统的灵活性。通过运行SPLASH-2基准测试程序集,结果显示,本方法能够有效地降低冗余计算对系统性能的影响,与基准配置(冗余计算不对功能计算产生干扰)结果相比,在4核、8核、16核和32核配置情况下,本方法的归一化平均运行时间为0.972,0.998,1.012和1.054,相比于国际上已有的动态绑定方法,其性能提升分别达到9.2%,10.4%,18.0%和37.1%。实验结果表明,透明动态绑定方法在面向大规模片上多核处理器时,冗余执行不会给系统性能带来较大影响,且保证了容错绑定方法的灵活性。
2.提出了一种基于数据预取的末级缓存只读缺失优化方法。末级缓存是影响系统整体性能的关键因素。本文通过实验观察到,对于运行并行程序的多核处理器,由于各节点间计算行为的相似性,其访存行为也具有良好的相似性和关联性。此外,数据块访存缺失行为主要表现为核问只读缺失(load-onlymiss)和读写缺失(load-store miss)。本文根据各节点末级缓存只读缺失的关联性,提出了一种基于数据预取的末级缓存只读缺失优化方法。对于特定数据块,根据各节点读缺失关联性的历史信息,预测未来节点可能发生的读缺失行为,并通过提前向相关节点发送数据的方式,降低各节点末级缓存的读缺失率。在GEMS模拟器实验平台上运行SPLASH-2和PARSEC基准测试程序的实验结果表明,与已有的缓存一致性方法相比,在4核和16核处理器系统规模下,该方法分别平均降低末级缓存缺失率9.8%和18.4%,提高性能4.0%与12.4%。
3.提出了一种基于数据独占式访问的末级缓存读写缺失优化方法。
本文根据高速缓存一致性对写操作的,提出了一种基于“独占式访问”的数据块读写缺失优化方法。首先针对读写缺失密集型数据块,根据历史信息预测其在未来一段时间是否表现为“写主导型”缺失行为。此后,对于“写缺失主导型”数据块,将该数据块的读写行为设置为“独占式”访问模式。独占式访问模式可以将数据块的访问权限集中在单个节点上,当多个节点对该数据块交替发生写缺失行为时,该模式可避免因权限分摊而产生一致性写缺失行为。运行SPLASH-2及PARSEC基准测试程序的实验结果表明,在4核与16核处理器系统规模下,与已有的缓存一致性方法相比,该方法分别平均降低末级缓存缺失率14.5%和143.8%,提高性能6%和11.5%。