论文部分内容阅读
“主存墙”是限制高性能处理器系统性能的主要因素之一。主存储器的存取速度通常比处理器的计算速度慢两个数量级。为了减小这一差距,现代主存储器大多采用行缓冲优先请求调度策略来增加主存储器的请求处理速度。然而,片上多核处理器的应用加剧了“主存墙”现象,导致了多个线程在共享主存处发生激烈的资源竞争。由此产生的线程间干扰,如线程饿死、存储级并行性被破坏、行缓冲数据局部性被破坏问题,已经导致处理器性能严重下降。本文重点分析了高性能处理器尤其是多核处理器中主存请求调度策略的若干热点问题,并提出相应硬件开销合理的解决方案来提高整体系统性能。论文的主要研究内容与创新之处包括:
1、公平性感知的短作业优先请求调度策略研究。传统的行缓冲优先请求调度策略会优先处理命中行缓冲的访存请求,在单核处理器中增加了主存储器吞吐率并提高了系统性能。然而在多核处理器中,它虽然仍能保证较高的主存储器吞吐率,但产生的不公平性访问,线程存储级并行性被破坏等问题,导致全系统性能下降。针对这一情况本文实现了一种关注公平性访问,保证存储级并行性的请求调度策略。该策略通过为每一个请求设置最大等待时间阈值来保证请求最晚服务时间,维护线程公平性访问,通过预测和优先访存短作业线程的请求,减少请求的平均等待时间,最终达到主存储器吞吐率和系统性能的一个最佳折中方案。实验结果表明,相比于行缓冲优先请求调度策略,该策略可以将一个2-路多核处理器平均情况下公平性提高2.26,同时将吞吐率提高25%。
2、多核处理器中主存储器的Bank分配策略研究。虽然合理的请求调度策略可以综合考虑主存储器吞吐率与系统性能,但是多核线程共用主存储器的Bank行缓冲,产生行缓冲数据颠簸,数据局部性被破坏的问题仍然没有得到有效解决。针对这一情况本文实现了一种全新的主存储器Bank分配策略,通过将不同线程的地址空间映射到相对独立的主存储器bank上,彻底消除多核线程在共享主存处的行缓冲等资源竞争,从而达到最佳的系统性能。实验结果表明,相比于行缓冲优先请求调度策略,该策略可以将一个2-路多核处理器吞吐率最大提高30%。