论文部分内容阅读
在摩尔定律的推动下,多核处理器在片上资源利用率、能耗以及设计复杂度等方面明显优于传统的单核处理器,并且已成为提高处理器性能的最佳途径。片上存储系统采用高速缓存(Cache)层次结构作为连接处理器核与内存的中间模块,提供较快的访问速度的同时避免片外内存访问延迟,能够在一定程度上解决“存储墙”问题。然而,多核处理器核数扩展对于片上存储系统的设计提出了严峻挑战,急需进一步提高Cache资源利用率、降低Cache访问延迟、减少片上网络通信量。因此,多核Cache优化技术已经成为处理器性能提升的关键和学术界的研究热点。末级高速缓存(Last Level Cache,LLC)位于Cache层次结构的末端具有较大的容量和缺失延迟,LLC组织方式一直是多核Cache研究的主要着眼点。本文基于私有LLC组织方式,聚焦Cache一致性和数据放置两大多核Cache研究关键问题,发挥私有LLC管理的独立性优势,以性能、片上网络通信量和存储开销为主要指标,解决多核处理器在核数扩展情况下面临的挑战性问题。本文的主要工作和贡献包括:提出了基于多粒度的过滤性Cache一致性协议DP&TB。针对目录和Token协议在Cache缺失延迟和片上网络通信量等方面的缺陷,提出DP&TB协议将二者优势结合的同时解决二者的问题。该协议使用目录协议维护页粒度的一致性,免除私有页所属Cache块的片上一致性审查,使用Token协议维护Cache块粒度的一致性,过滤掉共享页所属可能共享Cache块对于片上非页共享者节点的广播操作。实验结果表明,DP&TB协议提升系统性能的同时减少了片上网络通信量。此外,DP&TB协议的存储开销不足目录协议的一半,而且具有良好的可扩展性。提出了组粒度的区域性分布式协作缓存(SRDCC)机制。为了解决现有协作缓存机制片上网络通信量开销较大的问题,提出SRDCC机制进一步增强协作缓存机制在多核处理器核数扩展背景下的适应性。该机制采用适合独占关系LLC的组粒度Cache压力状态管理方法,分布式地管理区域性组粒度的接收者信息,能够快速地完成片上全局接收者查找任务。实验结果表明,SRDCC机制有效降低了协作缓存机制的片上网络通信量,提高了可扩展性。提出了基于私有LLC的复制可感知Cache管理(RACMan)机制。为了解决私有LLC的复制问题,提出RACMan机制改进协作缓存机制的静态复制策略。该机制将处理器核的Block Access Pattern(BAP)特征同副本块的重用性联系起来,动态地调整复制策略,决定副本块在LLC的LRU插入位置给予其不同的生存时间。实验结果表明,RACMan机制能够为私有LLC组织方式的多核处理器在性能、片上网络通信量、存储开销等方面提供良好的可扩展性。提出了重用性和抗干扰性可预测的协作缓存(RAPCC)机制。为了增强私有LLC资源共享能力,提出能够解决复杂私有LLC容量共享难题的RAPCC机制。该机制借助干扰注入实验将重用位置分布(RPD)与重用性和抗干扰性预期相关联,采用运行时RPD类型识别算法,监控周期性的RPD并动态地调整LLC的接收溢出角色。RAPCC机制采用一种全新、中立的接收溢出角色,即兼任接收者和溢出者,帮助私有LLC更合理地分配片上存储资源。此外,该机制将特定类型RPD的接收者LLC旁路掉,延长外来溢出行的存活时间,增强此类接收者LLC的接纳能力。实验表明表明,RAPCC机制增强了Cache容量共享效率,并且有效提升了系统性能。本文在Cache一致性和数据放置两方面明显改善了多核处理器面对核数扩展的适应性,为多核处理器体系结构提供了具有较好可扩展性的设计选项,具备重要的研究意义,夯实了多核处理器末级私有高速缓存架构的可行性基础。