Skip to main content
QUICK REVIEW

[论文解读] A Coded Shared Atomic Memory Algorithm for Message Passing Architectures

Viveck R. Cadambe, Nancy Lynch|arXiv (Cornell University)|Jul 15, 2014
Distributed systems and fault tolerance参考文献 25被引用 10
一句话总结

本文提出Coded Atomic Storage(CAS),一种基于消息传递的算法,利用分块编码(erasure coding)来降低通信开销,以模拟原子共享内存。CAS在拥有$N$个服务器和$f$个故障的系统中实现了$\frac{N}{N-2f}$的通信开销;CASGC通过垃圾回收机制进一步实现有界存储成本。CCOAS变体则将通信开销进一步优化至$\frac{N}{N-f}$,但其依赖于强信道可靠性假设。

ABSTRACT

This paper considers the communication and storage costs of emulating atomic (linearizable) multi-writer multi-reader shared memory in distributed message-passing systems. The paper contains three main contributions: (1) We present a atomic shared-memory emulation algorithm that we call Coded Atomic Storage (CAS). This algorithm uses erasure coding methods. In a storage system with $N$ servers that is resilient to $f$ server failures, we show that the communication cost of CAS is $\frac{N}{N-2f}$. The storage cost of CAS is unbounded. (2) We present a modification of the CAS algorithm known as CAS with Garbage Collection (CASGC). The CASGC algorithm is parametrized by an integer $δ$ and has a bounded storage cost. We show that in every execution where the number of write operations that are concurrent with a read operation is no bigger than $δ$, the CASGC algorithm with parameter $δ$ satisfies atomicity and liveness. We explicitly characterize the storage cost of CASGC, and show that it has the same communication cost as CAS. (3) We describe an algorithm known as the Communication Cost Optimal Atomic Storage (CCOAS) algorithm that achieves a smaller communication cost than CAS and CASGC. In particular, CCOAS incurs read and write communication costs of $\frac{N}{N-f}$ measured in terms of number of object values. We also discuss drawbacks of CCOAS as compared with CAS and CASGC.

研究动机与目标

  • 在消息传递的分布式系统中模拟原子共享内存时,降低通信与存储开销。
  • 通过使用分块编码,克服复制型算法(如ABD与LDR)带来的高通信开销。
  • 设计一种有界存储的编码内存变体,在故障约束下保持原子性与活性。
  • 在故障模型下分析并优化通信开销,同时确保正确性与活性。
  • 识别编码内存系统中通信效率、存储开销与信道可靠性假设之间的权衡。

提出的方法

  • 使用分块编码,将数据对象的编码元素分布存储在$N$个服务器上,而非存储完整副本。
  • 采用基于法定人数的协议,通过预写入与最终确认消息协调写入与读取操作,以确保一致性。
  • 引入CASGC,通过垃圾回收机制丢弃过时的编码元素,从而实现有界存储成本。
  • 在CCOAS中使用$(N, N-f)$最大距离可分(MDS)码,通过仅需$N-f$个编码元素即可完成读取,从而最小化通信开销。
  • 依赖可靠的消息通道以保证活性,假设所有预写入消息最终都会被送达,即使在写操作终止后亦然。
  • 采用服务器端协议,每个服务器在收到最终确认消息后返回其编码元素,使读取方能通过$N-f$个响应重建值。

实验结果

研究问题

  • RQ1与基于复制的方法相比,分块编码能否降低原子共享内存模拟中的通信开销?
  • RQ2在存在$f$个服务器故障的编码原子内存系统中,可实现的最低通信开销是多少?
  • RQ3如何在不牺牲原子性或活性的前提下,实现编码内存系统的有界存储?
  • RQ4编码内存协议中,通信效率与信道可靠性假设之间存在何种权衡?
  • RQ5通过优化编码构造与操作协调,能否进一步降低通信开销?

主要发现

  • CAS实现了$\frac{N}{N-2f}$的通信开销,低于ABD与LDR等复制型方案。
  • CAS具有无界存储开销,因为服务器会保留最新版本的所有编码元素。
  • CASGC通过垃圾回收过时编码元素实现有界存储,其存储开销显式表征,并依赖于参数$\delta$。
  • CCOAS将通信开销降低至$\frac{N}{N-f}$,是目前已知编码内存算法中最低的通信开销。
  • CCOAS要求强信道可靠性假设——即预写入消息即使在写操作终止后也必须被送达——这使其在实际环境中鲁棒性较弱。
  • CAS与CASGC不依赖此假设,因此在丢包信道中比CCOAS更具鲁棒性。

更好的研究,从现在开始

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

无需绑定信用卡

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