Silhouette: Leveraging Consistency Mechanisms to Detect Bugs in Persistent Memory-Based File Systems
Bing Jiao, Ashvin Goel, An-I Andy Wang
摘要
The emergence of persistent memory (PM), with its non-volatile and byte-addressable characteristics, has led to a novel storage programming paradigm. However, PM programs need to flush stores from CPU caches and correctly order them to avoid inconsistencies after a crash. As a result, many bug-detection tools have been developed for checking crash-consistency bugs in PM software. These bug detectors focus on reordering in-flight stores, crashing the system, and then checking for crash consistency during recovery. However, large-scale systems such as file systems have many in-flight stores, resulting in a large exploration space that makes exhaustive testing prohibitive.
This paper presents Silhouette, a bug-detection framework that targets PM-based file systems. These file systems use standard crash-consistency mechanisms such as journaling and replication. Silhouette uses a novel combination of static instrumentation and data-type-based dynamic analysis to check whether these file systems implement their consistency mechanisms correctly. If these checks pass, then all stores associated with the consistency mechanism (e.g., logging and checkpointing stores for journaling) are considered protected and only the unprotected stores are reordered during exploration. Our evaluation shows that Silhouette dramatically reduces the exploration space, finds all bugs found by existing tools 10x faster, and finds several new bugs in various PM file systems.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper16
- Lock-free Concurrent Level Hashing for Persistent MemoryZhangyu Chen, Yu Hua, Bo Ding, Pengfei ZuoUSENIX ATC 2020 · 被引用 98 次
- PACTree: A High Performance Persistent Range Index Using PAC GuidelinesWook-Hee Kim, Madhava Krishnan Ramanathan, Xinwei Fu, Sanidhya Kashyap 等SOSP 2021 · 被引用 61 次
- 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 次
- ListDB: Union of Write-Ahead Logs and Persistent SkipLists for Incremental Checkpointing on Persistent MemoryWonbae Kim, Chanyeol Park, Dongui Kim, Hyeongjun Park 等OSDI 2022 · 被引用 47 次
相关 Paper
- Mumak: Efficient and Black-Box Bug Detection for Persistent MemoryJoão Gonçalves, Miguel Matos, Rodrigo RodriguesEuroSys 2023 · 被引用 5 次
- Efficiently detecting concurrency bugs in persistent memory programsZhangyu Chen, Yu Hua, Yongle Zhang, Luochangqi DingASPLOS 2022 · 被引用 11 次
- Fast, flexible, and comprehensive bug detection for persistent memory programsBang Di, Jiawen Liu, Hao Chen, Dong LiASPLOS 2021 · 被引用 37 次
- PMFuzz: test case generation for persistent memory programsSihang Liu, Suyash Mahar, Baishakhi Ray, Samira Manabi KhanASPLOS 2021 · 被引用 36 次
- Chipmunk: Investigating Crash-Consistency in Persistent-Memory File SystemsHayley LeBlanc, Shankara Pailoor, Om Saran K. R. E., Isil Dillig 等EuroSys 2023 · 被引用 11 次
