11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

横跨数据中心的 JVM 和 Twitter 的 JDK

  • 2016-11-15
  • 本文字数:948 字

    阅读完需:约 3 分钟

在 2016 旧金山 QConf 大会的解决方案进展情况报告会上,Twitter 为我们呈现了一些演讲。昨天,Twitter 的JVM 团队对外公布他们正在开发、发布和维护一个JDK 分支版本。这个JDK 是OpenJDK 的分支,在Twitter 内部发行,目前可以支持OSX 和Linux,每个月发布一次,如果有紧急版本会缩短发布时间。来自Twitter 的 John Coomes 告诉我们,在如何对 OpenJDK 的特性进行趋异演化方面,Twitter 所做的跟 Oracle-JDK 有些类似。当被问及 Twitter 是如何决定对上游 OpenJDK 的变更进行合并时,Coomes 回答说,这个取决于要发布的特性,况且他们并不打算维护一个跟 OpenJDK 主干分支紧密耦合的版本。

Twitter-JDK 带来一些新的特性,比如经过扩展的堆内存分析、异步垃圾回收日志、二进制日志框架 Contrail 、中间代 G1 、更丰富的 API 和命令行参数、性能改进以及缺陷修复。Twitter-JDK 的一些改进特性也会被上游的 OpenJDK 所采用。

Coomes 提到了在 OpenJDK 的 JVM 里存在的一些问题,特别是 GC 的长时间停顿问题。一种改进的措施是把 I/O 密集和对延迟敏感的任务分开执行。不过 Twitter 有成千上万个运行在 JVM 上的服务,对它们进行分离是个很枯燥的工作。我们可以在达到安全点时关闭JVM 的I/O,不过这样会降低对JVM 的监控能力。随着基于Python 的服务逐渐向基于JVM 的服务迁移,Twitter 的JVM 服务数量只增不减。Twitter 正在通过实现异步GC 日志和 jvmstat 来解决这些挑战所带来的问题。这样,GC 停顿就不会再阻塞 I/O。Coomes 说之后将会发布 Contrail,Contrail 包含了一个 JIT 编译器和运行时,支持堆栈跟踪,可以作为实现异步 GC 日志的支持框架。Twitter-JDK 实现了贝叶斯优化算法,这个技术借鉴自机器学习,让 JVM 可以持续高效地学习模糊成本函数,可以更快地找到更优的处理路径。

被问及 Twitter-JDK 的 VM 调优参数时,Coomes 说大概有 30 个参数可以用来对 VM 进行调优。用来衡量 VM 性能的成本函数就是指在 GC 期间每秒可以处理的请求数。Twitter 在测试环境使用这 30 个参数对新 VM 进行了 70 轮 GC 测试,结果在性能上有 182% 的提升。未来的工作将包括对 VM 进行压力测试或极限测试、更长的试验期、基于 Mesos 的并发试验以及及早探测并结束无效试验的能力。

查看英文原文: JVMs Across the Data Center and Twitter’s JDK

2016-11-15 18:002010
用户头像

发布了 321 篇内容, 共 123.4 次阅读, 收获喜欢 132 次。

关注

评论

发布
暂无评论
发现更多内容

第五周作业

【架构师训练营第 1 期】第五周作业

知鱼君

架构师训练营第五周作业

Shunyi

极客大学架构师训练营

食堂就餐卡系统

Xuenqlve

第1周作业-学习总结

jingx

第一周学习总结

孤星

架构2期第1周作业及总结

supersky6

第一周作业

孤星

架构师训练营第五周作业

xs-geek

5.1分布式缓存架构:架构原理与注意事项

张荣召

架构师训练营第五周 技术选型缓存、消息队列、一致性 hash

郎哲158

学习 极客大学架构师训练营

第五周 技术选型(1)学习总结

蓝黑

极客大学架构师训练营

架构师训练营二期 1周总结

月下独酌

极客大学架构师训练营

第 1 周 架构方法 学习总结

心在那片海

架构方法-学习总结笔记

Xuenqlve

第五周作业

fmouse

极客大学架构师训练营

第 01 周——食堂就餐卡系统设计

Airship

极客大学架构师训练营

第五周总结

架构师训练营第一周作业-周总结

张浩

week1作业

幸福小子

架构师训练营第 1 期 - 第 5 周 - 学习总结

wgl

极客大学架构师训练营

AirPods过河,苹果拆桥:被“钞能力”征服的Beats何以至此?

脑极体

作业1-食堂就餐卡系统设计

arcyao

架构师训练营第五周学习总结

文智

极客大学架构师训练营

hash一致性算法

橘子皮嚼着不脆

第五周 技术选型 作业一

应鹏

极客大学架构师训练营 课程作业

架构师训练营第二期-第一周作业

john_zhang

架构师训练营第五周作业

CmHuang

架构师训练营第 1 期 -- 第五周学习总结

发酵的死神

极客大学架构师训练营

【架构师训练营第 1 期 05 周】 作业

Bear

极客大学架构师训练营

作业

张荣召

横跨数据中心的JVM和Twitter的JDK_Java_Dylan Raithel_InfoQ精选文章