二进制翻译下的优化进程框架

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:Zoeyha
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
动态二进制翻译系统中,动态优化技术能根据程序运行时的行为实时地调整代码优化策略,提高程序性能。在传统的系统设计中,代码的优化和代码的执行在同一个进程中分时进行,因此代码优化过程会产生一定的时间开销。一个动态优化方案是否被实施取决于它带来的好处是否超过了其引入的时间开销,这限制了一些深度优化的进行。   受到制造工艺、设计复杂度和功耗等因素的限制,单核处理器的性能达到了实际极限,多处理器、多核等并行体系结构已经成为了主流。多进程/多线程编程技术的发展以及操作系统等的支持,使得多进程/多线程能够并行地在多核上执行。本文以此为出发点,在动态二进制翻译系统中提出了一个基于辅助进程的优化进程框架:我们在程序运行时创建一个新的优化进程,在该进程中以函数为单位进行翻译、优化,并将生成的本地码放在共享存储区中,以便主进程(后文称之为执行进程)读取和执行。这样使代码优化过程和代码执行过程并行地执行,因此隐藏了优化过程引入的时间开销。上述基于辅助进程的优化和执行框架使得一些深度但耗时的优化成为了可能,提高了本地码质量和执行性能。为了验证上述优化进程框架的可用性,我们在该框架下实现并测试了基于动态剖析和异常机制的非对齐访存优化。   本文的贡献主要有以下两个方面:   1.设计并实现了优化进程框架,对其中的关键技术如通信机制、优化进程加载源二进制代码、本地码链接、优化进程退出机制进行了研究。同时,本文将动态剖析和异常机制相结合处理非对齐的优化方法应用到了优化进程框架中,验证了该优化框架的可用性,并取得了一定的性能提升。   2.探讨了在优化进程中的翻译策略对优化进程框架性能的影响。探讨了“按照代码的地址顺序进行翻译”和“最近执行的代码最先翻译”两种翻译顺序对系统性能的影响。相对于以基本块为单位的翻译执行方法,以函数为单位的方法减少了翻译分支指令时生成的本地码指令数量,改善了系统的性能。
其他文献
本论文主要介绍了基于Linux的EAST分布式集群系统的设计与实现。随着EAST实验的不断深入,为了满足实验需求和用户对高性能计算的需要,几年来实验室不断购置服务器,新服务器日益
由于光刻对于光源的功率和线宽提出了很高的要求,传统的单腔结构准分子激光器很难在这两方面兼顾。MOPA结构的准分子激光器可以很好地解决激光功率和线宽的矛盾,这一结构的准分
中医知识库是集中医领域内相关医学医药理论知识、事实数据以及根据中医专家经验得到的启发式知识于一体的智能数据库。舌诊是观察舌头的色泽、形态的变化来辅助诊断及鉴别病
随着不断增长的信息化建设需求,提高软件开发的生产力并保证软件产品适应多变的客户需求成为信息化建设领域的两个核心问题。本文试图从软件过程改进和技术革新两个方向共同切
图作为离散对象之间关系的灵活抽象,被广泛应用于很多科学计算和一些新兴的应用领域包括基因组学、天体物理学、人工智能、数据挖掘等。图的宽度搜索算法是用于探索图中具有
计算机技术以及传感器网络的发展,深刻改变了传统的数据采集方法。尤其是生态学中的野外生态观测研究正逐渐朝着自动化、网络化、智能化、常态化的方向发展,是现代生态学科研信
随着互联网技术与移动通信技术的发展,各行各业都积极地将自身的业务与互联网平台相结合,形成“互联网+”的新局面。人们享受着互联网平台方便快捷的同时,也迷失在由它带来的海
蒸汽系统是钢铁石化等工业企业的重要组成部分,它消耗燃料,为整个生产过程提供蒸汽、电力、冷却水等公用工程。蒸汽系统的安全稳定运行是企业安全、稳定、长周期运行的基础。蒸
随着大数据和云计算的发展,分布式文件系统在众多的存储系统中扮演着越来越重要的角色。与此同时,数据仓库也经历了概念的提出、理论的逐步完善、初步建立仓库,到现在发展成熟等
显式语义分析技术ESA,通过对知识库(如Wikipedia)的处理,构造出各个词到每个概念的倒排索引,并且计算出词到每个概念的权值,表示词与概念的相关度。因此,这个倒排索引可以看作是由词