33
14

Storage-Optimized Data-Atomic Algorithms for Handling Erasures and Errors in Distributed Storage Systems

Abstract

Erasure codes are increasingly being studied in the context of implementing atomic memory objects in large scale asynchronous distributed storage systems. When compared with the traditional replication based schemes, erasure codes have the potential of significantly lowering storage and communication costs while simultaneously guaranteeing the desired resiliency levels. In this work, we propose the Storage-Optimized Data-Atomic (SODA) algorithm for implementing atomic memory objects in the multi-writer multi-reader setting. SODA uses Maximum Distance Separable (MDS) codes, and is specifically designed to optimize the total storage cost for a given fault-tolerance requirement. For tolerating ff server crashes in an nn-server system, SODA uses an [n,k][n, k] MDS code with k=nfk=n-f, and incurs a total storage cost of nnf\frac{n}{n-f}. SODA is designed under the assumption of reliable point-to-point communication channels. The communication cost of a write and a read operation are respectively given by O(f2)O(f^2) and nnf(δw+1)\frac{n}{n-f}(\delta_w+1), where δw\delta_w denotes the number of writes that are concurrent with the particular read. In comparison with the recent CASGC algorithm, which also uses MDS codes, SODA offers lower storage cost while pays more on the communication cost. We also present a modification of SODA, called SODAerr_{\text{err}}, to handle the case where some of the servers can return erroneous coded elements during a read operation. Specifically, in order to tolerate ff server failures and ee error-prone coded elements, the SODAerr_{\text{err}} algorithm uses an [n,k][n, k] MDS code such that k=n2efk=n-2e-f. SODAerr_{\text{err}} also guarantees liveness and atomicity, while maintaining an optimized total storage cost of nnf2e\frac{n}{n-f-2e}.

View on arXiv
Comments on this paper