动态访存优化系统中程序执行行为获取和平台差异优化技术研究

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:wlf844767898
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机体系结构的不断发展,新的处理器会在旧处理器的基础上增加新功能或使用新的处理器体系结构来提高处理器性能。这些新的体系结构特征为应用程序提供了更多的优化机会,然而旧体系结构上设计的软件并不能利用新体系结构中一些新添加的硬件资源(比如,更多的寄存器)来加速程序执行。虽然应用程序可以通过重编译的方法来利用这些新的体系结构特征,但实际情况是在新体系结构出现后的一段时间内,在新体系结构上运行的大量应用程序仍是遗产代码程序(旧体系结构上编译生成的可执行程序)。另外,虽然现在静态编译优化技术的功能越来越强大,但是静态优化方法不能准确地把握程序的动态执行行为,使得许多优化技术要采取保守的优化策略。在静态编译生成的二进制代码中仍存在大量的优化机会。   本文的主要研究内容是动态访存优化系统中低开销的程序执行行为获取和基于平台差异的动态优化技术。在动态优化系统中,我们首先在程序执行过程中利用低开销的运行时信息收集方法来获取动态执行信息,然后在对动态信息进行分析的基础上,结合遗产代码和目标体系结构平台的各自特点,选择相应的动态优化技术对程序进行优化。在对程序动态执行行为深入分析的基础上,我们提出了两种动态优化技术,分别是基于异常处理的非对齐访存优化技术和动态栈变量寄存器提升技术。   本文的主要贡献包括:   提出了一种低开销的、易用的、动态自适应的在运行时获取函数调用路径的方法(DACCE)。该方法能够有效地获取多线程程序和单线程程序的运行时函数调用路径,可以动态处理程序中的间接调用,并且可以根据程序动态行为自适应地调整函数调用路径编码。另外,该方法不需要额外的程序分析或静态剖析信息来辅助编码,提高了方法的易用性。而且,它是以共享库的形式实现的,可以被非常方便的集成到其它工具中。基于SPECCPU2006,Parsec2.1和Cilk程序的实验数据表明,DACCE不仅可以准确地获取所有测试用例的运行时函数调用路径信息,而且它的运行时开销也非常小(2.4%左右)。   提出了两种新的非对齐访存优化方法,包括基于异常处理机制的优化方法和持续剖析(continuousprofiling)方法。基于异常处理机制的非对齐访存信息收集方法是一种可以持续监控程序非对齐访存行为的轻量方法。持续剖析方法可以持续收集程序执行过程中的非对齐访存信息,从而可以得到程序在不同输入数据下的非对齐访存信息,使程序可以受益于之前执行过程中收集的非对齐访存信息。另外,我们对程序中的非对齐访存指令的动态访存行为进行了深入分析,并提出了一种基于多版本代码的非对齐访存指令处理方法。实验结果表明,与已有方法相比我们提出的非对齐访存优化方法可以更好地适应程序执行行为的变化。对一些测试用例,我们的方法可以取得10%以上的性能提升。   提出了一种基于页保护和栈切换机制的运行时内存别名检测方法。我们利用已有的页保护机制和基于虚存页和物理页之间别名映射方法的栈切换机制,来动态识别程序中潜在的内存别名,保证优化后代码正确执行。我们的运行时别名检测方法不需要专门的硬件支持,因此适用范围更广,可移植性更好。这个方法可以应用于动态指令调度等比较激进的猜测优化中。   提出了一种关键路径优先的栈变量寄存器提升方法。在对程序动态执行行为深入分析后,我们发现程序中数据依赖关系比较紧密的代码中的指令延迟很难被处理器中的乱序执行掩盖掉。因此,在考虑对栈变量读操作的数量,访问栈变量指令所在的循环嵌套层次等因素的同时,我们还提出了一种优先提升关键路径中栈变量的待提升栈变量选择方法。另外,我们在Intel64机器上实现了一个动态二进制翻译和优化系统,这个系统可以将IA-32代码中的栈变量提升到Intel64上多提供的寄存器中。对一些IA-32程序,最大性能提升可达45%。
其他文献
近年来,随着人类科学技术的不断发展和需要,对计算机视觉(机器视觉)的研究也日益深入。由于摄像机的标定是计算机视觉的第一步,已逐渐成为视觉研究的一个热点,其在诸多图像应
随着具有视频拍摄和上传功能的智能设备的普及和网络带宽增加,实时交互式直播应用(如花椒,映客等)井喷式发展,成为网络社交、自媒体和广告营销的新方式。在交互式视频直播系统中,直
贝叶斯网络(Bayesian Network或BN)是将概率和统计应用于复杂系统的不确定性推理和数据分析的一种重要有效工具。由于大学生消费数据存在不确定性,为了能合理有效对大学生消费
三维模型处理、植物建模及其真实感绘制是计算机图形学领域中的重要研究课题,在虚拟场景构建、3D电影游戏、数字城市、园林规划和林业科学研究等方面有着广泛的应用背景.尽管
无线传感器网络(Wireless Sensor Network, WSN)是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统。它结合了计算、通
现有的序列模式挖掘算法已经在大型的数据库中得到广泛的应用。然而,随着数据挖掘技术的发展和应用领域的不断细化,用户对挖掘出来的序列模式提出了更高的要求。因此,将用户
MP3作为音乐格式的一种,由于在复杂性、音质与压缩比之间的完美组合,使得其越来越受到各界的关注,在市场中占有一席之地。尤其是近几年来电子技术的发展,在便携式设备领域中受到
随着科学计算、数据分析、数据挖掘等数据密集型应用技术的迅猛发展,集中共享存储以其易管理、高可用、易扩展等优点,可以满足应用对存储系统高可用、可扩展以及高性能的要求。
随着图像信息量的骤增,图像处理成为目前研究领域的热点。图像分割技术是图像处理的基本环节,其结果直接影响后续的图像分析与理解。基于图像像元的聚类算法是图像分割的常用
语义Web是对当前Web的一个功能性扩展,旨在使得Web中的信息具有语义,能够被计算机理解,从而加强人和计算机之间的交互与协作。语义Web采用RDF来描述网络上的各种资源信息,并