论文部分内容阅读
为了延续摩尔定律,半导体产业开始向高效能的异构芯片或系统的方向发展。以GPU为代表的众核加速器得到广泛应用,并且开始集成到通用微处理器中。GPU采用SIMT执行模型,对于很多访存模式规则的应用程序,GPU能够通过大规模多线程来隐藏访存延迟。为了支持更多不规则访存模式的应用程序,片上缓存层次结构被加入到GPU体系结构中,来捕捉时间和空间局部性,从而缓解不规则访问对系统性能的不利影响。然而,GPU缓存的效率不高,制约了系统的性能和效能。GPU缓存低效的主要原因是其管理策略同面向吞吐率的执行模型不相适应。GPU生成的大量访存请求引起了缓存冲突和资源拥塞。现有的CPU缓存管理策略是针对多核系统设计的,直接应用到GPU中效果并不好。这主要是因为CPU缓存管理策略无法有效控制工作集和其它资源使用情况。不仅如此,当大规模并行受限于片上资源时,计算部件长时间处于等待数据的状态,系统效能也会因此降低。为了尽可能地减少访存延迟和带宽需求,程序员往往需要对GPU代码进行复杂而繁琐的优化,这在很大程度上增加了程序员的负担。为了解决上述问题,本文提出针对GPGPU的执行模式定制其片上缓存管理策略。对线程束调度和流访问模式感知的缓存替换策略能够减少缓存污染和冲突。基于重用距离的缓存旁路策略对缓存层次进行保护,以缓解缓存冲突。动态监测机制在运行时通过计数器采样获取缓存冲突和资源拥塞的信息。为了避免过度使用片上资源,旁路策略协同线程束调节机制对活跃的线程束数目进行动态控制。本文的研究工作和创新点主要包括:。本文的研究工作和创新点主要包括:1.提出了针对GPGPU大规模并行执行模式下访存行为的自适应缓存替换和旁路策略。本文对GPGPU应用的访存行为进行了详细的模拟和分析,实验结果显示了GPU缓存的低效及其根源。针对严重的缓存污染和冲突问题,本文将CPU中现有的先进缓存管理策略移植到GPU中,实验结果显示,先进的管理策略能够一定程度上提升GPU缓存效率,但是仍然存在局限性。本文结合了目前最先进的防污染和防冲突缓存管理策略,提出了针对GPU中流访问模式和剧烈冲突问题的管理策略,实验结果表明,该策略能够获得明显的性能提升。2.提出了克服单纯旁路策略局限性的协同旁路和线程束调节技术。在缓存旁路策略对缓存层次进行保护的基础上,引入线程束调节机制对活跃的线程束数目进行动态控制。通过动态缓存冲突和资源拥塞监测机制获取反馈信息,指导线程束调节。本文还提出了一个简单的预测器来动态估计最优的活跃线程束数目,以充分利用缓存容量和其它片上资源。实验结果表明,对于缓存敏感的测试程序,该方法能显著提高缓存效率,且更好地利用片上资源。相比基准GPU架构和最优静态线程束调节,系统性能(IPC)分别平均提升了74%和17%,(最多提升达到661%和44%)。3.提出了GPGPU中缓存感知的功耗管理机制。理想情况下GPU的峰值性能同其计算单元的数目和工作频率成正比,但实际的应用程序对系统资源的需求差异很大,访存密集的应用程序很可能受限于存储子系统,因而远远无法达到其峰值的计算性能。本文针对受限于存储子系统的访存密集型应用程序,考虑在不明显降低其性能的情况下,节省系统功耗,提升系统效能。在监控系统资源(存储子系统中的缓存以及No C和DRAM带宽)使用情况的基础上,本文通过运用核调整技术来控制活跃核的数目,或者通过DVFS技术调节工作电压/频率,来达到节省功耗、提升系统效能的目的。