We design and implement LEGOStore, an erasure coding (EC) based linearizable data store over geo-distributed public cloud data centers (DCs). For such a data store, the confluence of the following factors opens up opportunities for EC to be latency-competitive with replication: (a) the necessity of communicating with remote DCs to tolerate entire DC failures and implement linearizability; and (b) the emergence of DCs near most large population centers. LEGOStore employs an optimization framework that, for a given object, carefully chooses among replication and EC, as well as among various DC placements to minimize overall costs. To handle workload dynamism, LEGOStore employs a novel agile reconfiguration protocol. Our evaluation using a LEGOStore prototype spanning 9 Google Cloud Platform DCs demonstrates the efficacy of our ideas. We observe cost savings ranging from moderate (5-20\%) to significant (60\%) over baselines representing the state of the art while meeting tail latency SLOs. Our reconfiguration protocol is able to transition key placements in 3 to 4 inter-DC RTTs ($<$ 1s in our experiments), allowing for agile adaptation to dynamic conditions.
翻译:我们设计并实施了LEGOStore(LEGOStore),这是一个基于地理分布公共云数据中心(DCs)的基于线性编码(EC)的基于线性数据存储器。对于这样一个数据存储器,下列因素的结合为EC提供在复制方面具有长期竞争力的机会:(a) 有必要与边远发展中国家进行沟通,以容忍整个DC的失败并实施线性可变性;(b) 在大多数人口中心附近出现发展中国家。LEGOStore(LEGOStore)使用一个优化框架,为特定对象在复制和EC之间以及在发展中国家的不同位置之间仔细选择一个优化框架,以最大限度地降低总体成本。为了处理工作量动态,LEGOStore采用了新的灵活重组协议。我们使用一个覆盖9个谷歌云平台的LEGOStore原型软件进行的评估显示了我们的想法的功效。我们观察到,在满足尾值LOOs时,在代表艺术状态的基线方面节省了多少成本,从中(5-20 ⁇ )到相当(60 ⁇ )。我们的重组协议可以将关键定位转换为3至4个DCRTTTTTTTs($1美元),允许对动态条件进行快速调整。