paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Espresso

Espresso:为 Java 及其运行时提供非易失性内存持久化支持
ASPLOS Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems2018匹配度 1/10 · 论文研究 Java/JVM 对非易失性内存(NVM)的持久化内存管理与运行时扩展,属于运行时、内存管理和语言设计方向,与用户关注的静态分析、LLM/Agent、浮点程序分析和贝叶斯程序分析均无直接交集。引用 42 inbox
Mingyu Wu, Ziming Zhao, Haoyu Li, Heting Li, Haibo Chen, Binyu Zang, Haibing Guan
crossref: 2026-09-12

AI 速览

一句话:提出 Espresso,对 Java 与 JVM 做整体扩展,以高性能利用 NVM 实现持久化内存管理。

NVM 兼具接近 DRAM 的低延迟和类似磁盘的持久性,但如何将其与 JVM 等托管运行时结合以简化持久化编程仍不清楚。Espresso 对 Java 及其运行时做整体扩展:首先设计 Persistent Java Heap(PJH),把持久数据当作普通 Java 对象管理;其次加入可恢复机制,为堆元数据提供崩溃一致性;还提出 Persistent Java Object(PJO)抽象,为程序员提供易用且安全的持久化编程模型。评估表明,Espresso 显著优于最先进的 Java NVM 支持 JPA 和 PCJ,同时兼容现有 Java 程序中的数据结构。

问题
如何让 Java 程序员在 JVM 托管运行时中高效、安全地使用 NVM 管理持久化数据,并保证崩溃一致性。
方法
对 Java 语言及运行时做整体扩展:设计 Persistent Java Heap 管理持久对象,增加堆元数据可恢复机制,并提供 Persistent Java Object 抽象。
评估
与最先进的 Java NVM 支持 JPA 和 PCJ 进行对比,并考察对现有 Java 数据结构的兼容性;结果显示 Espresso 显著更优。
原文摘要(Abstract)

Fast, byte-addressable non-volatile memory (NVM) embraces both near-DRAM latency and disk-like persistence, which has generated considerable interests to revolutionize system software stack and programming models. However, it is less understood how NVM can be combined with managed runtime like Java virtual machine (JVM) to ease persistence management. This paper proposes Espresso, a holistic extension to Java and its runtime, to enable Java programmers to exploit NVM for persistence management with high performance. Espresso first provides a general persistent heap design called Persistent Java Heap (PJH) to manage persistent data as normal Java objects. The heap is then strengthened with a recoverable mechanism to provide crash consistency for heap metadata. Espresso further provides a new abstraction called Persistent Java Object (PJO) to provide an easy-to-use but safe persistence programming model for programmers to persist application data. Evaluation confirms that Espresso significantly outperforms state-of-art NVM support for Java (i.e., JPA and PCJ) while being compatible to data structures in existing Java programs.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot4301,
  title = {Espresso},
  author = {Mingyu Wu and Ziming Zhao and Haoyu Li and Heting Li and Haibo Chen and Binyu Zang and Haibing Guan},
  booktitle = {ASPLOS},
  year = {2018},
  doi = {10.1145/3173162.3173201}
}