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