赋能数据科学计算加速:腾讯 Kona JDK 蝉联 JDK18 贡献度国内第一

简介: 赋能数据科学计算加速:腾讯 Kona JDK 蝉联 JDK18 贡献度国内第一

刚刚,Oracle 正式对外发布了 JDK18。据 Oracle 官方公告显示,腾讯 Kona 蝉联 JDK18 中国企业贡献度第一,连续四次对 OpenJDK 开源社区贡献全国第一(JDK15~18)。同时,在官方首次公布的 OpenJDK 的综合贡献排名结果中,腾讯 Kona 的综合贡献全国第一,世界前五。

image.png

腾讯 Kona JDK 是基于 OpenJDK 开源项目打造的发行版之一。随着自身业务规模增长和极限能力要求,腾讯大数据专门成立了 JVM 研发团队,并通过内部开源协同战略协同全公司伙伴,负责 Kona JDK 的研发和维护。在解决公司内部迫切需求的同时,积极贡献社区,参与了包括 JDK、Panama 和 Loom 等 OpenJDK 社区重要项目。在刚刚发布的 JDK18 中,Kona 向 OpenJDK 社区贡献了约 50 个 Patch。

其中,Kona JDK 针对广告模型训练、OLAP 引擎等关键业务场景的需求,研发了面向机器学习和大数据系统的高性能 Java 计算引擎,在实际业务场景中落地和应用。同时向OpenJDK社区贡献了 Vector API、自动向量化、数学库优化等代表性成果,为解决 Java/JVM 数据科学场景性能问题提供多种“解答思路”。

作为一组通用 Java 编程接口,Vector API 通过 Java 虚拟机生成 SIMD 向量指令来加速性能。凭借编程方便、效果显著和跨平台等特点,Vector API 第三次作为重点打造的 JEP 特性在 JDK 新版本中发布。

根据官方公布的数据显示,Vector API 对矩阵运算等典型数据科学场景可以达到 2~16 倍的性能加速效果。

通过深度研究以及长期实际应用,Kona JDK 增强了 Vector API 多个方面功能和性能。比如在生产实践中首次适配并完善了 Vector API 对 AVX512 高性能向量指令的翻译,贡献了20多个向量编译器相关 patch,解决了SVML幂运算算子性能下降问题。

此外,Kona JDK 还优化了 SVML 的向量加速能力,将单个 double 视为 64 位向量进行 SVML 加速,优化后性能提升了2~3倍,个别高达 9~10 倍。凭借出色的贡献,Kona JDK 成为 OpenJDK 社区 SVML 全球三大贡献者之一。

据了解,Kona JDK 于 2020 年开始参与 Vector API 开源贡献;2021 年,其团队成员被提名为 Vector API 项目的 Committer;2022 年,正式成为JDK18 Vector API 全球十大署名贡献者之一,这标志着腾讯 Kona 正式跻身 Vector API 开源社区核心开发者之列。

除贡献开源社区外,Kona JDK 的一些最新特性也在腾讯云上免费“供应”,为云上用户的 Java 应用提供高效便捷服务。目前,Kona JDK 已经为腾讯云大数据、微服务平台 TSF、EMR、大数据套件 TBDS、腾讯云 TI 机器学习平台 、消息中间件、专有云 TCE 等众多产品提供了稳定保障。

作为全球 Notable 贡献者,腾讯 Kona 积极拥抱开源,除 JDK 项目外,在 Loom 等项目也有比较突出的贡献。目前,腾讯已经将 Tencent Kona JDK8、Tencent Kona JDK11 和 Tencent Kona JDK17 完全免费开放给全球开发者。

未来,腾讯 Kona 将继续深度参与社区建设,积极探索业务场景,和广大开发者共享腾讯 JDK 在广告、游戏、支付等场景的科研成果和实践经验,助力 Java 生态的持续成功。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
Java API
JDK8到JDK25版本升级的新特性问题之使用Collectors.teeing()来计算一个列表中学生的平均分和总分如何操作
JDK8到JDK25版本升级的新特性问题之使用Collectors.teeing()来计算一个列表中学生的平均分和总分如何操作
|
Java 编译器 API
JDK8到JDK18版本升级的新特性问题之在JDK10中,实现局部变量类型推断,如何操作
JDK8到JDK18版本升级的新特性问题之在JDK10中,实现局部变量类型推断,如何操作
163 0
我在jdk8实现了jdk18的新特性
我在jdk8实现了jdk18的新特性
148 0
|
Oracle 安全 Java
JDK 18 / Java 18 正式发布:九项 JDK 增强
JDK 18 / Java 18 正式发布:九项 JDK 增强
354 0
JDK 18 / Java 18 正式发布:九项 JDK 增强
|
Java
JDK中字体的高度信息ascent/descent/leading是怎么计算的
JDK中字体的高度信息ascent/descent/leading是怎么计算的
305 0
|
Java
JDK中字符的宽度计算流程
JDK中字符的宽度计算流程
227 0
|
Java API Maven
java计算两个字符串日期的相差天数【jdk8新特性LocalDateTime和Hutool两种方式实现】
java计算两个字符串日期的相差天数【jdk8新特性LocalDateTime和Hutool两种方式实现】
1182 0
|
Java API
利用JDK8的新特性计算某个目录下的文件中包含字符串的次数
需求:计算某个字符串在某个文件夹中出现的次数。**这篇文章利用了JDK1.8的新特性Stream流和Lambda表达式并结合了线程池的使用。** package com.zkn.fullstacktraining.seventh; import javafx.util.Pair; import java.io.IOException; import java.nio.f
1307 0
|
7月前
|
存储 Ubuntu 安全
在Ubuntu 16.04上安装openjdk-6/7/8-jdk的步骤
在整个安装过程中,你可能需要管理员权限,因此你可能要使用 `sudo` 来获取必要的权限。记得做完每一个步骤后,都要检查输出,以确保没有发生错误,并且每项操作都成功完成。如果在安装过程中遇到问题,查看 `/var/log/` 下的日志文件对于问题的解决可能是有帮助的。
515 21