Java虚拟机性能优化技术研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:r54321
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
云计算和大数据的迅猛发展使得Java的应用更为广泛,同时也对Java的性能提出了更高的要求。传统Java虚拟机的设计已不能满足实际系统的需求。如何提高Java虚拟机的性能已成为现代信息产业亟需解决的关键问题。因此,研究Java虚拟机性能的优化技术具有十分重要的现实意义,已成为现代计算机系统领域研究的热点。  动态编译和解释执行是Java虚拟机执行应用程序的两种方式,直接决定了Java虚拟机的性能。本文分别从动态编译和解释执行两方面对Java虚拟机性能优化技术进行了研究,针对动态编译的程序热点识别、动态编译调度和解释器指令分派提出了一系列性能优化技术,并在龙芯平台上进行了验证。本文的主要贡献和创新点如下:  1.提出了基于贝叶斯估计的程序热点识别算法。为了提高热点识别的灵活性以及对程序行为的自适应能力,本文设计了以智能阈值为核心的热点识别模型。在此基础上,提出了一种基于贝叶斯估计的程序热点识别算法。其核心思想是:利用方法当前执行次数以及在未来短时间内可以预期的前瞻性执行次数为观测数据,通过贝叶斯估计实现对程序热点的前瞻性识别。该算法可以显著降低热点识别的延迟,从而大幅降低热点方法的编译延迟,有效提升虚拟机的性能。实验表明,该算法使得系统的启动性能平均提升14.6%,最高提升幅度高达61.3%;峰值性能平均提升4.2%,最高提升幅度高达24.0%。  2.提出了编译队列监视下的高性能动态编译调度算法。本文深入分析了动态编译行为的主要特征,揭示了动态编译调度的优化目标。在此基础上,提出了编译队列监视下的高性能动态编译调度算法。其核心思想是:通过降低热点方法的排队延迟和运行时开销来提升系统的性能。调度时以程序中方法的重要程度和编译代价为参数计算调度的优先级,既能增强系统的响应能力,又能降低编译队列的平均排队延迟。此外,在调度的同时进行编译队列监视,通过跟踪编译队列中方法的活跃性,以延迟非活跃方法的编译,并且选择性地将部分非活跃方法从编译队列中删除,进一步降低了系统的运行时开销。实验表明,该算法使得系统的启动性能平均提升8.9%,最高提升幅度高达41.8%。  3.提出了一种软硬件协同设计的解释器指令分派优化技术。本文对解释器指令分派的开销进行了量化分析,指出对字节码本地指令序列入口地址的获取构成了指令分派的瓶颈。在此基础上,提出了一种软硬件协同设计的指令分派优化技术。其核心思想是:在软件层面,通过对指令分派表进行优化,消除了代价较高的入口地址加载操作;在硬件层面,通过扩展处理器的访存指令,进一步实现了基于硬件支持的访存加速。软硬件协同设计可以最大限度地降低由指令分派引入的运行时开销,从而提升解释执行的效率。实验表明,优化后解释器的平均性能提升11.5%,最高提升幅度为15.4%。  上述部分工作已在龙芯平台的Java虚拟机中得到了实际应用。本文提出的一些优化思想和方法对其它虚拟机和应用程序的设计与优化也具有重要的参考意义。
其他文献
学位
近年来计算机体系结构的复杂化和计算平台的多样化,对程序优化产生了不容忽视的影响。通用编译器优化所得性能已经不能满足高性能计算的需求,开发人员越来越多地转向对程序和算
随着XBRL技术应用的不断深入,在商业活动中积累了基数可观的各类XBRL业务数据,其数量正以较大规模快速增长。同时,与这些XBRL数据在业务上相互关联的海量结构化数据也在不断的膨
学位
随着半导体工艺的进步,摩尔定律仍在延续,但Dennard缩放定律的失效使处理器设计面临功耗瓶颈,发射队列等关键部件因复杂度较高和线延迟增长而缺乏可扩展性,处理器单核的性能增长
目标检测是自动地从图像或者视频中发现并定位指定类别的目标,这项任务是计算机视觉和模式识别领域的研究热点。目标检测的研究不但对于计算机视觉、模式识别、图像处理等学科
基因测序已经成为获取基因序列信息的主要手段,是生命科学研究的前沿领域。自高通量技术测序出现以来,在测序通量大幅提升的同时,测序的成本在不断下降,目前为人类个体进行一次测
学位
近年来,随着集成电路生产工艺的进步,晶体管的特征尺寸不断缩小,使得单芯片能够集成的功能单元越来越多,产生了各式各样的复杂SOC芯片。这些SOC既需要具有较高的工作频率来完成复
得益于神经网络算法研究的进步,神经网络在许多场景下的精度表现优异,被广泛应用在图像识别、语音识别、自然语言理解、广告推荐乃至计算机围棋中。神经网络本身具有数据密集和