论文部分内容阅读
不断进步的集成电路工艺使得片上集成多个处理器成为可能。相对于单核处理器,片上多核处理器能(Chip Multi-Processors,CMP)支持多个线程并行执行,具有复杂度低、功耗低等显著优点。GPU中集成了大量的计算单元,具有更加强大的并行计算的能力。为了发挥CPU和GPU各自的优势,业内将CPU内核和GPU内核都集成到片上构成CPU-GPU异构系统,实现协同操作。在异构多核体系结构中,本来已经很严重的“存储墙”问题变得更加尖锐,片上集成多级存储结构尤其是最后一级Cache(Last Level Cache,LLC)是缓解“存储墙”的重要技术手段,如何管理片上LLC资源是影响处理器性能的关键因素。Cache替换策略是关于体系结构方面研究的重要课题,替换策略的优劣可以直接影响系统整体性能的高低,国内外有大量的针对同构CMP替换策略的研究,关于异构CMP替换策略的研究并不多。本课题主要取得以下研究成果:统计了所有的SPEC CPU2006程序、22种GPU程序的线程数量和每千条指令访存次数,对比同类程序的结果后得出结论:平均来说,GPU程序具有比CPU程序更高的片外存储系统访存频率;GPU程序的访存频率与线程数量没有直接的比例关系。在上述结论的基础上,对采用LRU替换策略的异构多核处理器模型进行分析,得出新的结论:传统的LRU替换策略在异构CMP中会失效。基于上述结论,本课题根据GPU程序和CPU程序特征的差异提出了一种适合异构CMP的LLC动态替换策略DIPP(Dynamic Insertion/Promotion Policy),该替换策略动态地改变GPU核和CPU核的插入策略和提升策略,DIPP通过限制GPU核能够获取的Cache资源,降低程序间的线程干扰,实现了整体性能的提升。DIPP由监控器OHAI(Online Heterogeneous Applications Identification)和决策器组成,OHAI是基于UMON实现的,它能够实现异构程序在线识别和分类,OHAI是实现DIPP的基础,决策器在OHAI分类结果的基础上动态地选择适合该片段程序最佳的替换策略,实现最佳的性能。本课题在Mac Sim模拟器上进行了实验,对比了DIPP替换策略和LRU替换策略。选用10个GPU程序和27个SPEC CPU2006程序,结果表明在采用DIPP替换策略的异构CMP中,按照GPU程序类型讨论,友好型程序平均性能(算数平均值)提升23.29%;大工作集程序平均性能提升13.95%;计算密集型程序平均性能提升9.66%;流类程序平均性能提升3.8%。