论文部分内容阅读
片上多核处理器(Chip Multiprocessor,CMP)将多个简单的处理核心集成到一个物理芯片上,相对复杂的单核处理器设计而言可以更加有效的利用片上资源,有利于发掘应用中线程级并行性。CMP的体系结构特征决定了其具有功耗低、设计和验证简单等优点。因此CMP成为处理器在今后一段时间内发展的趋势。为CMP系统中的多个处理核心提供与其计算能力匹配的数据传输是CMP系统面临的主要问题,缓存系统设计作为该问题的主要解决方案成为CMP系统研究的热点之一。
共享型的二级缓存设计可以更加有效的利用片上缓存,具有较低的缺失率,是CMP系统缓存设计的主要选择。NUCA实现的共享型二级缓存设计在逻辑上共享地址空间,但是物理上由多个二级缓存模块组成,该方式的缓存设计可以提供较高的片上缓存访问带宽,避免了单一的二级缓存成为CMP系统的瓶颈。但是NUCA实现的共享型二级缓存的平均访问延迟很大程度依赖于数据在缓存模块之间的分布。
本文提出了一种基于进程调度对NUCA实现的缓存设计访问延迟进行优化的方案(Cache Access Latency Optimization Scheme based on Process Scheduling,CaLoSPS)。CaLoSPS方案通过添加硬件计数器实现对应用访问缓存规律的收集。CaLoSPS方案在操作系统已有基础上对调度模块进行改动,增加了针对缓存访问规律的中粒度调度模块。中粒度调度模块以应用对缓存模块的访问规律作为输入,根据缓存访问规律对进程进行调度,并将进程迁移到距离其经常访问的缓存模块较近的处理核心上执行从而降低进程访问缓存的平均延迟。
CaLoSPS方案根据进程对缓存的访问规律对进程调度和迁移,可以降低CMP系统中处理核心访问缓存的平均延迟。同时,CaLoSPS方案减少了数据在片上网络中的传递。仿真结果表明,CaLoSPS方案可以将缓存访问延迟平均降低10.65%,对某些特定基准测试程序最高可以降低25.89%;对片上互连网络的延迟平均可以降低19.59%,对某些特定基准测试程序最高可以降低35.41%。