Skip to main content
QUICK REVIEW

[论文解读] Harmonia: Near-Linear Scalability for Replicated Storage with In-Network Conflict Detection

Hang Zhu, Zhihao Bai|arXiv (Cornell University)|Apr 18, 2019
Distributed systems and fault tolerance参考文献 46被引用 4
一句话总结

Harmonia 是一种复制存储系统,通过将读写冲突检测卸载到可编程网络交换机,实现了接近线性的可扩展性与强一致性。通过以线速在数据平面跟踪脏对象,它使任意副本都能为无冲突对象提供读取服务,从而在复制因子为10时将吞吐量提升至10倍,且无性能开销。

ABSTRACT

Distributed storage employs replication to mask failures and improve availability. However, these systems typically exhibit a hard tradeoff between consistency and performance. Ensuring consistency introduces coordination overhead, and as a result the system throughput does not scale with the number of replicas. We present Harmonia, a replicated storage architecture that exploits the capability of new-generation programmable switches to obviate this tradeoff by providing near-linear scalability without sacrificing consistency. To achieve this goal, Harmonia detects read-write conflicts in the network, which enables any replica to serve reads for objects with no pending writes. Harmonia implements this functionality at line rate, thus imposing no performance overhead. We have implemented a prototype of Harmonia on a cluster of commodity servers connected by a Barefoot Tofino switch, and have integrated it with Redis. We demonstrate the generality of our approach by supporting a variety of replication protocols, including primary-backup, chain replication, Viewstamped Replication, and NOPaxos. Experimental results show that Harmonia improves the throughput of these protocols by up to 10X for a replication factor of 10, providing near-linear scalability up to the limit of our testbed.

研究动机与目标

  • 解决在复制存储系统中,随着副本数量增加导致协调开销上升而引发的性能瓶颈问题。
  • 在不牺牲强一致性(线性化)的前提下,为读取密集型工作负载实现接近线性的可扩展性。
  • 通过将冲突检测移至使用可编程交换机的网络数据平面,消除传统冲突检测带来的性能开销。
  • 在不修改其核心逻辑的前提下,支持多种复制协议,包括主从备份、链式复制、Viewstamped Replication 和 NOPaxos。
  • 证明网络内处理可实现跨副本的可扩展、一致且低开销的读取分发。

提出的方法

  • 在存储集群的数据路径中部署可编程交换机(Barefoot Tofino),以监控所有对存储集群的读写请求。
  • 在交换机的数据平面中实现冲突检测模块,实时维护具有待写入操作的脏对象集合。
  • 利用交换机检查每个读取请求,判断其是否与任何正在进行的写入操作冲突;若无冲突,则将其重定向至任意副本。
  • 通过在故障转移期间同步交换机状态,确保交换机始终维持对最后提交点和脏集合的一致视图。
  • 通过扩展客户端和服务器逻辑,将Harmonia与现有存储系统(如Redis)集成,以支持交换机引导的路由。
  • 利用交换机的线速处理能力,实现近乎零延迟和开销的冲突检查。

实验结果

研究问题

  • RQ1网络内冲突检测是否能在不牺牲强一致性的情况下,实现复制存储中的接近线性可扩展性?
  • RQ2可编程交换机是否能够高效地跟踪并强制执行大量对象的一致性,且内存占用和延迟极低?
  • RQ3该冲突检测机制是否可泛化应用于主从备份和基于法定人数的多种复制协议?
  • RQ4将冲突检测卸载到网络是否能消除传统复制系统中随副本数量增加而出现的性能瓶颈?
  • RQ5在交换机故障转移或恢复期间,系统是否能保持高吞吐量和低延迟?

主要发现

  • 在复制因子为10时,Harmonia 相较于传统复制协议,吞吐量最高可提升10倍,展现出接近线性的可扩展性。
  • 系统通过确保仅将对非脏对象的读取请求重定向至副本,从而保持线性化,防止返回陈旧或未提交的数据。
  • 冲突检测在交换机数据平面以线速执行,性能开销可忽略不计,实现了实时、可扩展的路由决策。
  • 基于交换机的脏集合跟踪在故障后仍保持一致,使系统在交换机重启后数秒内即可恢复全吞吐量。
  • Harmonia 与多种复制协议(包括 NOPaxos、Viewstamped Replication、链式复制和主从备份)兼容,且无需修改其核心逻辑。
  • 在配备 Barefoot Tofino 交换机的商用集群上的原型实现表明,该方法在真实部署中具有实际可行性和高效性。

更好的研究,从现在开始

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

无需绑定信用卡

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