面向微秒级应用的微秒级共识
分布式、并行与集群计算
2020-10-14 v1
摘要
我们考虑通过复制使应用在微秒尺度下具备容错能力的问题,例如在金融、嵌入式计算和微服务应用中。这些应用需要同样在微秒尺度下运行的复制方案,否则复制反而会成为负担。我们提出 Mu,一个在内存中复制(小型)请求耗时少于 1.3 微秒、系统故障切换少于 1 毫秒的系统——这将先前系统的复制和故障切换延迟至少分别降低了 61% 和 90%。Mu 为通用应用实现了具有强一致性的真正状态机复制/共识(SMR),但它在微秒级应用上表现尤为出色,因为即便最小的额外开销也至关重要。为提供此性能,Mu 引入了一种新的 SMR 协议,谨慎地利用 RDMA。大致而言,在 Mu 中,领导者通过直接使用 RDMA 将请求写入其他副本的日志来进行复制,无需任何额外通信。然而,这样做引入了处理并发领导者、更换领导者、日志垃圾回收等挑战——我们通过 RDMA 权限与分布式算法设计的明智结合在本文中解决了这些挑战。我们实现了 Mu 并用它复制了多个系统:一个名为 Liquibook 的金融交易应用、Redis、Memcached 和 HERD。我们的评估表明,Mu 带来了较小的复制延迟,在某些情况下是唯一能带来可接受开销的可行复制系统。
引用
@article{arxiv.2010.06288,
title = {Microsecond Consensus for Microsecond Applications},
author = {Marcos K. Aguilera and Naama Ben-David and Rachid Guerraoui and Virendra J. Marathe and Athanasios Xygkis and Igor Zablotchi},
journal= {arXiv preprint arXiv:2010.06288},
year = {2020}
}
备注
Full version of OSDI'20 paper