Redundancy does not imply fault tolerance
summary
Measured eight popular distributed storage systems by injecting a single-block fault at a time (read corruptions, read/write errors) using a user-level FUSE injector ErrorFS, and finds that one faulty block on one node often causes silent user-visible corruption, data loss, unavailability, or spread of corruption rather than recovery from replicas. Root causes are undetected local faults, crash-or-truncate reactions, and unsafe local/global interactions. Built a protocol-aware recovery called control, applied to LogCabin and ZooKeeper, which remains safe and highly available with only 4–10% throughput overhead.
AI-written summary · about
chapters (37)
- 0:00Intro
- 0:26Distributed Storage Systems
- 0:36Redundancy for Fault Tolerance
- 1:18Redundancy in Distributed Storage
- 1:54Storage Faults Are Prevalent
- 4:10Redundancy Does Not Imply Fault Toler
- 6:17Fundamental Problems: Summary
- 7:49Outline
- 9:29Fault Model: ext4 and btrfs
- 10:16Fault Injection Methodology
- 11:47Behavior Inference Methodology
- 12:28An Example: Redis
- 13:42Redis: Behavior Analysis
- 18:38Faults are often Undetected Locall
- 20:30Crashing - Common Local Reaction
- 21:54Crash and Corruption Handling are Enta
- 28:48How to Recover Faulty Data?
- 36:25RSM Overview
- 37:26Replicated State Update
- 38:46RSM Persistent Structures
- 40:01Current Approaches to Handling Fault
- 40:41Protocol-Oblivious: Crash
- 44:50Recovery Approaches Summary
- 46:14CTRL Overview
- 46:47CTRL Fault Model
- 47:26CTRL Guarantees
- 47:53CTRL Local Storage
- 48:51CTRL Distributed Recovery
- 49:12Properties of Consensus Protocols
- 50:37Follower Log Recovery
- 52:22Leader Log Recovery: Determining Commitment
- 53:14Leader Recovery: Determining Commi
- 56:15Evaluation
- 56:47Reliability Experiments Example
- 57:34Reliability Experiments Summary
- 58:28Reliability Results Summary
- 58:50Update Performance (SSD)
related talks
23mCan Applications Recover from fsync Failures?
19mEvaluating File System Reliability on Solid State Drives
46mFault tolerance in Distributed Systems: A Case Study in Apache Spark
36mDesigning for failure - architecting fault-tolerant system
18mWho's Afraid of Uncorrectable Bit Errors? Online Recovery of Flash Errors with Distributed Redundancy
19mProtocol-Aware Recovery for Consensus-Based Storage
15mFiDe: Reliable and Fast Crash Failure Detection to Boost Datacenter Coordination
17mOne-Size-Fits-None: Understanding and Enhancing Slow-Fault Tolerance in Modern...
