Arm架构以其兼具性能与功耗的特点,在智能终端以及嵌入式领域得到了广泛的使用,不断扩大其影响力。而在PC端以及数据中心,之前往往是x86架构在其中发挥着主要的作用。最近,随着人工智能、云计算等技术的兴起,5G网络的不断成熟,万物互联的时代是的应用的需求越来越多样化,使得对于芯片架构的需求也越来越多样化。
Arm架构在提供可靠性能的基础上,低功耗、低开销的特点使得它被越来越广泛的应用到数据中心和云计算中,成为其中必不可缺少的重要组成部分。亚马逊投入大量精力自研Arm服务器,并应用到AWS服务中,最多实现了成本45%的降低;阿里巴巴也在云服务中大量采用Arm服务器,并积极参与Linaro,Adoptium等组织,不断推动Arm架构的发展。
最近几年,腾讯对于Arm架构的需求也不断增加,各个产品线也不断引入Arm服务器,对于Arm架构软件的需求也在不断增长。KonaJDK团队在腾讯公司内部提供高性能、高稳定性的商用JDK版本,坚定地将Arm架构作为KonaJDK重点支持的架构之一,不断扩展JDK在Arm架构的功能,并不断提高Arm架构中JDK的性能。
随着Arm架构在终端和云计算场景的广泛应用,JDK需要做好对于Arm架构的支持工作,才能更好地得到发展。目前在JDK社区,Arm架构属于第一梯队支持架构。而对于Arm架构而言,Java语言“一次编译,到处运行” 的特性适合业务应用无缝推广到Arm平台,而JDK则是Java应用运行的必要条件。JDK对于Arm架构的支持,也是Arm生态推广的有力支撑。在这个过程中,KonaJDK团队希望和Arm紧密合作,共同发展。
腾讯和Arm在JDK方面的合作交流
目前腾讯和Arm在JDK方面已经有了深入的交流和合作。双方针对JDK在Arm架构常见的性能问题,对于Arm架构新特性的支持情况等方面进行了广泛和深入的讨论,通过性能测试、数据交流、技术研讨等形式不断推动JDK在Arm架构的发展。
KonaJDK团队Arm平台优化技术介绍
目前在Arm架构,KonaJDK平台已经发布了JDK8和JDK11两个版本,在2021晚些时候还会发布最新的JDK17版本。Kona JDK团队从功能、性能多方面出发,在Arm架构支撑KonaJDK的通用特性,并针对架构特征进行优化,保证Java应用向Arm平台迁移的一致性,为Arm架构推广做好准备。
ZGC:
GC使得程序不再需要手动控制内存的释放,有效的降低了内存管理相关错误产生的可能性。但是,对于GC算法而言,如何准确高效的进行内存清理是一个复杂的过程。随着业务需求的不断发展,GC算法也在不停地迭代,只有针对不同的业务目标,选择最合适的GC算法,才能够更好的帮助业务实现其目标。近几年