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
中科院分区:
其他
文献类型:
--
作者:
Khiem Ngo;S. Sen;Wyatt Lloyd

文献摘要

被引文献

相似文献

复制状态机是可线性化的、容错的复制品组,它们使用共识算法进行协调。Copilot复制是第一个1-slowdown容忍共识协议:它提供正常的延迟,尽管任何1个副本的速度减慢。Copilot使用两个不同的副本--pilot和copilot--主动地为处理客户端命令的所有阶段添加冗余。Copilot使用依赖性和重复数据删除来解决飞行员提出的潜在不同顺序。为了避免相互依赖,导致任何一个飞行员都能够减慢整个团队的速度,Copilot使用快速接管,允许快速飞行员完成缓慢飞行员正在进行的工作。副驾驶仪包括两个优化-乒乓消除和零相关消除-提高其性能时,分别有0和1慢驾驶员。我们对Copilot的评估显示,它的性能较低,但在没有副本的情况下,它与MultiPaxos和EPaxos具有竞争力。当副本很慢时,Copilot是唯一避免高延迟的协议。
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.