paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Automated Insertion of Flushes and Fences for Persistency

面向持久性的 flush 与 fence 自动插入
ASE 2025 40th IEEE/ACM International Conference on Automated Software Engineering (ASE)2025匹配度 2/10 · 该论文属于静态分析与编译器优化,目标是为持久内存代码自动插入 flush/fence;它与用户核心关注的 PL↔AI、LLM/Agent 改进静态分析、浮点程序分析和贝叶斯程序分析均无直接交集,仅共享“静态分析”这一宽泛主题。引用 2 inbox
Yutong Guo, Weiyu Luo, Brian Demsky
crossref: 2026-09-12

AI 速览

一句话:提出编译器 PMRobust,通过静态分析自动插入 flush 和 fence,确保持久内存代码不存在遗漏刷新错误。

持久内存与 CXL 共享内存中,存储不会立即持久化,开发者必须手动刷新缓存行并插入内存栅栏,正确使用 flush 和 fence 十分困难。现有工具能发现遗漏的 flush,但通常需要能暴露 bug 的测试用例,且没有工具能保证不存在遗漏 flush 的错误。本文提出编译器 PMRobust,它采用一种针对新分配对象的静态分析与优化,自动插入 flush 和 fence 操作,从而保证使用持久内存的代码免于遗漏 flush 和 fence 的错误。作者在持久内存库和多种持久内存数据结构上评估了 PMRobust,相对手工放置 flush 和 fence 的原始基准,几何平均开销仅为 0.26%。

问题
持久内存和 CXL 共享内存中的存储不会立即持久化,开发者需手动插入 flush 和 fence,而现有工具依赖暴露 bug 的测试用例,无法保证不存在遗漏 flush 的错误。
方法
提出编译器 PMRobust,利用针对新分配对象的静态分析与优化,自动插入必要的 flush 和 fence 操作,确保持久内存代码的正确性。
评估
在持久内存库和多种持久内存数据结构上进行评估,相对手工放置 flush 和 fence 的基准,几何平均运行开销仅为 0.26%。
原文摘要(Abstract)

CXL shared memory and persistent memory allow the contents of memory to persist beyond crashes. Stores to persistent or CXL memory are typically not immediately made persistent; developers must manually flush the corresponding cache lines to force the data to be written to the underlying storage. Correctly using flush and fence operations is known to be challenging. While state-of-the-art tools can find missing flush instructions, they often require bug-revealing test cases. No existing tools can ensure the absence of missing flush bugs.In this paper, we present PMRobust, a compiler that automatically inserts flush and fence operations to ensure that code using persistent memory is free from missing flush and fence bugs. PMRobust employs a novel static analysis with optimizations that target newly allocated objects. We have evaluated PMRobust on persistent memory libraries and several persistent memory data structures and measured a geometric mean overhead of 0.26% relative to the original benchmarks with hand-placed flush and fence operations.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot9251,
  title = {Automated Insertion of Flushes and Fences for Persistency},
  author = {Yutong Guo and Weiyu Luo and Brian Demsky},
  booktitle = {ASE},
  year = {2025},
  doi = {10.1109/ase63991.2025.00208}
}