Fast, flexible, and comprehensive bug detection for persistent memory programs
Bang Di, Jiawen Liu, Hao Chen, Dong Li
摘要
Debugging persistent memory (PM) programs faces a fundamental tradeoff between performance overhead and bug coverage (comprehensiveness). Large performance overhead or limited bug coverage makes debugging infeasible or ineffective for PM programs. We present PMDebugger, a debugger that detects crash consistency bugs in PM programs. Unlike prior work, PMDebugger is fast, flexible and comprehensive. The design of PMDebugger is driven by a characterization that shows how three fundamental operations in PM programs (store, cache writeback and fence) typically occur in PM programs. PMDebugger uses a hierarchical design composed of PM debugging-specific data structures, operations and bug-detection algorithms (rules). We generalize nine rules to detect crash-consistency bugs for various PM persistency models. Compared with a state-of-the-art detector (XFDetector) and an industry-quality detector (Pmemcheck), PMDebugger leads to 49.3x and 3.4x speedup on average. Compared with another state-of-theart detector (PMTest) optimized for high performance, PMDebugger achieves comparable performance (within a factor of 2), without heavily relying on programmer annotations, and detects 38 more bugs on ten applications. PMDebugger also identifies more bugs than XFDetector and Pmemcheck. PMDebugger detects 19 new bugs in a real application (memcached) and two new bugs from Intel PMDK.
• Hardware → Memory and dense storage; • Software and its engineering → Software testing and debugging.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper19
- Capri: Compiler and Architecture Support for Whole-System PersistenceJungi Jeong, Jianping Zeng, Changhee JungHPDC 2022 · 被引用 21 次
- Yashme: detecting persistency racesHamed Gorjiara, Guoqing Harry Xu, Brian DemskyASPLOS 2022 · 被引用 18 次
- Persistent Processor ArchitectureJianping Zeng, Jungi Jeong, Changhee JungMICRO 2023 · 被引用 12 次
- Efficiently detecting concurrency bugs in persistent memory programsZhangyu Chen, Yu Hua, Yongle Zhang, Luochangqi DingASPLOS 2022 · 被引用 11 次
- Chipmunk: Investigating Crash-Consistency in Persistent-Memory File SystemsHayley LeBlanc, Shankara Pailoor, Om Saran K. R. E., Isil Dillig 等EuroSys 2023 · 被引用 11 次
它引用的顶会 Paper8
- FlatStore: An Efficient Log-Structured Key-Value Storage Engine for Persistent MemoryYoumin Chen, Youyou Lu, Fan Yang, Qing Wang 等ASPLOS 2020 · 被引用 166 次
- Cross-Failure Bug Detection in Persistent Memory ProgramsSihang Liu, Korakit Seemakhupt, Yizhou Wei, Thomas F. Wenisch 等ASPLOS 2020 · 被引用 60 次
- MOD: Minimally Ordered Durable Datastructures for Persistent MemorySwapnil Haria, Mark D. Hill, Michael M. SwiftASPLOS 2020 · 被引用 47 次
- AGAMOTTO: How Persistent is your Persistent Memory Application?Ian Neal, Ben Reeves, Ben Stoler, Andrew Quinn 等OSDI 2020 · 被引用 43 次
- PMEM-spec: persistent memory speculation (strict persistency can trump relaxed persistency)Jungi Jeong, Changhee JungASPLOS 2021 · 被引用 30 次
相关 Paper
- PMFuzz: test case generation for persistent memory programsSihang Liu, Suyash Mahar, Baishakhi Ray, Samira Manabi KhanASPLOS 2021 · 被引用 36 次
- Mumak: Efficient and Black-Box Bug Detection for Persistent MemoryJoão Gonçalves, Miguel Matos, Rodrigo RodriguesEuroSys 2023 · 被引用 5 次
- Constraint Based Program Repair for Persistent Memory BugsZunchen Huang, Chao WangICSE 2024 · 被引用 3 次
- Automated Insertion of Flushes and Fences for PersistencyYutong Guo, Weiyu Luo, Brian DemskyASE 2025 · 被引用 1 次
- Silhouette: Leveraging Consistency Mechanisms to Detect Bugs in Persistent Memory-Based File SystemsBing Jiao, Ashvin Goel, An-I Andy WangFAST 2025 · 被引用 2 次
