Technical details on the model¶
Some background about replication and erasure coding¶
"Erasure codes are a superset of replicated and RAID systems."
The main advantage of erasure codes is that they leverage the statistical stability of large number of components.
Assuming we have 1 million machines, and 10% are down we can calculate the probability of availability of a block that has 2 replicas using the formula below and we will get two-nines availability:
Instead, we can use erasure coding with the same storage overhead ratio. For instance, we can use k=32, m=32 (in total we will have 64 blocks). The new formula is:
This time with obtain over 8-nines availability. Nice, isn't it?
Source: Weatherspoon, H., Kubiatowicz, J., "Erasure Coding vs. Replication: A quantitative comparison"
Rados¶
Both replications methods share assumptions:- Parallel I/O recovery operations.
- Objects are written in the primary OSD of the PG identified by the CRUSH map. The primary daemon contacts other OSDs for replication and recovery purposes.
- Failure rate is constant and follows a Poisson distribution.