论文部分内容阅读
存储墙问题是制约微处理器性能提升的一个重要瓶颈。在微处理器的发展进人多核时代之后,由于芯片引脚数目和引脚带宽的增长慢于片上处理器核数目的增长,计算和访存的速度差距进一步拉大,存储墙问题变得更加严重。在这种情况下,高效的片上存储系统成为提高多核处理器性能的关键。在多核时代,必须对片上存储系统进行充分优化,以最大程度的缓解存储墙问题对性能的不利影响。多核体系结构的兴起给片上存储系统的优化既带来了挑战,也带来了机遇。一方面,多核处理器中,最后一级Cach。和片外访存带宽通常是在所有的处理器核之间共享的,这种共享会造成处理器核之间的资源冲突,导致系统总体性能下降、公平性降低、服务质量不能保证等问题。另一方面,由于片上晶体管资源极大丰富,片上存储系统可以同时支持多种管理策略,并根据每个应用程序的运行时行为特征进行管理策略的自适应调整,从而可以发掘出更多的优化机会,提高片上存储资源的利用率。然而,不管是解决共享存储资源冲突问题,还是实现存储系统的自适应优化,都需要对应用程序的Cach。访问行为特征进行深人的研究。因此,应用程序的Cach。访问行为分析技术是解决多核时代存储墙问题的重要基础。本文从分析方法和分析模型两个方面,对微处理器Cach。访问行为分析技术进行了深人研究,主要取得了如下成果:1.提出了一种基于动态二进制翻译的应用程序行为分析加速技术。传统的应用程序典型运行阶段识别方法基于功能模拟,因此效率非常低。本文提出利用二进制翻译技术加速应用程序典型运行阶段识别;提出了一个通用框架DBT一BBV,并对其中的几个关键设计选择进行了分析评估;在DBT一BBV框架的基础上实现了一个高效的应用程序典型运行阶段提取工具QPofnt,提出了桩代码内联和计数器地址嵌人两种性能优化方法以提升QPofnt的性能,并结合计数补偿等方法提升准确性。实验结果显示,QPofnt的性能是基于功能模拟的BBV Profil。提取工具性能的10.5倍,是一个基于二进制翻译的简单实现方案性能的1 .73倍。2.提出了一种应用程序行为分析准确性提升技术。使用SimPofnt方法对应用程序的行为进行分析时,如果Basie Bloek Veetor(BBV)profiling和后准确的指导性能模拟。然而在利用二进制翻译技术进行BBV Pro Prling时,Profiling时和性能模拟时使用的是不同的执行机制。这种情况下,程序在Profiling时和性能模拟时的执行踪迹可能存在较大偏差,从而导致模拟点不能准确的用于指导后续的性能模拟。本文实验发现,如果不对此问题加以处理,模拟分析的结果会出现较大误差。为解决程序在二进制翻译执行和性能模拟执行时的执行踪迹匹配问题,本文提出了一个程序执行踪迹的分析模型,对引起程序在不同执行环境中执行踪迹差异的因素进行了系统深入的分析,并提出了相应的解决方法。实验结果显示,所提出的方法能够完全消除28个SPEC2006测试程序中23个的执行踪迹差异,另外5个测试程序的执行踪迹也非常小,不会对性能模拟的结果产生影响。3提出了一个从时间重用距离分布特征估计栈重用距离分布特征的高精度模型。本文通过对时间重用距离性质的分析,发现了时间重用距离序列中的一种内在约束,即“遮掩”效应。该效应对基于时间重用距离分布的Cache模型的准确性有较大的影响。本文在深入分析“遮掩”效应的性质及其对现有模型影响的基础上,提出了SASS模型。实验结果证实,通过计人“遮掩”效应的影响,SASS模型可以有效提高栈重用距离分布特征估计的准确性。在SPEC200(j测试程序集上的实验结果显示SASS模型是同类模型中精度最高的。4提出了一种根据任意指定的数据重用特征卡勾造理想访存序列的方法。具有各种数据重用特征的理想访存序列是Cache行为分析模型卡勾建及误差分析的重要辅助工具。本文针对栈重用距离分布特征和时间重用距离分布特征,分别提出了理想访存序列的卡勾造方法。其中,由于受到“遮掩”效应的影响,根据时间重用距离分布特征构造访存序列存在较大的困难。本文提出了慨率变换和慨率补偿两种思路以消除“遮掩”效应的影响。实验结果证实,所卡勾造出的理想访存序列的重用特征准确的匹配了输入的重用特征。