软硬件协同设计的Java虚拟机系统实现与性能优化

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:ZhangQin520
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着操作系统和计算机体系结构的快速发展,计算机基础平台出现了多样化的趋势,不同平台间的应用程序不能无缝迁移成为了制约基础平台发展的主要问题,应用程序跨平台的支持变得越来越重要。Java语言是平台无关的,是实现应用程序跨平台支持的重要途径,Java程序不需要移植就可以运行在多样化平台上,因此Java虚拟机对于以龙芯为代表的国产高性能处理器丰富软件环境具有重要的现实意义。   Java程序的运行需要Java虚拟机的支持,但目前多数的Java虚拟机还存在效率较低的情况,目前基于纯软件和软硬件协同设计方法具有效率和硬件设计、验证复杂度等多方面的弊端,严重制约着Java技术的发展。为了研究上述问题,提高Java虚拟机的性能,促进应用软件的跨平台融合,本文在现有平台的基础上,实现了一个简洁高效的Java虚拟机,并对该Java虚拟机的各组成部分进行了系统的优化。   本文的主要贡献如下:   1、以JavaHotSpot虚拟机为基础,实现了基于龙芯国产高性能处理器的Java虚拟机系统。本文以JavaHotSpot虚拟机为基础,修改HotSpot虚拟机中的类装载子系统以及运行时环境等,使这些环境能够符合龙芯处理器的结构设计,从而能够在龙芯硬件平台上稳定运行,并根据龙芯处理器的硬件结构,对HotSpot虚拟机做了初步优化。在龙芯处理器硬件平台上,以HotSpot为基础设计的Java虚拟机可以稳定运行,并且性能达到了较高水平,为本文提供了良好的研究平台。   2、通过在CPU中增加硬件CAM查找表,提出了一种软硬件协同设计的混合的虚方法调用机制,有效地解决了同一方法调用点频繁调用多种不同类型方法的问题。实验表明,采用本方法,virtualtest测试程序虚方法调用点的类型比较命中率从13.3%升高到了76.4%,性能有了16.2%的提升;SPECjvm98性能平均提升6.4%。   3、通过在CPU中添加有界访存和128位访存指令,提出了一种软硬件结合的访存优化方法,有效地降低了数组越界检查的开销,提高了内存拷贝的效率,优化了Java程序的整体性能。使用有界访存指令,科学计算类测试SciMark2.0获得了27%的性能提升,通用测试SPECjvm2008获得了1.5%的性能提升;使用128位访存指令,SPECjvm2008性能平均提升5.9%。   4、通过在CPU中增加硬件cache锁机制,提出了一种软硬件协同设计的即时编译方法。实验表明,生成代码执行时的cache失效次数降低了6.9%,测试SPECjvm2008中程序最高获得了17.9%的性能提升,平均性能提升4.2%。   本文工作应用于我国首款四核通用处理器龙芯3号芯片中,有效地解决了应用软件的跨平台支持问题,对龙芯平台上产品化Java虚拟机的构建具有重要意义。
其他文献
在科学计算可视化和真实感图形学领域,体绘制算法目前已经成为针对体数据进行可视化和真实感绘制的标准方法。为了提高体绘制算法的效率和效果,体绘制硬件加速算法和体光照真
天文望远镜技术的发展实现了天体观测数据的全波段覆盖。交叉证认用来确立不同波段数据间天体的对应关系,是多波段数据融合的关键技术。随着天文数据采集量越来越大,交叉证认
本文以基础设施云为研究对象,首先调研和总结了国内外主流的基础设施云。通过分析典型的开源基础设施云,发现每个基础设施云都有自己的一套系统架构及角色定义,并且适用场景
近年来,智能视频监控系统在城市交通管理中的作用日趋重要,违章停车的检测成为智能视频监控应用的一个重要方面,在实现违章行为监管、提高城市管理效率中有着重要的作用。本文研
现场总线技术是20世纪80年代后期发展起来的一种先进的工业控制技术,它将计算机网络和数字通信技术应用到了工业控制领域。将现场总线技术应用到伺服驱动装置,使现场总线成为控
交叉证认是天文学领域中实现多波段数据融合的一项关键技术,它根据不同星表中天体分布位置上的相关性,来进行星表间的关联融合工作。交叉证认的主要意义在于,通过将不同波段
在软件测试的过程中,采用合适的方式构造测试用例,是非常重要的一环。传统的测试用例生成方式主要由测试人员手动生成或者通过随机的方式生成,这些方式都存在着缺陷,手动生成
面向服务的计算模式能够无缝地把各种应用及服务组合起来,形成新的增值服务来满足用户需求。然而由于网络环境的动态性、开放性、多样性以及服务数量的快速增加,使得如何从众多
发布/订阅是一种基于事件的通信范型,它在时间、空间和控制流上完全解耦,能够提供异步、匿名和一对多的通信机制。内容发布/订阅系统完全独立于网络层,依赖消息的内容来进行
学位