Oracle、乌普萨拉大学和 KTH 联合开展 JVM 研究项目

在过去几年中,Oracle 斯德哥尔摩 JVM 开发团队的开发人员与乌普萨拉大学(以及后来的KTH)的研究人员合作,探索改进 JVM 的新方法。通过密切合作,无论是抽象意义上的(在同一个代码库中)还是物理意义上的(在同一个办公室中),研究人员和 JVM 工程师之间的知识流动更加自由,无论是在白板前还是在咖啡机前,都营造了创造性的氛围,利用不同团队的经验。因此,Oracle 斯德哥尔摩办事处经常接待来自博士生和硕士生的访问,从 2020 年起还接待了教授(Tobias Wrigstad),这得益于SSF的慷慨资助。

我们从建立这种合作关系中获得的经验是,它需要时间、努力和奉献。尽管如此,我们仍然自豪地说,在这项努力中,有几个有趣的项目正在推进,其中一些项目已经开始结出硕果,例如会议出版物、博士论文和几篇硕士论文,所有这些论文都对 JVM 的最新研究进行了全新的研究。为此,我们将在inside.java上启动一系列博客文章,向更广泛的社区介绍这项工作。

迄今为止,主要关注领域是内存管理和 JVM 启动。这导致了围绕 Z 垃圾收集器中对象放置以及逻辑上和物理上对堆进行分区以获得各种收益的新思维方式。

我们正在进行的一些项目,您将在未来的文章中了解更多信息,包括:

  • 解释和建模 ZGC:深入介绍 Z 垃圾收集器作为 JikesRVM 的替代方案,用于实验内存管理理念,包括使用模型检查(使用 Promela 和 C++)来表达 Z,作为解释关键概念的一种方式,从而能够快速原型化和验证 ZGC 上下文中的优化或新理念。
  • 使用 ZGC 中的压缩转发信息进行确定性重定位,以简化应用程序内存占用预测。
  • 各种使用 JVM 堆中最近对象使用信息来改进对象放置的方法,以提高性能、提高泄漏容忍度、减少 GC 工作集、使 JVM 更适合页面,等等。
  • 通过堆快照改进 JVM 启动时间。

我们始终致力于寻找新的合作伙伴来进行有趣的科研项目。如果您想了解更多信息,请随时联系我们

敬请关注未来的文章。