Crash Consistency in Block-Level Caching Systems: An Open CAS Case Study
summary
Paper shows Open CAS fails end-to-end crash guarantees: a workload-oriented testing harness injects synthetic crashes at precise cache states (including implicit eviction/cleaning detected via throughput drops) and finds Open CAS returns corrupt data during read-back/read-around modes and on misses/evictions. Post-recovery flushes work for ext3 under some settings but cause IO errors or silent durability loss on ext4/Btrfs/XFS with journaling or COW options. A simpler mcache exhibits the same clean-up crash corruption.
AI-written summary · about
chapters (10)
- 0:00Crash consistency intro
- 1:23Why crash consistency matters
- 3:15Open CAS overview
- 5:27Crash consistency testing
- 8:47Testing implicit evictions
- 10:13Workload-oriented eviction tests
- 12:01Crash consistency results
- 13:28Backend filesystem tests
- 15:14NVMe Cache testing
- 17:00Findings and conclusions
related talks
48mDirty Tricks of Computer Hardware
16mTaming the Incoherent Cache Issue in Confidential VMs
15mSystematic Evaluation of Randomized Cache Designs against Cache Occupancy
35mPage Cache Attacks: Microarchitectural Attacks on Flawless Hardware
14mSecure Caches for Compartmentalized Software
42mUnderstanding Data Races in the Linux Kernel
14mSoK: So, You Think You Know All About Secure Randomized Caches?
39mTaming DMA: Tales Wrestling Memory Corruption
