收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

Java虚拟机的自适应动态优化

邹琼  
【摘要】: Java语言以其在软件工程上的优势而被广泛地应用在各个领域的软件开发中。Java程序运行在Java虚拟机这一动态环境下,和传统的静态编译的二进制代码相比,它存在很多优势:代码的可移植性、安全性、自动化的内存管理和线程管理技术、动态类加载等等。这些方便而又强大的功能大大提高程序员的工作效率,因此被广泛使用。但是,这些动态的特性使得一些传统的静态编译技术不再适用,因此科学家们一直在探索新的编译技术,使得在虚拟机上能够获得更好的性能。 由于缺乏运行时信息,静态编译采用较为复杂的全局分析而并不能得到理想的结果。Java虚拟机的介入使得编译及优化发生在程序运行时,因此工业界一直致力于发展自适应优化技术,希望能够利用程序运行时的动态信息来指导对程序进行何种优化。 围绕Java程序中现有局部性的问题及其对应用程序性能的影响,本文系统深入地研究了Java虚拟机中的自适应优化技术,其主要的创新点及贡献如下: 第一,设计并实现了一种低开销的自适应动态优化框架。该框架通过插桩来收集细粒度的信息,在程序运行的过程中,我们会根据反馈的信息自适应地调整插桩以降低开销,同时为了进一步减少插桩带来的影响,我们从Java程序的特性出发,尽量减少插桩的数目。 和以前的静态分析工作相比,我们的工作是在运行时进行的,摆脱了因数据集变化而带来的不灵活性,和已有的动态分析工作相比,我们首次在Java虚拟机中实现自适应动态优化框架,弥补了Java虚拟机中现有的动态编译技术的不足,同时为了降低框架的运行时开销,我们针对Java语言的特性对框架进行一系列优化,包括框架设计、访问对象的插桩设计等,这些技术有效地降低了开销,进一步提高了Java程序的性能。最终的实验结果表明自适应优化框架的开销最多为2.5%,平均为1.7%。该框架为后面提出的局部性优化创造了良好的条件。 第二,提出一种快速的滑动标记缩并算法。它在标记阶段记录位图和存活块池,在缩并阶段计算块内偏移表,将对堆的遍历转化为对块内偏移表的访问,大大地降低遍历堆所带来的开销;同时活块池的引入使得该算法很容易被应用在并行垃圾收集算法中。实验证明该算法使得标准工业测试程序SpecJBB2005、SpecJVM98和Dacapo的性能有不同程度的提高,最高达到8.9%;同时程序的局部性也优于线性标记缩并算法,与深度遍历序相比,DTLB(Data Translation Lookaside Buffer)失效率改善最多为11%,2级Cache失效率改善最多为13.6%。 第三,基于自适应动态优化框架提出预取优化算法来改善程序的局部性。该算法基于自适应动态优化框架,它在即时编译器对程序编译的同时完成插桩的工作,插桩用来收集访存对象的信息。如果检测到当前运行过程中存在相关对象的访问,预取控制器将会插入相应的预取指令。自适应预取优化算法的关键在于预取准确性和运行时开销之间的权衡。为了保证预取的准确性,我们对程序进行插桩;为了降低运行时的开销,我们控制预取指令的插入并且实现无效的插桩删除优化。实验结果表明该算法使得标准工业测试程序SpecJBB2005、SpecJVM98和Dacapo的性能有不同程度的提高,最高达到18.1%,平均为7.15%。同时,运行时开销低于4%,内存开销可以忽略不计。 第四,描述了一种基于对象亲缘关系的垃圾收集算法。该算法通过硬件性能分析器来定位频繁引起Cache失效的对象,根据对象之间的亲缘关系,建立对象亲缘图,并与垃圾收集算法相结合,将亲缘度高的对象们排列在堆中相邻的位置,这意味着访问完其中一个对象,接下来访问另外一个对象的概率很高,将它们放在一起可以改善对象之间的局部性,实验结果表明基于对象亲缘关系的垃圾收集算法对SpecJBB2005、SpecJVM98和Dacapo的性能有明显的提高,最多为4.9%,平均为3.4%,同时采用硬件性能分析器收集信息使得profiling的开销很低,平均为0.47%,最后我们将该算法和自适应预取优化相结合,结果表明大部分程序的性能不会降低,对于个别程序,甚至有所提高。


知网文化
【相似文献】
中国期刊全文数据库 前20条
1 柳青,盖起贤;Java运行系统与Java虚拟机[J];云南大学学报(自然科学版);1997年06期
2 文征,徐成,李仁发;Java技术在嵌入式实时操作系统上的实现[J];科学技术与工程;2005年03期
3 倪晓宇,易红,倪中华,汤文成;基于虚拟机的B/S协同系统的设计[J];计算机集成制造系统-CIMS;2005年02期
4 刘晖;;系统问答[J];电脑迷;2005年05期
5 刘猛;王中生;赵红毅;;基于Honeynet系统的Linux日志记录研究[J];电脑知识与技术(学术交流);2006年36期
6 张振伦;;虚拟机的演化[J];软件世界;2007年13期
7 娟子;;恶意软件瞄准虚拟技术[J];信息系统工程;2008年02期
8 黄金敢;;基于Integrity VM技术的服务器整合设计[J];福建电脑;2008年06期
9 基地;;关于Windows 7 的风言风雨[J];现代计算机(普及版);2008年04期
10 ;打造虚拟存储平台:Hyper-V+NetApp[J];微电脑世界;2009年02期
11 魏楚元;;虚拟机应用于高校数据中心[J];中国教育网络;2009年04期
12 李靖;;搭建基于端口映射的ESXi虚拟网络服务[J];中国计算机用户;2009年21期
13 徐晶;梁子刚;李晓荣;武岩;李平;;操作系统实验课程教学改革与实践[J];才智;2009年34期
14 饶淑珍;赵修庆;;Windows7中基于Vmware的虚拟组网[J];福建电脑;2010年02期
15 王树君;;借助VMware软件构建虚拟网络实验室[J];硅谷;2010年09期
16 郑婷婷;武延军;贺也平;;云计算环境下的虚拟机快速克隆技术[J];计算机工程与应用;2011年13期
17 姚为光;陈文宇;;虚拟机在软件加壳中的应用研究[J];计算机安全;2011年07期
18 白国靖;;虚拟化技术在网络服务中的应用研究[J];电子世界;2011年09期
19 马燕林;JAVA的平台独立性[J];新技术新工艺;1996年04期
20 ;Java虚拟机提速[J];每周电脑报;1997年36期
中国重要会议论文全文数据库 前10条
1 孟广平;;虚拟机漂移网络连接方法探讨[A];中国计量协会冶金分会2011年会论文集[C];2011年
2 汝学民;庄越挺;;计算机病毒技术的发展与防范[A];全国网络与信息安全技术研讨会’2004论文集[C];2004年
3 陈晓东;俞承芳;李旦;;基于FPGA的神经网络控制器及其应用[A];第六届全国信息获取与处理学术会议论文集(3)[C];2008年
4 王轶;陈俊辉;;使用VPC2007搭建企业应用和测试平台[A];2007第二届全国广播电视技术论文集2(下)[C];2007年
5 于洋;陈晓东;俞承芳;李旦;;基于FPGA平台的虚拟机建模与仿真[A];2007'仪表,自动化及先进集成技术大会论文集(一)[C];2007年
6 刘孟全;;服务器虚拟化相关问题分析[A];广西计算机学会2009年年会论文集[C];2009年
7 李永;吴庆波;苏航;;基于虚拟机的动态迁移技术分析和研究[A];计算机技术与应用进展·2007——全国第18届计算机技术与应用(CACIS)学术会议论文集[C];2007年
8 李钢;应晶;;C2000语言:一种工业监控组态语言[A];2005中国控制与决策学术年会论文集(下)[C];2005年
9 沈腾飞;马自卫;;基于GridSphere的Eucalyptus后台管理系统研究与实现[A];第十六届全国青年通信学术会议论文集(上)[C];2011年
10 张际兰;;Java安全性评估[A];中国工程物理研究院科技年报(2000)[C];2000年
中国博士学位论文全文数据库 前10条
1 董玉双;云平台中虚拟机部署的关键问题研究[D];吉林大学;2014年
2 杜雨阳;虚拟机状态迁移和相变存储磨损均衡方法研究[D];清华大学;2011年
3 赵佳;虚拟机动态迁移的关键问题研究[D];吉林大学;2013年
4 陈华才;虚拟化环境中计算效能优化研究[D];华中科技大学;2011年
5 AHMED ELSAYED SALLAM;[D];湖南大学;2013年
6 唐遇星;面向动态二进制翻译的动态优化和微处理器体系结构支撑技术研究[D];国防科学技术大学;2005年
7 丁靖宇;面向企业虚拟私有云的虚拟专用网技术研究[D];东华大学;2012年
8 黄道超;智慧云网络动态资源适配关键技术研究[D];北京交通大学;2013年
9 杨伟建;面向HDTV信源集成解码芯片的软硬件协同设计研究[D];浙江大学;2001年
10 张雪松;软件迷惑技术研究[D];吉林大学;2008年
中国硕士学位论文全文数据库 前10条
1 邱华;用于工业自动化设备互联的设备描述语言的定义和实现[D];华东师范大学;2006年
2 褚亚铭;一个教学用微内核操作系统的设计与实现[D];苏州大学;2005年
3 闫玉忠;串行程序并行化技术研究与一种新实现构想[D];西南交通大学;2003年
4 张凯龙;传统OA的Linux中间件平台移植技术及其实现[D];西北工业大学;2003年
5 乐伟;云计算环境下虚拟机资源分配及部署策略研究[D];云南大学;2012年
6 欧阳晟;云环境中虚拟机迁移策略的研究[D];中南大学;2012年
7 李小伟;跨域虚拟机加密通信技术方案设计与实现[D];北京邮电大学;2013年
8 展旭升;虚拟机整合若干关键问题研究[D];西北师范大学;2013年
9 贾希强;嵌入式数字电视中间件技术研究与实现[D];西北工业大学;2004年
10 李芳;数控系统中嵌入式PLC虚拟机的研究与开发[D];北京工业大学;2005年
中国重要报纸全文数据库 前10条
1 ;利用工具解决虚拟机监测难题[N];网络世界;2007年
2 ;虚拟机管理工具仍有改进空间[N];网络世界;2007年
3 ;加强虚拟服务器安全的10个步骤[N];计算机世界;2008年
4 特约作者:聂阳德 钟达文;体验虚拟机的神奇魅力(第B04版)[N];电脑报;2002年
5 江苏 王志军;用好虚拟机VMware[N];电脑报;2002年
6 薛启康;VMware虚拟机的文件级备份[N];中国计算机报;2007年
7 ;BEA发布新版本Java虚拟机[N];人民邮电;2007年
8 电脑商报记者 张戈;趋势科技的一大步[N];电脑商报;2011年
9 编译 沈建苗;虚拟化技术的安全价值[N];计算机世界;2007年
10 河北科技大学 任文霞河北经贸大学 王春海;在U盘上定制个人PC[N];中国计算机报;2008年
中国知网广告投放
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978