社区热议淘宝开源的优化定制 JVM 版本:Tabao JVM

  • 郑柯

2012 年 9 月 24 日

话题:RedHatJVM语言 & 开发架构

9 月 18 日,淘宝核心系统部专用计算组的王峥(花名:长仁)微博上宣布

jvm.taobao.org 上线,开源基于 OpenJDK vm 的优化定制 JVM 版本:TaobaoJVM

jvm.taobao.org 上,介绍了项目的背景:

淘宝有几万台 Java 应用服务器,上千名 Java 工程师、及上百个 Java 应用。为此,核心系统研发部专用计算组的工作之一是专注于 OpenJDK 的优化及定制,根据业务、应用特点及开发者需要,提供稳定,高效和深度定制的 JVM 版本:TaobaoJVM。

TaobaoJVM 基于 OpenJDK HotSpot VM,是国内第一个优化、定制且开源的服务器版 Java 虚拟机。目前已经在淘宝、天猫上线,全部替换了 Oracle 官方 JVM 版本,在性能,功能上都初步体现了它的价值。

专用计算组在淘宝的职责是:

  • 针对特定领域问题,以计算性能、效能为导向的优化。
  • 异构计算推广及实践。
  • JVM 优化、定制及相关工具开发。JVM 相关故障,问题排查及解决。
  • 协助优化特定应用。

目前他们在这个项目上正在做的工作包括:

  • JVM 优化及定制
    • 持续为阿里集团提供优化、定制 JVM 版本。
    • 线上 JVM 相关故障排查,问题解决。
  • 反向图像搜索引擎 iflake 优化
    • CPU 算法优化。
    • GPU 应用实践。
  • ETao 淘一淘系统优化
    • 逻辑回归最优解过程 CPU 算法优化。
    • GPU 应用实践。
  • Hadoop 优化
    • 性能角度优化 Hadoop。
    • 压缩卡应用预研。
    • Namenode 性能优化。

现在,他们已经提交的 JVM Patch 主要分为一下三大类:

该计算组的成员包括:王琤(花名:长仁)莫枢(花名:撒迦)莫简豪(花名:坤谷)、 孙宇(花名:洪熙)费辉(花名:成滔)、孔建钢(花名:群旋)、梅路峣(花名:云达)高洋(花名:望舒)李临川(花名:谦正)

这条微博发出后,引起技术社区强烈兴趣,到目前位置,已经有 256 条转发,88 条评论。

莫简豪在评论中提到:这个项目是

内部日常沉淀的结果,非为开源而做,非为核高基而做。解决实际问题中慢慢沉淀下来的

在技术上,elathen表示:

不错,根据自己的需求定制化了。GC-Invisible Heap/GC-Invisible Heap Shared Memory 对那些长期缓存和不想被 GC、也不希望 GC 在这一部分 Heap 消耗资源的人很有用

雪中飞 _的提醒是:

jvm.taobao.org 是基于 OpenJDK(GPL-licensed, sun 发布)上做的改进和整合!推广程度要看这个 jvm 能给用户带来差异化的体验。这么底层的技术,选择一定要慎重!

@bluedavy说:

强烈的顶,做 Java 在全球淘宝应该都是难得的环境,这里能碰到太多在其他环境中无法碰到的问题,战斗力绝对是疯狂增长,Taobao JVM 在排查故障上提供给很多帮助,例如程序中有分配大数组时自动输出警告日志和堆栈、PrintGCReason 等,值得大家使用

@Fenng也表示赞扬:

非常赞! 感谢淘宝技术人对开源社区的贡献!

来自思科的张毅 _WeiBo在微博中指出:淘宝的贡献已经得到了国际社区的认可。

最近跟国外几个资深工程师交流,惊讶于他们对 taobao 和 taobao 贡献开源社区的了解程度,每每谈起无不是赞许有加,开源世界的根本价值观 --talk is cheap,show me the code. taobao 真的做到了。 

丐别更是认为:

淘宝从技术上应该超越 redhat 了,开源贡献步伐也很快

不过对开源的贡献并不一定仅限于技术,mulder就说:

其实对开源社区的贡献不一定是那种有一定技术含量的,中国的 ruby 程序员最感谢淘宝的是它为 ruby gems 提供了一个镜像 ruby.taobao.org

当然,也有人产生了一点小误会,莫枢在微博中提到:

请大家不要把这个组和做阿里云 OS 的 VM 的组弄混了。

淘宝确实对开源社区贡献良多,大家可以查看 InfoQ 上更多关于“淘宝开源”的内容。同时,我们也呼吁国内其他技术公司更加重视开源,重视开发者,重视开发者社区。

RedHatJVM语言 & 开发架构