动态二进制翻译器中Code Cache管理策略的研究与分析

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:LIUCHANGQI2003
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
动态二进制翻译器中的Code Cache用于缓存翻译后的代码块,当代码块再次被执行时就可以直接使用缓存的代码块,而无须再次翻译。Code Cache的使用可以大大提高翻译器的性能。本文针对Code Cache的管理策略作了深入研究和分析,旨在帮助动态二进制翻译器开发者选用合适的Code Cache管理策略,为Code Cache管理策略的设计者指明方向。本文主要的贡献包括:1.详细阐述了动态二进制翻译器中Code Cache管理需要考虑的问题。分析比较了动态二进制翻译中的Code Cache与传统存储系统中的Cache的异同点,指出了Code Cache管理面临的挑战,并给出了衡量Code Cache管理策略优劣的衡量指标。2.量化分析了替换粒度对于Code Cache性能的影响,给出了如何选择替换粒度的方法。3.详细描述了基于工作集变迁的全清空管理策略,分析了该策略的适用情况,给出了该策略的实现方法。4.论述了两级Code Cache模型,详细分析了两级Code Cache管理策略中的关键点,并通过实验验证了两级Code Cache的有效性。通过理论分析和实验验证,本文得出以下几个结论:1. Code Cache管理的基本原则是减少Visit counts(Code Cache访问次数)和Eviction counts(替换次数),降低Miss rate(缺失率),减小Eviction penalty(缺失惩罚)。2.对于目前Code Cache常用的粗粒度先进先出的管理策略来说,当Code Cache空间压力较大时,选用2Units(替换粒度为2)替换粒度可以获得最优的性能。3.作为全清空策略(替换粒度为整个Code Cache的先进先出管理策略)的一种改进方案,基于工作集变迁的全清空策略有一定的局限性。它较适用于时空局部性良好的程序,对于其它程序可能会出现颠簸(thrashing)而降低性能。4.两级Code Cache针对普通翻译后代码块和反复执行的代码块采用不同的管理策略。实验表明,两级Code Cache管理确实能提高代码块的使用率,获得更好的性能。
其他文献
互联网的发展推动了全世界的交流,需要开发出满足不同地区语言、文化、生活习惯要求的WEB应用,因此,软件的国际化已成为必须要考虑并解决的问题。然而,传统软件多使用本地化
SIMD扩展部件以其实现成本低、部件功耗少、计算效率高等特点,逐渐成为高性能计算机的必备计算加速部件,其应用领域也从最初的多媒体处理,扩展到科学计算、信号处理、密码分析等
入侵检测技术(IDS)是一种主动保护自己免受攻击的网络安全技术。作为防火墙的合理补充,入侵检测技术能够帮助系统应对网络攻击,扩展了系统管理员的安全管理能力(包括安全审计
P2P的关键技术之一是在物理网络之上构建一层覆盖网络,根据覆盖网的拓扑结构,分为结构化(Structured)和非结构化(Unstructured)。结构化系统对象定位需要知道确切的名字或关
随着人类基因组计划的完成,生命科学研究进入后基因组时代,研究基因所表达的蛋白质成为研究的热点。蛋白质的功能往往体现在与其它蛋白质或其它的生物大分子之间的相互作用之
随着信息技术的迅猛发展,网络成为人们获取信息的主要手段。为了帮助人们在浩如烟海的互联网中得到有用的信息,基于 Internet的各类信息检索服务应运而生并得到了迅速发展。目
随着Internet迅速发展及Web技术广泛应用,使得职业技能鉴定部门实现鉴定工作自动化管理成为可能。为了实现职业技能鉴定的科学化、自动化、网络化管理,开发符合鉴定部门实际情况的职业技能鉴定系统势在必行。论文的研究是建立在某大型钢铁公司职业技能鉴定系统项目的基础上。针对职业技能鉴定部门手工处理数据效率低、不准确、易错漏的现状,论文提出一种基于JSF(Java Server Faces)、Sprin
随着计算机技术的发展与普及,计算机辅助审计技术正发挥着越来越重要的作用。但是,由于各地社保信息系统设计不一致,就必须将异构的数据转换为审计能够使用的标准数据。这种
基于视频运动目标检测与跟踪融合了图像处理、模式识别、人工智能、自动控制以及计算机等许多领域的先进技术,已经成为计算机视觉研究的重要领域。目前,在复杂场景、大范围、多
本文通过对服务组件架构(SCA)的深入分析和研究,提出了SCA框架构建和运行时存在的一些局限性,采用开放服务网关协议(OSGi)对SCA组件运行时刻的隔离关注、服务注册、服务生命