Tolerating Slowdowns in Replicated State Machines using Copilots
Tolerating Slowdowns in Replicated State Machines using Copilots
复制标题
DOI:
--
复制
发表时间:
2020
期刊:
影响因子:
--
通讯作者:
Khiem Ngo;S. Sen;Wyatt Lloyd
中科院分区:
文献类型:
--
作者:
Khiem Ngo;S. Sen;Wyatt Lloyd
Replicated state machines are linearizable, fault-tolerant groups of replicas that are coordinated using a consensus algorithm. Copilot replication is the first 1-slowdown-tolerant consensus protocol: it delivers normal latency despite the slowdown of any 1 replica. Copilot uses two distinguished replicas—the pilot and copilot—to proactively add redundancy to all stages of processing a client’s command. Copilot uses dependencies and deduplication to resolve potentially differing orderings proposed by the pilots. To avoid dependencies leading to either pilot being able to slow down the group, Copilot uses fast takeovers that allow a fast pilot to complete the ongoing work of a slow pilot. Copilot includes two optimizations—ping-pong batching and null dependency elimination—that improve its performance when there are 0 and 1 slow pilots respectively. Our evaluation of Copilot shows its performance is lower but competitive with MultiPaxos and EPaxos when no replicas are slow. When a replica is slow, Copilot is the only protocol that avoids high latencies.