Expander code: A scalable erasure-resilient code to keep up with data growth in distributed storage

Guangping Xu, Sheng Lin, Hua Zhang, Xing Guo, Kai Shi · 2013

To ensure high reliability and storage efficiency, erasure codes are preferred in storage systems. With the prevalent of distributed storage systems such as clouds storage, how to design a scalable and efficient erasure-resilient code is challenging. We propose a scalable binary linear code to keep up with data growth which has the following properties. Given the group size k and the code block length n, the proposed code corrects any two bit erasures among the n bits. The redundancy overhead of the code is 2/(k + 2), and each data bit affects exactly 2 parity bits. As results of these properties, if a data bit is changed or added, only two parity bits need to be updated; and the recovery of an erasured bit requires accessing at most k other bits and the recovery of two erasured bits requires at most 2k other bits. We give the construction algorithm by the order expansion of regular graphs; moreover, we optimize the failure resilience during the construction procedure. Compared with existing codes, our proposed code has notable benefits in storage scalability, redundancy overhead and I/O bandwidth. The deployment of the proposed code in distributed storage systems can be simple and practical.

Read the paper · More papers on PaperTik