ASPLOS '20: Hermes 复制协议

ASPLOS '20: Hermes 复制协议

💡 原文中文,约3000字,阅读约需7分钟。
📝

内容提要

一个城邦通过民主方式自给自足,但基础设施差,投票常丢失。为解决此问题,采用Hermes协议,利用稳定成员处理提案,支持分布式存储和原子操作,确保写操作成功,且最多一个并发RMW成功。

🎯

关键要点

  • 城邦通过民主方式自给自足,但基础设施差,投票常丢失。
  • 为解决投票问题,采用Hermes协议,利用稳定成员处理提案。
  • Hermes协议支持分布式存储和原子操作,确保写操作成功。
  • Hermes协议中,提案的发起者称为Coordinator,负责广播提案。
  • Invalidation和Validation是Hermes协议中的基本概念,用于管理Key的状态。
  • Hermes引入逻辑时间戳以解决并发问题,时间戳基于Lamport Timestamp。
  • 所有读请求在本地完成,只有Key处于Valid状态时才能返回。
  • Write操作中,Coordinator更新Key版本号并广播INV消息。
  • RMW操作通过调整Metadata中的标记来区分于Write操作。
  • Hermes协议保证Write总是成功,最多一个并发的RMW会成功。
  • Hermes协议依赖一组稳定的成员,需通过其他协议选举出来。

延伸问答

Hermes协议的主要目的是什么?

Hermes协议旨在解决城邦中投票丢失的问题,确保提案的有效性和写操作的成功。

Hermes协议如何处理并发问题?

Hermes协议通过引入基于Lamport Timestamp的逻辑时间戳来解决并发问题,确保写操作的顺序性。

在Hermes协议中,提案的发起者称为什么?

在Hermes协议中,提案的发起者称为Coordinator。

Hermes协议中Invalidation和Validation的作用是什么?

Invalidation用于将Key设置为无效状态,Validation则用于将Key更新为有效状态,确保数据的一致性。

Hermes协议如何确保写操作的成功?

Hermes协议保证写操作总是成功,并且最多只有一个并发的RMW操作会成功。

Hermes协议依赖于什么来选举稳定的成员?

Hermes协议依赖其他协议(如Vertical Paxos)来选举出一组稳定的成员。

➡️

继续阅读