CRaft: An Erasure coding supported Version of Raft for Reducing Storage Cost and Network Cost
Consensus protocols can provide highly reliable and available distributed services. In these protocols, log entries are completely replicated to all servers. This complete entry replication causes high storage and network costs, which harms performance. Erasure coding is a common technique to reduce storage and network costs while keeping the same fault tolerance ability. If the complete entry replication in consensus protocols can be replaced with an erasure coding replication, storage and network costs can be greatly reduced. RS Paxos is the first consensus protocol to support erasure coded data, but it has much poorer availability compared to commonly used consensus protocols, like Paxos and Raft. We point out RSPaxos's liveness problem and try to solve it. Based on Raft, we present a new protocol, CRaft. Providing two different replication methods, CRaft can use erasure coding to save storage and network costs like RS Paxos, while it also keeps the same liveness as Raft. To demonstrate the benefits of our protocols, we built a key value store based on CRaft, and evaluated it. In our experiments, CRaft could save 66% of storage, reach a 250% improvement on write throughput and reduce 60.8% of write latency compared to original Raft.
FAST