Automated Insertion of Flushes and Fences for Persistency
Yutong Guo, Weiyu Luo, Brian Demsky
摘要
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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper14
- Persistency semantics of the Intel-x86 architectureAzalea Raad, John Wickerson, Gil Neiger, Viktor VafeiadisPOPL 2020 · 被引用 61 次
- Cross-Failure Bug Detection in Persistent Memory ProgramsSihang Liu, Korakit Seemakhupt, Yizhou Wei, Thomas F. Wenisch 等ASPLOS 2020 · 被引用 60 次
- AGAMOTTO: How Persistent is your Persistent Memory Application?Ian Neal, Ben Reeves, Ben Stoler, Andrew Quinn 等OSDI 2020 · 被引用 43 次
- Fast, flexible, and comprehensive bug detection for persistent memory programsBang Di, Jiawen Liu, Hao Chen, Dong LiASPLOS 2021 · 被引用 37 次
- Jaaru: efficiently model checking persistent memory programsHamed Gorjiara, Guoqing Harry Xu, Brian DemskyASPLOS 2021 · 被引用 34 次
相关 Paper
- HybridPersist: A Compiler Support for User-Friendly and Efficient PM ProgrammingYiyu Zhang, Yongzhi Wang, Yanfeng Gao, Xuandong Li 等OOPSLA 2025
- Checking robustness to weak persistency modelsHamed Gorjiara, Weiyu Luo, Alex Lee, Guoqing Harry Xu 等PLDI 2022 · 被引用 13 次
- Towards Verifying Crash ConsistencyKeonho Lee, Conan Truong, Brian DemskyOOPSLA 2025
- PMFuzz: test case generation for persistent memory programsSihang Liu, Suyash Mahar, Baishakhi Ray, Samira Manabi KhanASPLOS 2021 · 被引用 36 次
- Constraint Based Program Repair for Persistent Memory BugsZunchen Huang, Chao WangICSE 2024 · 被引用 3 次
