LEGOStore: A Linearizable Geo-Distributed Store Combining Replication and Erasure Coding

Hamidreza Zare,Viveck R. Cadambe,Bhuvan Urgaonkar,Chetan Sharma,Praneet Soni,Nader Alfares,Arif Merchant
DOI: https://doi.org/10.48550/arXiv.2111.12009
2021-11-23
Distributed, Parallel, and Cluster Computing
Abstract: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.
What problem does this paper attempt to address?