Distributed Storage Codes through Hadamard Designs

In distributed storage systems that employ erasure coding, the issue of minimizing the total {\it repair bandwidth} required to exactly regenerate a storage node after a failure arises. This repair bandwidth depends on the structure of the storage co…

Authors: Dimitris S. Papailiopoulos, Alex, ros G. Dimakis

Distrib uted Storage Codes through Hadamard Designs Dimitris S. Papailiopoulos and Ale xandros G. Dimakis Department of Electrical Engineering Uni versity of Southern California Los Angeles, CA 90089 Email: { papailio, dimakis } @usc.edu Abstract —In distributed storage systems that employ era- sure coding, the issue of minimizing the total repair bandwidth requir ed to exactly regenerate a storage node after a failure arises. This repair bandwidth depends on the structure of the storage code and the repair strategies used to restor e the lost data. Minimizing it requir es that undesired data during a repair align in the smallest possible spaces, using the concept of interference alignment (IA). Her e, a points-on-a-lattice repr esentation of the symbol extension IA of Cadambe et al. pro vides cues to perfect IA instances which we combine with fundamental pr operties of Hadamard matrices to construct a new storage code with fav orable repair properties. Specifi- cally , we build an explicit ( k + 2 , k ) storage code over GF (3) , whose single systematic node failures can be repaired with bandwidth that matches exactly the theoretical minimum. Moreo ver , the repair of single parity node failures generates at most the same repair bandwidth as any systematic node failure. Our code can tolerate any single node failure and any pair of failures that in volves at most one systematic failure. I . I N T RO D U C T I O N The demand for large scale data storage has increased significantly in recent years with applications demanding seamless storage, access, and security for massiv e amounts of data. When the deployed nodes of a storage network are individually unreliable, as is the case in m odern data centers, or peer-to-peer netw orks, redundancy through erasure coding can be introduced to of fer reliability against node failures. Howe ver , increased reliability does not come for free: the encoded representation needs to be main- tained posterior to node erasures. T o maintain the same redundancy when a storage node leav es the system, a new node has to join the array , access some existing nodes, and regenerate the contents of the departed node. This problem is kno wn as the Code Repair Pr oblem [3], [1]. The interest in the code repair problem, and specifically in designing repair optimal ( n, k ) erasure codes, stems from the fact that there exists a fundamental minimum repair bandwidth needed to re generate a lost node that is substantially less than the size of the encoded data object. MDS erasure storage codes ha ve generated par- ticular interest since they offer maximum reliability for a giv en storage capacity; such an example is the EvenOdd construction [2]. Howe ver , most practical solutions for storage use existing off-the-shelf erasure codes that are repair inefficient: a single node repair generates network traffic equal to the size of the entir e stored information. Designing repair optimal MDS codes, i.e., ones achiev- ing the minimum repair bandwidth bound that was deri ved in [3], seems to be challenging especially for high rates k n ≥ 1 2 . Recent works by Cadambe et al. [11] and Suh et al. [12] used the symbol extension IA technique of Cadambe et al. [4] to establish the existence, for all n , k , of asymptotically optimal MDS storage codes, that come ar- bitrarily close to the theoretic minimum repair bandwidth. Howe ver , these asymptotic schemes are impractical due to the arbitrarily lar ge file size and field size that they require. Explicit and practical designs for optimal MDS storage codes are constructed roughly for rates k n ≤ 1 2 [5]- [10], [13], and most of them are based upon the concept of interference alignment. Interestingly , as of now no explicit MDS storage code constructions exist with optimal repair properties for the high data rate re gime. 1 Our Contrib ution : In this work we introduce a new high-rate, explicit, ( k + 2 , k ) storage code ov er GF (3) . Our storage code exploits fundamental properties of Hadamard designs and perfect IA instances pronounced by the use of a lattice representation for the symbol extension IA of Cadambe et al. [4]. This representation giv es hints for coding structures that allow exact instead of asymptotic alignment. Our code exploits these structures and achieves perfect IA without requiring the file size or field size to scale to infinity . Any single systematic node failure can be repaired with bandwidth matching the theoretic minimum and any single parity node failure generates (at most) the same repair bandwidth as any systematic node repair . Our code has two parities but cannot tolerate any two failures: the form presented here can tolerate any single failure and any pair of failures that inv olves at most one 1 During the submission of this manuscript, two independent works appeared that constructed MDS codes of arbitrary rate that can optimally repair their systematic nodes, see [14], [15]. systematic node systematic data 1 f 1 . . . . . . k f k parity node parity data a A T 1 f 1 + . . . + A T k f k b B T 1 f 1 + . . . + B T k f k Fig. 1. A ( k + 2 , k ) C O DE D S TO R AG E A RR AY . systematic node failure 2 . Here, in contrast to MDS codes, slightly more than k , that is, k  1 + 1 2 k  , encoded pieces are required to reconstruct the file object. I I . D I S T R I B U T E D S T O R AG E C O D E S W I T H 2 P A R I T Y N O D E S In this section, we consider the code repair problem for storage codes with 2 parity nodes. Let a file of size M = k N denoted by the vector f ∈ F kN be partitioned in k parts f =  f T 1 . . . f T k  T , each of size N . 3 W e wish to store this file with rate k k +2 across k systematic and 2 parity storage units each having storage capacity M k = N . T o achieve this lev el of redundancy , the file is encoded using a ( k + 2 , k ) distributed storage code. The structure of the storage array is gi ven in Fig. 1, where A i and B i are N × N matrices of coding coef ficients used by the parity nodes a and b , respectively , to “mix” the contents of the i th file piece f i . Observe that the code is in systematic form: k nodes store the k parts of the file and each of the 2 parity nodes stores a linear combination of the k file pieces. T o maintain the same level of redundancy when a node fails or leaves the system, the code repair process has to take place to exactly restore the lost data in a newcomer storage component. Let for example a systematic node i ∈ { 1 , . . . , k } fail. Then, a newcomer joins the storage network, connects to the remaining k + 1 nodes, and has to download suf ficient data to reconstruct f i . Observe that the missing piece f i exists as a term of a linear combination only at each parity node, as seen in Fig. 1. T o regenerate it, the ne wcomer has to download from the parity nodes at least the size of what was lost, i.e., N linearly independent data elements. The downloaded contents from the parity nodes can be represented as a stack of N equations " p ( a ) i p ( b ) i # 4 =    A i V ( a ) i  T  B i V ( b ) i  T   f i | {z } useful data + k X j =1 ,j 6 = i    A j V ( a ) i  T  B j V ( b ) i  T   f j | {z } interference by f j (1) 2 Our latest w ork expands Hadamard designs to construct 2 -parity MDS codes that can optimally repair any systematic or parity node failure and m -parity MDS codes that can optimally repair any systematic node failure [16]. 3 F denotes the finite field ov er which all operations are performed. f 1 f 1 f 2 f 1 + f 2 V (1) 1 V (2) 1  A 1 V (2) 1  T f 1 +  A 2 V (2) 1  T f 2  V (1) 1  T f 1 +  V (1) 1  T f 2 basis   V (1) 1 A 2 V (2) 1  T  f 2 A T 1 f 1 + A T 2 f 2 Fig. 2. Repair of a (4 , 2) code. where p ( a ) i , p ( b ) i ∈ F N 2 are the equations downloaded from parity nodes a and b respectively . Here, V ( a ) i , V ( b ) i ∈ F N × N 2 denote the repair matrices used to mix the parity contents. 4 Retrieving f i from (II) is equiv alent to solving an underdetermined set of N equations in the k N un- knowns of f , with respect to only the N desired unknowns of f i . Howe ver , this is not possible due to the additiv e in- terfer ence components that corrupt the desired information in the recei ved equations. These terms are generated by the undesired unkno wns f j , j 6 = i , as noted in (II). Additional data need to be downloaded from the systematic nodes, which will “replicate” the interference terms and will be subtracted from the downloaded equations. T o erase a single interference term, a download of a basis of equations that generates the corresponding interference term, say "  A s V ( a ) i  T  B s V ( b ) i  T # f j , suffices. Eventually , when all undesired terms are subtracted, a full rank system of N equations in N unknowns "  A i V ( a ) i  T  B i V ( b ) i  T # f i has to be formed. Thus, it can be proven that the repair bandwidth to exactly regenerate systematic node i is gi ven by γ i = N + k X j =1 ,j 6 = i rank h A j V ( a ) i B j V ( b ) i i , where the sum rank term is the aggregate of interference dimensions. Interference alignment plays a key role since the lo wer the interference dimensions are, the less repair data need to be do wnloaded. W e would like to note that the theoretical minimum repair bandwidth of any node for optimal ( k + 2 , k ) MDS codes is e xactly ( k + 1) N 2 , i.e. half of the remaining contents; this corresponds to each interference spaces ha ving rank N 2 . This is also true for the systematic parts of non-MDS codes, as long as they hav e the same problem parameters that were discussed in the beginning of this section, and all the coding matrices hav e full rank N . An abstract example of a code repair instance for a (4 , 2) storage code is given in Fig. 2, where interference terms are marked in red. T o minimize the repair bandwidth γ i , we need to care- fully design both the storage code and the repair matrices. 4 Here, we consider that the newcomer downloads the same amount of information from both parities. In general this does not need to be the case. In the follo wing, we provide a 2 -parity code that achie ves optimal systematic and near optimal parity repair . I I I . A N E W S T O R AG E C O D E W e introduce a ( k + 2 , k ) storage storage code ov er GF (3) , for file sizes M = k 2 k , with coding matrices A i = I N , B i = X i , (2) where N = 2 k , X i = I 2 i − 1 ⊗ blkdiag  I N 2 i , − I N 2 i  , and i ∈ { 1 , . . . , k } . In Fig. 3, we giv e the coding matrices of the (5 , 3) version of the code. Theor em 1: The code in (2) has optimally repairable systematic nodes and its parity nodes can be repaired by generating as much repair bandwidth as a systematic repair does. It can tolerate any single node failure, and any pair of failures that contains at most one systematic f ailure. Moreov er, to reconstruct the file at most k + 1 2 coded blocks are required. In the follo wing, we present the tools that we use in our deriv ations. Then, in Sections V and VI we prove Theorem 1. I V . D O T S - O N - A - L A T T I C E A N D H A D A MA R D D E S I G N S Optimality during a systematic repair , requires inter- ference spaces collapsing down to the minimum of N 2 , out of the total N , dimensions. At the same time, useful data equations have to span N dimensions. For the con- structions presented here, we consider that the same repair matrix is used by both parities, i.e., V (1) i = V (2) i = V i . Hence, for the repair of systematic node i ∈ { 1 , . . . , k } we optimally require rank ([ V i X j V i ]) = N 2 , (3) for all j ∈ { 1 , . . . , k }\ i , and at the same time rank ([ V i X i V i ]) = N . (4) The key ingredient of our approach that ev entually pro- vides the abov e is Hadamard matrices. T o motiv ate our construction, we start by briefly dis- cussing the repair properties of the asymptotic coding schemes of [11], [12]. Consider a 2 -parity MDS storage code that requires file sizes M = k 2∆ k − 1 , i.e., N = 2∆ k − 1 . Its N × N diagonal coding matrices { X s } k s =1 hav e i.i.d. elements drawn uniformly at random from some arbitrarily lar ge finite field F . During the repair of a systematic node i ∈ { 1 , . . . , k } , the repair matrix V i that is used by both parity nodes to mix their contents, has as columns the N 2 = ∆ k − 1 elements of the set V i =    k Y s =1 ,s 6 = i X x s s w : x s ∈ { 0 , . . . , ∆ − 1 }    . (5) Then, we define a map L from vectors in the set n Q k s =1 X x s s w : x s ∈ Z o to points on the integer lattice 0 1 2 1 2 0 0 1 2 1 2 0 0 1 2 1 2 0 0 1 2 1 2 0 x 1 x 2 x 1 x 1 x 1 x 2 x 2 x 2 L ( X 1 V 3 ) ∪ L ( X 2 V 3 ) L ( X 2 V 3 ) L ( X 1 V 3 ) L ( V 3 ) Fig. 4. Here we hav e k = 3 , N 2 = 4 , and ∆ = 2 . Moreover , L ( V 3 ) = { (0 , 0 , 0) , (0 , 1 , 0) , (1 , 0 , 0) , (1 , 1 , 0) } , L ( X 1 V 3 ) = { (1 , 0 , 0) , (1 , 1 , 0) , (2 , 0 , 0) , (2 , 1 , 0) } , and L ( X 2 V 3 ) = { (0 , 1 , 0) , (0 , 2 , 0) , (1 , 1 , 0) , (1 , 2 , 0) } . Z k : Q k s =1 X x s s w L → P k s =1 x s e s , where e s is the s - th column of I k +1 . Now , consider the induced lattice representation of V i L ( V i ) 4 =    k X s =1 ,s 6 = i x s e s ; x s ∈ { 0 , . . . , ∆ − 1 }    . (6) Observe that the i -th dimension of the lattice where L ( V i ) lies on, indicates all possible exponents x i of X i . Then, the products X j V i , j 6 = i , and X i V i map to L ( X j V i ) = ( ( x j + 1) e j + k X s =1 ,s 6 = j x s e s ; x s ∈ { 0 , . . . , ∆ − 1 } ) and L ( X i V i ) = ( e i + k X i =1 ,s 6 = i x i e i ; x s ∈ { 0 , . . . , ∆ − 1 } ) , respectiv ely . In Fig. 2, we giv e an illustrati ve example for k = 3 , and ∆ = 2 . Remark 1: Observe ho w matrix multiplication of X i and elements of V i manifests itself through the dots-on-a- lattice representation: the product of X i with the elements of V i shifts the corresponding arrangement of dots along the x i -axis, i.e., the x i -coordinate of the initial points gets increased by one. Asymptotically optimal repair of node i is possible due to the fact that interference spaces asymptotically align rank ([ V i X j V i ]) N 2 = |L ( V i ) ∪ L ( X j V i ) | ∆ k − 1 = |L ( V i ) | + o (∆ k − 1 ) ∆ k − 1 ∆ →∞ − → 1 , (7) and useful spaces span N dimensions, that is, rank ([ V i X i V i ]) = |L ( V i ) ∪ L ( X i V i ) | = 2∆ k − 1 , with arbitrarily high probability for sufficiently large field sizes. The question that we answer here is the follo wing: How can we design the coding and the repair matrices such that i) exact interference alignment is possible and ii) the full X 1 = diag         1 1 1 1 − 1 − 1 − 1 − 1         , X 2 = diag         1 1 − 1 − 1 1 1 − 1 − 1         , X 3 = diag         1 − 1 1 − 1 1 − 1 1 − 1         Fig. 3. The coding matrices of a repair optimal (5 , 3) code ov er GF (3) . rank property is satisfied, for fixed in k file size and field size? W e first address the first part. W e want to design the code such that the space of the repair matrix is in variant to any transformation by matrices generating its columns, i.e., L ( X j V i ) = L ( V i ) . This is possible when L ( X j V i ) = ( ( x j + 1) e j + k X s =1 ,s 6 = j x s e s ; x s ∈ { 0 , . . . , ∆ − 1 } ) = ( x j e j + k X s =1 ,s 6 = j x s e s ; x s ∈ { 0 , . . . , ∆ − 1 } ) = L ( V i ) , that is, when the matrix powers “wrap around” upon reaching their modulus ∆ . This wrap-around property is obtained when the diagonal coding matrices have elements that are roots of unity . Lemma 1: For diagonal matrices, X 1 , . . . , X k , whose elements are ∆ -th roots of unity , i.e., X ∆ s = X 0 s , for all s ∈ { 1 , . . . , k } , we have that L ( X j V i ) = L ( V i ) , for all i ∈ { 1 , . . . , k }\ j . Howe ver , arbitrary diagonal matrices whose elements are roots of unity are not suf ficient to ensure the full rank property of the useful data repair space [ V i X i V i ] . In the following we prove that the full rank property along with perfect IA is guaranteed when we set N = 2 k , X i = I 2 i − 1 ⊗ blkdiag  I N 2 i , − I N 2 i  , and consider the set H N = ( k Y i =1 X x i i w : x i ∈ { 0 , 1 } ) . (8) Interestingly , there is a one-to-one correspondence be- tween the elements of H N and the columns of a Hadamard matrix. Lemma 2: Let an N × N Hadamard matrix of the Sylvester’ s construction H N 4 = " H N 2 H N 2 H N 2 − H N 2 # , (9) with H 1 = 1 . Then, H N is full-rank with mutually orthogonal columns, that are the N elements of H N . Moreov er, any two columns of H N differ in N 2 positions. The proof is omitted due to lack of space. T o illustrate the connection between H N and H N we “decompose” the Hadamard matrix of order 4 H 4 =  1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1  = [ w X 2 w X 1 w X 2 X 1 w ] , (10) X 1 X 3 X 2 X 4 I 16 I 16 I 16 I 16 I 16 I 16 I 16 I 16 V 1 X 1 X 3 X 2 X 4 I 16 I 16 I 16 I 16 β 2 β interference useful data X 1 V 1 X 2 V 1 X 3 V 1 X 4 V 1 V 1 Fig. 5. The coding matrices of our (6 , 4) code are given. W e illustrate the “absorbing” properties of the repair matrix for systematic node 1 . The column space of the repair matrices is in variant to the corresponding blue blocks. This results in interference spaces aligning in exactly half of the dimensions av ailable. where X 1 = diag  1 1 − 1 − 1  and X 2 = diag  1 − 1 1 − 1  . Due to the commutativity of X 1 and X 2 , the columns of H 4 are also the elements of H 4 = { w , X 1 w , X 2 w , X 1 X 2 w } . By using H N as our “base” set, we are able to ob- tain perfect alignment condition due to the wrap around property of it elements; the full rank condition will be also satisfied due to the mutual orthogonality of these elements. V . R E PA I R I N G S I N G L E N O D E F A I L U R E S A. Systematic Repairs Let systematic node i ∈ { 1 , . . . , k } fail. Then, we pick the columns of the repair matrix as a set of N 2 vectors whose lattice representation is inv ariant to all X j s but to one ke y matrix X i . W e specifically construct the N × N 2 repair matrix V i whose columns ha ve a one-to-one correspondence with the elements of the set V i =    k Y s =1 ,s 6 = i X x s s w : x s ∈ { 0 , 1 }    . (11) First, observe that V i is full column rank since it is a collection of N 2 distinct columns from H N . Then, we have the follo wing lemma. Lemma 3: For any i, j ∈ { 1 , 2 , . . . , k } , we hav e that rank ([ V i X j V i ]) = |L ( V i ) ∪ L ( X j V i ) | =  N , i = j N 2 , i 6 = j . (12) The abov e holds due to each element of H N being associated with a unique power tuple. Then, the columns of [ V i X i V i ] are exactly the elements of H N , since L ( V i ) ∪ L ( X i V i ) =    k X s =1 ,s 6 = i x i e i ; x i ∈ { 0 , 1 }    [    e i + k X s =1 ,s 6 = i x i e i ; x i ∈ { 0 , 1 }    = L ( H N ) . (13) Moreov er, the set of columns in V i are identical to the set of columns of X j V i , i.e., L ( V i ) = L ( X j V i ) , for j 6 = i , due to Lemmata 1 and 2. Therefore, the interference spaces span N 2 dimensions, which is the theoretic minimum, and the desired data space during any systematic node repair is full-rank, since it has as columns all columns of H N . Hence, we conclude that a single systematic node of the code can be repaired with bandwidth ( k + 1) N 2 = k +1 2 k M . In Fig. 4, we depict a (6 , 4) code of our construction, along with the illustration of the repair spaces. B. P arity r epairs Here, we prove that a single parity node repair gener - ates at most the repair bandwidth of a single systematic repair . Let parity node a fail. Then, observe that if the newcomer uses the N × N repair matrix V ( b ) a = X 1 to multiply the contents of parity node b , then it do wnloads X 1  P k i =1 X 1 f i  = f 1 + P k i =2 X 1 X i f i . Observe, that the component corresponding to systematic part f 1 appears the same in the linear combination stored at the lost parity . By Lemma 2, each of the remaining blocks, X 1 X i f i share exactly N 2 indices with equal elements to the same N 2 indices of X i f i which was lost, for any i ∈ { 2 , . . . , k } . This is due to the fact that the diagonal elements of matrices X 1 X i and X i are the elements of some two columns of H N . Therefore, the newcomer has to do wnload from systematic node j ∈ { 2 , . . . , k } , the N 2 entries that parity a ’ s component X j f j differs from the term X 1 X j f j of the do wnloaded linear combination. Hence, the first parity can be repaired with bandwidth at most N + ( k − 1) N 2 = ( k + 1) N 2 . 5 The repair of parity node b can be performed in the same manner . V I . E R A S U R E R E S I L I E N C Y Our code can tolerate any single node failure and any two failures with at most one of them being a systematic one. A double systematic and parity node failure can be treated by first reconstructing the lost systematic node from the remaining parity , and then reconstructing the lost parity from all the systematic nodes. Howe ver , two simultaneous systematic node failures cannot be tolerated. Consider for example the corresponding matrix when we 5 By “at most” we mean that this result is proved using an achievable scheme, ho wever , we do not prove that it is optimal. connect to nodes { 1 , . . . , k − 2 } and both parities:        I N . . . 0 N × N 0 N × N 0 N × N . . . . . . . . . 0 N × N . . . I N 0 N × N 0 N × N I N . . . I N I N I N X 1 . . . X k − 2 X k − 1 X k        f . (14) The rank of this k N × k N matrix is ( k − 1) N + N 2 due to the submatrix h I N I N X k − 1 X k i having rank 3 N 2 . For these cases, an extra download of N 2 equations is required to decode the file, i.e., an aggregate download of kN + N 2 equations, or k + 1 2 encoded pieces. R E F E R E N C E S [1] The Coding for Distributed Storage wiki http://tinyurl.com/storagecoding [2] M. Blaum, J. Brady , J. Bruck, and J. Menon, “EVENODD: An efficient scheme for tolerating double disk failures in raid architec- tures, ” in IEEE T rans. on Computers , 1995. [3] A. G. Dimakis, P . G. Godfrey , Y . W u, M. J. W ainwright, and K. Ramchandran, “Network coding for distributed storage systems, ” in IEEE Tr ans. on Inform. Theory , vol. 56, pp. 4539 – 4551, Sep. 2010. [4] V . R. Cadambe and S. A. Jafar , “Interference alignment and the degrees of freedom for the K user interference channel, ” IEEE T rans. on Inform. Theory , vol. 54, pp. 3425–3441, Aug. 2008. [5] Y . W u and A. G. Dimakis, “Reducing repair traffic for erasure coding-based storage via interference alignment, ” in Pr oc. IEEE Int. Symp. on Information Theory (ISIT) , Seoul, Korea, Jul. 2009. [6] D. Cullina, A. G. Dimakis, and T . Ho, “Searching for minimum storage regenerating codes, ” In Allerton Conf. on Contr ol, Comp., and Comm. , Urbana-Champaign, IL, September 2009. [7] K.V . Rashmi, N. B. Shah, P . V . Kumar, and K. Ramchandran “Exact regenerating codes for distributed storage, ” In Allerton Conf. on Contr ol, Comp., and Comm. , Urbana-Champaign, IL, September 2009. [8] N. B. Shah, K. V . Rashmi, P . V . Kumar , and K. Ramchandran, “Ex- plicit codes minimizing repair bandwidth for distributed storage, ” in Pr oc. IEEE ITW , Jan. 2010. [9] C. Suh and K. Ramchandran, “Exact regeneration codes for dis- tributed storage repair using interference alignment, ” in Pr oc. 2010 IEEE Int. Symp. on Inform. Theory (ISIT) , Seoul, Korea, Jun. 2010. [10] Y . W u. “ A construction of systematic MDS codes with minimum repair bandwidth, ” Submitted to IEEE T ransac- tions on Information Theory , Aug. 2009. Preprint av ailable at http://arxiv .org/abs/0910.2486. [11] V . Cadambe, S. Jafar, and H. Maleki, “Distributed data storage with minimum storage regenerating codes - exact and functional repair are asymptotically equally ef ficient, ” in 2010 IEEE Intern. W orkshop on Wir eless Network Coding (W iNC) , Apr 2010. [12] C. Suh and K. Ramchandran, “On the existence of optimal exact- repair MDS codes for distributed storage, ” Apr . 2010. Preprint av ailable online at http://arxiv .org/abs/1004.4663 [13] K. Rashmi, N. B. Shah, and P . V . Kumar, “Optimal exact- regenerating codes for distributed storage at the MSR and MBR points via a product-matrix construction, ” submitted to IEEE T ransactions on Information Theory , Preprint av ailable online at http://arxiv .org/pdf/1005.4178. [14] I. T amo, Z. W ang, and J. Bruck “MDS Array Codes with Op- timal Rebuilding, ” to appear at ISIT 2011 , preprint available at http://arxiv .org/abs/1103.3737 [15] V . R. Cadambe, C. Huang, and J. Li, “Permutation codes: optimal exact-repair of a single failed node in MDS code based distributed storage systems, ” to appear at ISIT 2011 , preprint av ailable at http://newport.eecs.uci.edu/ ∼ vcadambe/permutations.pdf [16] D. S. Papailiopoulos, A. G. Dimakis, and V . R. Cadambe, “Repair optimal erasure codes through hadamard designs, ” preprint avail- able at http://www-scf.usc.edu/ ∼ papailio/

Original Paper

Loading high-quality paper...

Comments & Academic Discussion

Loading comments...

Leave a Comment