paperbot · PL 论文追踪

全部论文 待读 收藏

P2 HybridPersist: A Compiler Support for User-Friendly and Efficient PM Programming

HybridPersist:面向用户友好且高效的持久内存编程的编译器支持
OOPSLA 9(OOPSLA2)2025匹配度 2/10 · 论文属于编译器与持久内存崩溃一致性方向,虽涉及专用分析 pass,但与用户核心关注的 AI 与静态分析交叉、浮点程序分析、贝叶斯程序分析以及 LLM/Agent 无关。引用 0 inbox
Yiyu Zhang, Yongzhi Wang, Yanfeng Gao, Xuandong Li, Zhiqiang Zuo
crossref: 2026-09-10

AI 速览

一句话:提出 HybridPersist 编译器支持,以极少标注自动保证持久内存程序的崩溃一致性并提升性能。

持久内存(PM)具备数据持久性,但程序员必须手工标注 PM 操作以实现崩溃一致性,这一过程既费力又易错。为减轻 PM 应用编程负担,本文提出 HybridPersist——一种面向用户友好且高效 PM 编程的编译器支持。一方面,HybridPersist 以极少的标注自动实现崩溃一致性,对程序员侵入性极小;另一方面,它通过一系列专用分析 pass 同时提升 PM 程序的性能与正确性。在知名基准上的评测表明,相较于当前最先进方法,HybridPersist 在编程生产力与运行时性能方面均表现更优。

问题
持久内存编程中,程序员需要手工标注 PM 操作才能保证崩溃一致性,这既耗费人力又容易出错。
方法
HybridPersist 作为编译器支持,仅需极少标注即自动实现崩溃一致性,并借助一系列专用分析 pass 提升性能与正确性。
评估
在知名基准上开展实验,并与当前最先进方法比较编程生产力与运行时性能。
原文摘要(Abstract)

Persistent memory (PM), with its data persistence, has found widespread applications. However, programmers have to manually annotate PM operations in programming to achieve crash consistency, which is labor-intensive and error-prone. In this paper, to alleviate the burden of programming PM applications, we develop HybridPersist, a compiler support for user-friendly and efficient PM programming. On the one hand, HybridPersist automatically achieves crash consistency, minimally intruding on programmers with negligible annotations. On the other hand, it enhances both performance and correctness of PM programs through a series of dedicated analysis passes. The evaluations on well-known benchmarks validate that HybridPersist offers superior programming productivity and runtime performance compared to the state-of-the-art.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot2908,
  title = {HybridPersist: A Compiler Support for User-Friendly and Efficient PM Programming},
  author = {Yiyu Zhang and Yongzhi Wang and Yanfeng Gao and Xuandong Li and Zhiqiang Zuo},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA2},
  year = {2025},
  doi = {10.1145/3763089}
}