动态二进制翻译中的热路径优化

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:tony_guang
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
二进制翻译(Binary Translation)是指在不需要可执行程序源代码的情况下,把源机器平台上的二进制程序经过一定的转换之后运行在目标机器平台上的过程。所谓动态二进制翻译就是边翻译边执行,并在翻译的过程中进行动态优化。动态二进制翻译为解决代码遗留,代码移植以及构建分布式虚拟计算环境等问题提供了一个良好的解决方法,因此在近年来得到了越来越广泛的关注和研究。本文主要研究在动态二进制翻译中如何有效地收集运行时的profiling信息,以及如何用这些信息来进行有针对性的优化,研究内容主要包括:程序运行时的profiling、热路径的识别和超级块的生成、以及针对超级块的优化。Profiling是指对程序运行时信息的统计和收集。传统的动态二进制翻译器采用的profiling方法分为三种:基于基本块、基于跳转边、基于路径。本文结合平台自身的特性,实现了一种开销小的profiling的方法来收集基本块和跳转边的信息。热路径的识别是指根据热路径识别算法预测出一条热路径,通常动态二进制翻译器都是通过跳转边的信息或者程序的运行轨迹来预测热路径,本文在CrossBit平台上实现了一种“先热先选择”的热路径识别算法,这种算法特点是原理简单、效率高。生成超级块是指将热路径上的基本块合并成具有单一入口和多个出口的超级块,这样做一方面可以减少因基本块结束而引发的上下文切换,另一方面,超级块中包含更多的指令,给中间代码的优化提供了广阔的空间。程序在运行过程中从超级块内部跳出的概率越小意味着超级块的性能越好。本文实现超级块内条件指令条件码的翻转,大大降低了程序从超级块内部跳出的概率,提升了超级块的性能。前端解释器在对源代码做解码的过程中,引入了新的指令来实现源寄存器与虚拟寄存器之间的映射,这些新的指令构成了基本块间的冗余。本文实现了超级块内冗余GET指令的识别和删除,使得系统的性能提升了1%~10%。本文在CrossBit平台上实现了热路径优化,并通过SPEC CPU2000基准测试程序进行验证。实验数据表明,CrossBit的整体性能有10%到30%不同程度的提高,从而证明本文提出的优化算法能有效的改善动态二进制翻译器的性能。
其他文献
本文研究的主要内容为氧化锌纳米材料的制备及其生长机理、光学性质研究。文中首先简单介绍了纳米科学的研究对象,纳米材料的主要特点以及纳米材料对各科学领域发展所起到的
城市化一直是我国经济社会发展所关注的焦点问题,提升城市化水平是关系到我国经济能否保持健康、快速的发展势头,能否实现全面小康这个目标的关键性问题。产业集群是城市化发
随着FTTH的快速发展,FTTH已走进了人们的生活。现有的FTTH网络是基于PON技术的无源光网络,本文是基于EPON系统网络特点进行讨论,重点在于FTTH网络中的光缆产品。现有的FTTH光
"垄断"是竞技运动发展过程中的一个重要现象。通过理论研究发现,"竞技垄断"具有时空的相对性,竞技集团对竞技资源乃至竞技优势的占有差异是产生垄断的根本原因,竞技系统借助
在浩如烟海的咏田园诗作中,王维与华兹华斯的作品分别在中英文学史上占有重要地位。但由于中英文化的不同,同为田园诗人的两人对自然意象的吟咏却差异巨大。本文通过对两人诗
目的探讨妇女孕产期保健服务的利用状况,对其影响因素进行分析和调查。方法选取2014年3月在我市工作的流动人口育龄妇女为研究对象,其中470人有分娩经历。对这些妇女的产前检
耽美文学作为一种亚文化在中国内地的出现,有其深刻的外在和内在原因。现代女性从各方面都要求绝对的平等和心理强势,但是由于传统文化和传统道德的内化,使得部分女性只能通
书院虽然是有别于传统官学体系的教育形式,但发展到了清代,由于受到清廷文化教育政策的影响,书院的发展走过了一条曲折的道路。就书院政策而言,有清一代呈现了一个由防患到疏
目的为了提高血液安全性,探讨自动化核酸扩增技术在血站血液筛查中应用的可行性。方法在酶联免疫试验(ELISA)常规筛查血液的基础上,应用STAR2000加样仪自编程序进行全自动血
信息系统快速重构是制造业面临的一个重要问题。基于业务过程重组理论,一些颇为有效的软件重构方法已被提出。但是这些方法多是基于功能模块的装配与裁剪的重构方式,而功能模