用代码缓存复用技术提升Android即时编译器效率

来源 :复旦大学 | 被引量 : 0次 | 上传用户:xiaoyanger88
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
运行时系统是执行计算机程序的基本环境,如何提升其执行效率是计算机学科的研究热点与难点之一。Java虚拟机作为一种重要的运行时系统,因易于扩展、便于跟踪程序执行和程序移植等优点而被广泛研究。近年来,借助即时编译、并行执行等方法,桌面平台与服务器平台的虚拟机执行效率获得了很大提升。然而,对嵌入式平台虚拟机而言,受硬件资源限制,传统性能优化方法面临诸多挑战,如何提升其执行效率有待进一步研究。尤其是随着Android系统的流行,嵌入式Java虚拟机的性能问题得到日益关注,开展针对嵌入式平台虚拟机性能优化的研究变得更加迫切。通过对代码进行动态编译,即时编译技术被广泛应用于运行时系统进行性能优化。然而此类编译技术需要比较大的运行时开销,并不能直接用于嵌入式平台虚拟机。即时编译系统的运行时开销来自两个方面:检测延时和编译延时。目前,降低Java虚拟机即时编译系统开销的方法大多面向桌面和服务器平台,针对嵌入式Java虚拟机的方案仍是空白。本文针对这一技术空白,提出用轻量级的代码缓存复用技术来消除检测延时、降低编译延时从而降低嵌入式Java即时编译系统的运行时开销。本文在Android的运行时环境Dalvik基础上,设计实现了代码缓存复用框架CCARF(Code Caching And Reusing Framework)。通过在运行时复用先前缓存的可执行代码,CCARF有效地降低了编译延时,省去了对方法的热度检测过程,消除了检测延时。CCARF的核心是针对Android的位置无关代码的设计和缓存代码的管理与复用。它致力于提供一个实际、有效、轻量级的代码缓存与复用解决方案。CCARF的主要工作和贡献如下:1.探索了Java虚拟机生成的可执行代码中的位置相关性,并以Dalvik为例,分析总结了这些相关性对位置无关代码和缓存复用技术的影响。2.针对可执行代码中不同种类的位置依赖,分别提出了消除依赖的算法,并实现了相应的代码生成器。其中的引用按需解析和即时解析技术,取代了传统的基于符号表和链接器的解析技术,尤其适合嵌入式平台。3.探讨了不同的代码复用策略对降低嵌入式Java虚拟机编译器延时的影响,并设计实现了高效的位置无关代码管理器,包括设计可执行代码的存储格式,缓存文件加载策略以及已缓存文件检测算法等。4.以SPECjvm98测试套件为基础设计了较完整的实验,并从性能提升、代码膨胀和缓存空间大小三方面对CCARF做出了评测。结果表明,CCARF在可执行代码平均膨胀率6%的情况下,能提升SPECjvm98测试程序平均性能约11.7%。
其他文献
随着计算机多媒体技术的快速发展,图像、音频和视频等数字产品得以在网络上大量传播转载,由于其易于获得和易复制的特点使得盗版侵权问题日益严重,数字水印的出现为这一问题
模式识别是指对表征事物或现象的各种形式信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程。模式识别技术可用于人脸识别、指纹识别、语音识别和文档分类
随着互联网技术的发展和应用软件的成熟,软件即服务(Software as a Service,SaaS)作为一种新型软件服务形式逐渐兴起。SaaS模式下,服务提供商将应用软件统一部署在自己的服务
随着科学技术的迅猛发展,现代战争参战的军兵种增多,大量高新技术兵器不断涌现,导致战损装备数量急剧增多,这就增加了装备战场抢修工作的工作量和难度。因此需要部队具有高效的战
火灾给人类社会带来的灾难数不胜数,特别是同类型易燃物集中区域火灾的火势相当猛烈,不易扑救。本文探索出一套成熟的解决方案,能够在第一时间发现火源,并及时预警报警。本文
心电信号中的基线漂移等噪声干扰问题由来已久,各种降噪方法的研究层出不穷。本研究根据心电信号对医疗诊断的重要意义,以及对信号保真程度的严格要求,在保证信号波形形态和电位
无线射频识别(RFID:Radio Frequency IDentification)是一种非接触式自动识别技术。它凭借其独特的优势,已经逐渐在身份识别、防伪技术、供应链管理、公共交通管理和军事等各
云计算的起源要先从互联网讲起,互联网的高速发展孕育了云计算的出现,云计算是继大型计算机后到客户端-服务器之后的又一个巨变,云计算经历了并行计算、分布式计算、网格计算、
空间站作为大型在轨组装航天器,可支持人类在太空长期生活、开展各类空间试验.复杂性、多变性、长期性是空间站相对于其他类型载人航天器突出特点,因而空间站在飞行过程中出
对网络恶意行为的入侵检测是当前网络安全研究的一个重要内容。现有入侵检测系统存在着检测率不高、灵活性差、不能有效识别未知攻击和规则更新滞后等缺点,借鉴生物免疫系统原