paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Yashme: detecting persistency races

Yashme:检测持久性竞态
ASPLOS Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems2022匹配度 2/10 · 论文属于持久内存崩溃一致性与并发缺陷检测,涉及程序分析和调试,但与用户核心关注的 LLM/Agent 与静态分析交叉、浮点程序分析、贝叶斯程序分析均无直接关联;仅在广义 PL/缺陷检测主题上有边缘相关。引用 18 inbox
Hamed Gorjiara, Guoqing Harry Xu, Brian Demsky
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出持久性竞态这一崩溃一致性缺陷,并实现首个检测器 Yashme,在持久内存基准中发现 26 个真实竞态。

持久内存(PM/NVRAM)硬件有望改变程序存储信息的方式,但确保 PM 程序崩溃一致性十分困难。本文提出一类新的崩溃一致性缺陷——持久性竞态(persistency races),它由标准编译器优化与持久内存语义的交互引起,可导致非原子存储部分持久化。作者实现首个检测器 Yashme。检测难点是执行必须在带竞态的存储与其缓存刷新之间的极窄窗口内崩溃,朴素技术难以生效。Yashme 采用新技术,在崩溃前执行的 prefix 中检测竞态,即使注入的崩溃未落入该窗口也能有效发现竞态。作者在持久内存基准上评估,发现 26 个此前未报告的真实持久性竞态。

问题
持久内存程序需保证崩溃一致性;标准编译器优化与持久内存语义交互会产生持久性竞态,使非原子存储部分持久化,破坏崩溃一致性。
方法
提出 Yashme 检测器,通过在崩溃前执行的 prefix 中检测竞态,避免依赖注入崩溃恰好落在存储与缓存刷新之间的狭窄窗口。
评估
在一系列持久内存基准上评估 Yashme,发现 26 个此前从未报告过的真实持久性竞态。
原文摘要(Abstract)

Persistent memory (PM) or Non-Volatile Random-Access Memory (NVRAM) hardware such as Intel’s Optane memory product promises to transform how programs store and manipulate information. Ensuring that persistent memory programs are crash consistent is a major challenge. We present a novel class of crash consistency bugs for persistent memory programs, which we call persistency races. Persistency races can cause non-atomic stores to be made partially persistent. Persistency races arise due to the interaction of standard compiler optimizations with persistent memory semantics. We present Yashme, the first detector for persistency races. A major challenge is that in order to detect persistency races, the execution must crash in a very narrow window between a store with a persistency race and its corresponding cache flush operation, making it challenging for naïve techniques to be effective. Yashme overcomes this challenge with a novel technique for detecting races in executions that are prefixes of the pre-crash execution. This technique enables Yashme to effectively find persistency races even if the injected crashes do not fall into that window. We have evaluated Yashme on a range of persistent memory benchmarks and have found 26 real persistency races that have never been reported before.

链接与引用

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

BibTeX
@inproceedings{GorjiaraXD22,
  title = {Yashme: detecting persistency races},
  author = {Hamed Gorjiara and Guoqing Harry Xu and Brian Demsky},
  booktitle = {ASPLOS},
  year = {2022},
  doi = {10.1145/3503222.3507766}
}