Skip to main content
QUICK REVIEW

[论文解读] Scaling Replicated State Machines with Compartmentalization [Technical Report]

Michael Whittaker, Ailidani Ailijiang|arXiv (Cornell University)|Dec 31, 2020
Distributed systems and fault tolerance参考文献 44被引用 4
一句话总结

本文提出了一种称为模块化(compartmentalization)的技术,通过解耦并独立扩展状态机复制协议(如 MultiPaxos)中的不同组件(例如命令排序和广播),从而消除吞吐量瓶颈。该技术在仅写入工作负载下实现6倍的吞吐量提升,在读写混合工作负载下实现16倍的吞吐量提升,且无需专用硬件或强假设。

ABSTRACT

State machine replication protocols, like MultiPaxos and Raft, are a critical component of many distributed systems and databases. However, these protocols offer relatively low throughput due to several bottlenecked components. Numerous existing protocols fix different bottlenecks in isolation but fall short of a complete solution. When you fix one bottleneck, another arises. In this paper, we introduce compartmentalization, the first comprehensive technique to eliminate state machine replication bottlenecks. Compartmentalization involves decoupling individual bottlenecks into distinct components and scaling these components independently. Compartmentalization has two key strengths. First, compartmentalization leads to strong performance. In this paper, we demonstrate how to compartmentalize MultiPaxos to increase its throughput by 6x on a write-only workload and 16x on a mixed read-write workload. Unlike other approaches, we achieve this performance without the need for specialized hardware. Second, compartmentalization is a technique, not a protocol. Industry practitioners can apply compartmentalization to their protocols incrementally without having to adopt a completely new protocol.

研究动机与目标

  • 为解决如 MultiPaxos 和 Raft 等状态机复制协议中长期存在的性能瓶颈问题,这些协议因领导节点承担单体式职责而出现过载。
  • 克服现有协议仅一次解决一个瓶颈的局限性,避免新瓶颈的出现。
  • 在不依赖专用硬件、完美故障检测器、时钟同步或关键分区状态机的前提下,实现高吞吐量的状态机复制。
  • 提供一种通用且可逐步应用的技术,使实践者能够在不完全替换为全新协议的情况下,增强现有协议。

提出的方法

  • 将 MultiPaxos 中单体式的领导角色分解为独立组件:命令排序和消息广播。
  • 引入代理领导节点(proxy leaders)来独立处理消息广播,从而实现广播阶段的水平扩展。
  • 通过增加代理领导节点的数量来消除广播阶段的瓶颈,该阶段具有明显的并行性,因此高度可并行化。
  • 通过适当的协调和法定人数机制,确保所有组件均遵守原始 MultiPaxos 的安全保证,从而维持协议的正确性和一致性。
  • 将模块化技术逐步应用于现有协议,实现无需完整协议迁移的部署。
  • 采用模块化、基于组件的架构,使每个功能(如排序、广播等)独立运行,从而支持独立优化与扩展。

实验结果

研究问题

  • RQ1状态机复制协议是否可以在不依赖专用硬件或强系统假设的前提下实现有效扩展?
  • RQ2将 MultiPaxos 等协议的单体式组件解耦,是否能带来可测量的吞吐量提升?
  • RQ3解耦带来的性能提升是否可以逐步实现,而无需完全替换整个协议栈?
  • RQ4与 Harmonia 或 FLAIR 等现有高吞吐量协议相比,模块化在假设条件和性能表现上如何?
  • RQ5在将模块化应用于状态机复制时,吞吐量与延迟之间的权衡关系如何?

主要发现

  • 在使用6.66倍机器数量的前提下,模块化 MultiPaxos 在仅写入工作负载下实现了6倍的吞吐量提升。
  • 在90%读取、10%写入的工作负载下,协议在使用4.33倍机器数量的前提下实现了16倍的吞吐量提升。
  • 性能提升无需依赖专用硬件、完美故障检测器、时钟同步或均匀的数据访问模式。
  • 该技术具有通用性,可逐步应用于现有协议,使实践者能够在不完全替换协议的情况下升级系统。
  • 通过解耦排序与广播,该方法消除了写入和读取瓶颈,且无单一组件成为性能瓶颈。
  • 尽管增加了两个额外的网络延迟(从4个增至6个),由于吞吐量的显著提升,协议在广域网部署中依然具有可行性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。