Rack-Aware Regenerating Codes for Data Centers

Erasure coding is widely used for massive storage in data centers to achieve high fault tolerance and low storage redundancy. Since the cross-rack communication cost is often high, it is critical to design erasure codes that minimize the cross-rack repair bandwidth during failure repair. In this paper, we analyze the optimal trade-off between storage redundancy and cross-rack repair bandwidth specifically for data centers, subject to the condition that the original data can be reconstructed from a sufficient number of any non-failed nodes. We characterize the optimal trade-off curve under functional repair, and propose a general family of erasure codes called rack-aware regenerating codes (RRC), which achieve the optimal trade-off. We further propose exact repair constructions of RRC that have minimum storage redundancy and minimum cross-rack repair bandwidth, respectively. We show that (i) the minimum storage redundancy constructions support a wide range of parameters and have cross-rack repair bandwidth that is strictly less than that of the classical minimum storage regenerating codes in most cases, and (ii) the minimum cross-rack repair bandwidth constructions support all the parameters and have less cross-rack repair bandwidth than that of the minimum bandwidth regenerating codes for almost all of the parameters.

[1]  Robert Mateescu,et al.  Opening the Chrysalis: On the Real Repair Performance of MSR Codes , 2016, FAST.

[2]  Jaekyun Moon,et al.  A Class of MSR Codes for Clustered Distributed Storage , 2018, 2018 IEEE International Symposium on Information Theory (ISIT).

[3]  Arman Fazeli,et al.  Minimum storage regenerating codes for all parameters , 2016, 2016 IEEE International Symposium on Information Theory (ISIT).

[4]  F. Moore,et al.  Polynomial Codes Over Certain Finite Fields , 2017 .

[5]  Jaume Pujol,et al.  Non-homogeneous two-rack model for distributed storage systems , 2013, 2013 IEEE International Symposium on Information Theory.

[6]  Xin Wang,et al.  Tree-structured Data Regeneration in Distributed Storage Systems with Regenerating Codes , 2010, 2010 Proceedings IEEE INFOCOM.

[7]  Kannan Ramchandran,et al.  Exact-repair MDS codes for distributed storage using interference alignment , 2010, 2010 IEEE International Symposium on Information Theory.

[8]  Kannan Ramchandran,et al.  Explicit codes minimizing repair bandwidth for distributed storage , 2009, 2010 IEEE Information Theory Workshop on Information Theory (ITW 2010, Cairo).

[9]  Jie Li,et al.  A generic transformation for optimal repair bandwidth and rebuilding access in MDS codes , 2017, 2017 IEEE International Symposium on Information Theory (ISIT).

[10]  Patrick P. C. Lee,et al.  Double Regenerating Codes for hierarchical data centers , 2016, 2016 IEEE International Symposium on Information Theory (ISIT).

[11]  Russ Bubley,et al.  Randomized algorithms , 1995, CSUR.

[12]  Kannan Ramchandran,et al.  Having Your Cake and Eating It Too: Jointly Optimal Erasure Codes for I/O, Storage, and Network-bandwidth , 2015, FAST.

[13]  Nihar B. Shah,et al.  Optimal Exact-Regenerating Codes for Distributed Storage at the MSR and MBR Points via a Product-Matrix Construction , 2010, IEEE Transactions on Information Theory.

[14]  Cheng Huang,et al.  Erasure Coding in Windows Azure Storage , 2012, USENIX Annual Technical Conference.

[15]  Jaekyun Moon,et al.  Explicit Construction of MBR Codes for Clustered Distributed Storage , 2018, ArXiv.

[16]  Dan Feng,et al.  Optimal Repair Layering for Erasure-Coded Data Centers , 2017, ACM Trans. Storage.

[17]  Dimitris S. Papailiopoulos,et al.  XORing Elephants: Novel Erasure Codes for Big Data , 2013, Proc. VLDB Endow..

[18]  Xin Wang,et al.  Heterogeneity-aware data regeneration in distributed storage systems , 2014, IEEE INFOCOM 2014 - IEEE Conference on Computer Communications.

[19]  Raymond W. Yeung,et al.  Information Theory and Network Coding , 2008 .

[20]  Jaume Pujol,et al.  A Realistic Distributed Storage System That Minimizes Data Storage and Repair Bandwidth , 2013, 2013 Data Compression Conference.

[21]  Nihar B. Shah,et al.  A flexible class of regenerating codes for distributed storage , 2010, 2010 IEEE International Symposium on Information Theory.

[22]  Alexandros G. Dimakis,et al.  Network Coding for Distributed Storage Systems , 2007, IEEE INFOCOM 2007 - 26th IEEE International Conference on Computer Communications.

[23]  Soroush Akhlaghi,et al.  Cost-bandwidth tradeoff in distributed storage systems , 2010, Comput. Commun..

[24]  Van-Anh Truong,et al.  Availability in Globally Distributed Storage Systems , 2010, OSDI.

[25]  Jiwu Shu,et al.  Reconsidering Single Failure Recovery in Clustered File Systems , 2016, 2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).

[26]  Minghua Chen,et al.  BASIC Codes: Low-Complexity Regenerating Codes for Distributed Storage Systems , 2016, IEEE Transactions on Information Theory.

[27]  Baochun Li,et al.  Beehive: Erasure Codes for Fixing Multiple Failures in Distributed Storage Systems , 2017, IEEE Transactions on Parallel and Distributed Systems.

[28]  Jaekyun Moon,et al.  Capacity of clustered distributed storage , 2016, 2017 IEEE International Conference on Communications (ICC).

[29]  Yang Tang,et al.  NCCloud: A Network-Coding-Based Storage System in a Cloud-of-Clouds , 2014, IEEE Transactions on Computers.

[30]  Ming Xiao,et al.  Two-Layer Coding in Distributed Storage Systems With Partial Node Failure/Repair , 2017, IEEE Communications Letters.

[31]  Muriel Médard,et al.  The Storage Versus Repair-Bandwidth Trade-off for Clustered Storage Systems , 2018, IEEE Transactions on Information Theory.

[32]  Camilla Hollanti,et al.  Capacity and Security of Heterogeneous Distributed Storage Systems , 2013, IEEE Journal on Selected Areas in Communications.

[33]  Chi Wan Sung,et al.  A code design framework for multi-rack distributed storage , 2014, 2014 IEEE Information Theory Workshop (ITW 2014).