Table Of ContentProgress on High-rate MSR Codes: Enabling
Arbitrary Number of Helper Nodes
Ankit Singh Rawat O. Ozan Koyluoglu Sriram Vishwanath
CS Department Department of ECE Department of ECE
Carnegie Mellon University The University of Arizona The University of Texas at Austin
Pittsburgh, PA 15213 Tucson, AZ 85721 Austin, TX 78712
Email: asrawat@andrew.cmu.edu. Email: ozan@email.arizona.edu. Email: sriram@austin.utexas.edu.
6
1
0 Abstract—This paper presents a construction for high-rate The codes achieving the MSR and the MBR points are
2 MDS codes that enable bandwidth-efficient repair of a single referredtoasminimumstorageregenerating(MSR)codesand
n node. Such MDS codes are also referred to as the minimum minimum bandwidth regenerating (MBR) codes, respectively.
a storage regenerating (MSR) codes in the distributed storage NotethattheMSRcodesarealsomaximum-distanceseparable
J literature. The construction presented in this paper generates
MSR codes for all possible number of helper nodes d as d is a (MDS) codes [3].
4
designparameterintheconstruction.Furthermore,theobtained In [2], Dimakis et al. also show the existence of the codes
2
MSR codes have polynomial sub-packetization (a.k.a. node size) that achieve every point on the α vs. dβ trade-off for all
α. The construction is built on the recent code proposed by
] possiblesystemparametersn,k,dtoensurefunctionalrepair.
T Sasidharan et al. [1], which works only for d = n− 1, i.e.,
Under the functional repair, the content of the repaired node
I where all the remaining nodes serve as the helper nodes for the
. bandwidth-efficient repair of a single node. The results of this maydifferfromthatofthe failednode.However,the repaired
s
c paper broaden the set of parameters where the constructions of nodedoesensure the ‘anyk outof n’ propertyof the system.
[ MSR codes were known earlier. Sometimes, due to various system level requirements, it is
Index Terms—Codes for distributed storage, regenerating
desirable to construct regenerating codes that ensure exact
1 codes, minimum storage regenerating (MSR) codes, sub-
v packetization. repairofthe failednode,i.e.,the contentofthe repairednode
2 isthesameasthecontentofthefailednode.In[4],Rashmiet
6 I. INTRODUCTION al.settletheproblemofdesigningexactrepairableMBRcodes
3 Consider a distributed storage system with n storage nodes (exact-MBRcodes)astheyproposeanexplicitconstructionof
6
which stores a file of size M symbols over a finite field. The such codes for all possible system parameters n,k and d.
0
. distributed storage system (DSS) is referred to be an (n,k)- On the other hand, the problem of constructing the exact-
1
DSSifithas‘anyk outofn’property,i.e.,thecontentofany MSRcodeshasnotbeenfullyunderstoodyet.Theexact-MSR
0
6 k out of n storage nodes is sufficient to reconstructthe entire codeswith k <3 and k ≤ n2 are presentedin [5] and [6], [7],
1 file. In [2], Dimakis et al. explore the issue of node repair respectively.In[4],Rashmietal.presentexplicitconstructions
: in an (n,k)-DSS. In particular, they study (n,k)-DSS which for exact-MSR codes with 2k−2 ≤ d ≤ n−1. In general,
v
i allowfortherepairofasinglefailednodebycontactingdout all of these constructions correspond to exact-MSR codes of
X ofn−1remainingstoragenodesanddownloadingβ symbols low rate with k ≤ 1 + 1 . In [8], Cadambe et al. show the
n 2 2n
r from each of these d helper nodes. Assuming that each node existenceofhigh-rateexactMSRcodeswhennodesizeα(also
a
in thesystemstoresαsymbols(overthefinite field),Dimakis referred to as sub-packetization level) approaches to infinity.
et al. obtain a trade-off between the node size α and repair Towards constructing high-rate exact-MSR codes with finite
bandwidth γ = dβ, the amount of data downloaded during sub-packetizationlevel,Papailiopoulosetal.utilizeHadamard
the repair process. The codes that attain this trade-off are matrices to construct exact-MSR codes with n − k = 2
referred to as regenerating codes. The two extreme points of and d = n − 1 in [9]. Using permutation-matrices exact-
thistrade-offcorrespondtotheminimumpossiblestorageand MSR codes for all (n,k) pairs with d = n − 1 which
the minimum possible repair-bandwidth for an (n,k)-DSS. only ensure repair bandwidth-efficient repair of systematic
Thesetwopointsaretermedasminimumstorageregenerating nodes are presented in [10] and [11]. In [12], Wang et al.
(MSR) point and minimum bandwidth regenerating (MBR) generalize these constructions to enable repair of all nodes
point, respectively. The MSR point corresponds to with d=n−1 helper nodes. However, we note that the sub-
M d M packetizationlevelαoftheconstructionspresentedin[9]–[12]
(α ,β )= , . is exponential in k.
MSR MSR k d−k+1 k
(cid:18) (cid:19) Recently, Sasidharan et al. have presented a construction
The MBR point is defined by
of a constant (high) rate MSR codes with polynomial sub-
2d M 2 M packetizationin[1].Thisconstructionenablesrepairofallthe
(α ,β )= , .
MBR MBR 2d−k+1 k (2d−k+1) k nodes in the system and works for d=n−1, i.e., all the re-
(cid:18) (cid:19)
mainingn−1nodeshastobecontactedtorepairasinglefailed Note that the matrix H(:,S) comprises those coefficients in
node.Theconstructionwithpolynomialsub-packetizationand the linear constraints defined by the parity-check matrix H
enablingrepairof onlysystematic nodesare also presented in that are associated with the vector code symbols indexed by
[13],[14].Asfortheconverseresults,Goparajuetal.establish the set S.
a lower boundonthe sub-packetizationlevelof an MSRcode
III. CODE CONSTRUCTION
with given n and k in [15].
In this paper, we present a construction for exact-MSR Inwhatfollows,weuseΣtorepresentalinearcombination
codes that allow for any given number of helper nodes, i.e., whosecoefficientsarenotspecifiedexplicitly.Forexample,for
k ≤ d ≤ n−1. In addition to working for an arbitrary (but a1,a2,...,ar ∈FQ, ri=1ai denotesalinearcombinationof
fixed) d, our construction possesses the desirable properties these r elements where unspecified coefficients of the linear
PF
of having polynomial sub-packetization level for a constant combination belong to Q. For an integer q > 0, we use [q]
rate and enabling repair-bandwidth efficient repair of all the and[0:q−1]todenotethesets{1,2,...,q}and{0,1,...,q−
nodes in the system. We obtain this construction by suitably 1}, respectively.
modifyingtheconstructionofSasidharanetal.[1].Therestof Assume that n = (t−1)(d−k +1)+s, for t > 1 and
the paper is organized as follows. We introduce the notation 0≤s≤d−k. We take
and necessary background in Section II. In Section III, we
(d−k+1)t−1 =qt−1 if s=0
present our code construction. In Section IV, we describe the α= (1)
node repair process for the proposed code construction. We ((d−k+1)t =qt otherwise.
establish the MDS property (a.k.a. ‘any k out of n’ property) Notethatweuseq todenoted−k+1.Moreover,ascompared
for the construction in Section V. We conclude the paper in to [1], we describe the construction for the wider range of
Section VI. parameterswhich correspondsto s>0. Therefore,for s>0,
wehaveα=(d−k+1)t =qt.Forthesevaluesofparameters,
II. PRELIMINARIES
at the MSR point, a node repair step involves downloading
Let denotethe standard indicatorfunctionwhich takes
the val1u{e·}1 if the condition stated in {·} is true and takes the β = α =(d−k+1)t−1 =qt−1
d−k+1
value 0 otherwise. For two nα-length vectors x and y, we
defined the Hamming distance between them as follows. symbols from each of the d contacted nodes. Let n = (t−
1)q+s nodes be indexed by tuples
n
dH(x,y)= 1{xi6=yi}, N={(i,θ): (i,θ)∈[t−1]×[0:q−1]} ∪
i=1
X {(t,θ): θ ∈[0:s−1]}. (2)
where for i ∈ [n], we have x = (x ,...,x )
i (i−1)α+1 iα
and y = (y ,...,y ). We say that a set of vec- Notethateachnodeinthesystemstoresα=qt codesymbols.
i (i−1)α+1 iα
tors C ⊆ FnQα is an (n,M,dmin,α)Q vector code if we Let {c((x1,x2,...,xt);(i,θ))}(x1,...,xt)∈[0:q−1]t representthe
have |C| = M and dmin = minx,y∈CdH(x,y). Given qt code symbols stored on the (i,θ)-th node. In order to
a codeword c = (c ,c ,...,c ) ∈ C, we use c = specify the MSR code C, we specify (n−k)α = (n−k)qt
1 2 nα i
(c ,c ,...,c )todenotethei-thvector(code) linear constraints over F that each codeword in C has to
(i−1)α+1 (i−1)α+2 iα Q
symbol in the codeword. When the code C spans a linear satisfy. We partition these (n−k)α constraintsinto two types
subspaceofdimensionlog M,wecallCtobealinearvector of constraints which we refer to as Type I and Type II
Q
code and refer to it as an [n,log M,d ,α] vector code. constraints, respectively.
Q min Q
Note that an [n,kα,d ,α] vector code can be defined by TypeI constraints:Foreach(x ,...,x )∈[0:q−1]t,we
min Q 1 t
a parity-check matrix have n−d constraints of the following form.
H H ··· H c((x ,...,x );(1,θ))+
1,1 1,2 1,n 1 t
H= H2...,1 H2...,2 ·.·.·. H2...,n ∈F(Qn−k)α×nα, θ∈[X0:q−1]c((x1,...,xt);(2,θ))+···+
θ∈[X0:q−1]
Hn−k,1 Hn−k,2 ··· Hn−k,n c((x1,...,xt);(t−1,θ))+
whereeach H is an α×α matrix with itsentriesbelonging
to FQ. For a is,ejt S = {i1,i2,...,i|S|} ⊆ [n], we define the θ∈[X0:q−1]c((x ,...,x );(t,θ))=0. (3)
(n−k)α×|S|α matrix H(:,S) as follows. 1 t
θ∈[X0:s−1]
H H ··· H
1,i1 1,i2 1,i|S| The coefficientsof these constraintsare chosen in such a way
H(:,S)= H2...,i1 H2...,i2 ·.·.·. H2,...i|S| . Gthiavtetnheafnoyllosuwbisnegthooflddscfoordeeascyhm(bxo1l,sx2o,u.t.o.f,xnt)c∈od[e0s:yqm−b1o]lts.
{c((x1,x2,...,xt);(i,θ)}(i,θ))∈N, the remaining n−d code
Hn−k,i1 Hn−k,i2 ··· Hn−k,i|S| symbols can be recovered using these Type I constraints.
Type II constraints:We now describedthe remaining(n− that for a tuple (x ,...,x ,θ ,x ,...,x ) ∈ [0 : q−1]t
1 i−1 0 i+1 t
k)α−(n−d)α=(d−k)α=(d−k)qt constraints satisfied and a non-zerointeger∆∈[q−1], the correspondingType II
by the codewords. For every (x ,x ,...,x ) ∈ [0 : q −1]t constraint is as follows:
1 2 t
and ∆∈[1:q−1], we have
c((x −∆,...,x ,θ ,x ,...,x );(1,x ))+···+
1 i−1 0 i+1 t 1
c((x −∆,x ,...,x );(1,x ))+
1 2 t 1 c((x ,...,x −∆,θ ,x ,...x );(i−1,x ))+
1 i−1 0 i+1 t i−1
c((x ,x −∆,...,x );(2,x ))+···+
1 2 t 2 c((x ,...,x ,θ −∆,x ,...,x );(i,θ ))+
1 i−1 0 i+1 t 0
c((x ,...,x −∆,x );(t−1,x ))+
1 t−1 t t−1 c((x ,...,x ,θ ,x −∆,...,x );(i+1,x ))+···+
1 i−1 0 i+1 t i+1
c((x ,x ,...,x −∆);(t,x ))+
1 2 t t c((x ,...,x ,θ ,x ,...,x −∆);(t,x ))+
1 i−1 0 i+1 t t
c((x ,...,x );(1,θ))+
1 t c((x ,...,x ,θ ,x ,...,x );(1,θ))+
1 i−1 0 i+1 t
θ∈[X0:q−1]
(cid:16)θ∈[X0:q−1]
c((x ,...,x );(2,θ))+···+
1 t c((x ,...,x ,θ ,x ,...,x );(2,θ))+···+
1 i−1 0 i+1 t
θ∈[X0:q−1]
θ∈[X0:q−1]
c((x ,...,x );(t−1,θ))+
1 t
c((x ,...,x ,θ ,x ,...,x );(t,θ)) =0. (6)
1 i−1 0 i+1 t
θ∈[X0:q−1]
θ∈[X0:q−1] (cid:17)
c((x ,...,x );(t,θ))=0. (4)
1 t
Note that except the underlined code symbol we know every
θ∈[X0:s−1]
other code symbol involved in (6) (cf. (5)). Therefore, using
Here, the computation x − ∆, for i ∈ [t], is per-
i theconstraintsin(6),wecancompletethesecondstageofthe
formed modulo q. Furthermore, the underlined code symbols
repairprocesswhich recoversthe remaining(q−1)qt−1 code
c((x ,x ,...,x −∆);(t,x )) correspond to 0 for x ≥s as
1 2 t t t symbols from the failed node.
there is no node which is indexed by the tuple (t,x ) with
t
x ≥s.
t V. MDS PROPERTY OF THECODE
Remark 1. One key difference from the construction in [1] is
that for each tuple (x ,...,x ) ∈ [0 : q −1]t, we generate In this section, we prove that it is possible to obtain the
1 t
n−d Type I constraints. In [1], only 1 such constraint was codes from the construction described in Section III that are
generated as the case of d = n − 1 was considered. The maximum-distance separable (MDS). In particular, we argue
coefficients of these constraints need to be carefully chosen that if the coding coefficients in the construction are selected
to ensurethe requirementsspecified after (3). We addressthis from a finite field of large enough size, then there exists a
issue in Remark 2. choiceforcodingcoefficientswhichleadtothe obtainedcode
being an MDS code. (We note that the argumentpresented in
IV. RECOVERING AFAILED NODE this section followsvery closely to the argumentused in [1].)
Assume that the node indexed by the tuple (i,θ ) fails. Recall that for a code C defined in Section III, we can
0
We now describe the repair process of the failed node. represent a codeword in the code C by an nα-length vector
The repair process can be viewed to have two stages. In in FnQα. In particular, let c = (c1,c2,...,cn) be a generic
the first stage, we use the Type I constraints to recover codeword from the code C. Here, for each j ∈ [n], cj ∈ FαQ
β = α = qt−1 out of α = qt code symbols that represent the code symbols stored on the i-th node in the
d−k+1
are lost due to the node failure. Towards this, from each of system.Assumingthatthenodeindexedbythetuple(i,θ)rep-
the d contacted nodes, we download the code symbols in- resents the ((i−1)q+θ+1)-th node in the system, we have
dexed by the tuples {(x1,...,xi−1,θ0,xi+1,...,xt)}, where c(i−1)q+θ+1 ={c((x1,x2,...,xt);(i,θ))}(x1,...,xt)∈[0:q−1]t.
(x1,...,xi−1,xi+1,...,xt) span over all values in [0 : q − Let H ∈ F(Qn−k)α×nα be the parity check matrix of the
1]t−1fromeachofthedcontactednodes.Thesesymbolsalong code C defined by the Type I and Type II linear constraints
with the Type I constraints (cf. (3)) allow us to recover the presentedin(3)and(4),respectively.Notethatitfollowsfrom
symbols the code construction that the parity check matrix H has the
following structure.
c((x ,...,x ,θ ,x ,...,x );(i,θ)), (5)
1 i−1 0 i+1 t
for every (x ,...,x ,x ,...,x ) ∈ [0 : q −1]t−1 and HI
1 i−1 i+1 t H= . (7)
(i,θ)∈N. HII !
Itisclearfrom(5)thatafterthefirststagewehaveaccessto
β =qt−1codesymbolsstoredonthefailednodeaswellasthe Here,HI isan(n−d)α×nαmatrixoverF whichisdefined
Q
β symbolsstoredontheremainingn−1nodes.Inthe second by the (n−d)α=(n−d)qt Type I constraints (cf. (3)). On
stage, we employ the Type II constraints (cf. (4)) to recover the other hand, the (d−k)α=(d−k)qt Type II constraints
the remaining (d−k)β =(q−1)qt−1 symbols stored on the (cf.(4)) constitutethe(d−k)α×nα matrixHII overF .We
Q
failed node, i.e., the node indexed by the tuple (i,θ ). Recall now focus on the structure of the two matrices HI and HII.
0
Note that With all the components of the parity check matrix defined,
we can represent the parity check matrix H as sum of two
HI
1 (n−k)α×nα matrix as follows.
HI
HI = .2 (8) HI
.. H= =J+E. (14)
HII !
HI
n−d
Here J ∈ F(n−k)α×nα and E ∈ F(n−k)α×nα denote the
where, for i∈[n−d], the matrix HI ∈Fα×nα is obtainedby Q Q
i Q following matrices.
takingoneofthen−dType Iconstraintsassociatedwitheach
of the qt values for the tuple (x1,x2,...,xt) ∈ [0 : q−1]t JI(1) JI(2) ··· JI(n)
1 1 1
(cf. (3)). Similarly, we have
J2I(1) J2I(2) ··· J2I(n)
H1II ... ... ... ...
HII = H..2II , (9) J= JnI−d(1) JnI−d(2) ··· JnI−d(n) , (15)
. JII(1) JII(2) ··· JII(n)
1 1 1
HII JII(1) JII(2) ··· JII(n)
d−k 2 2 2
where, for i∈[d−k], the matrix HII∈Fα×nα is defined by ... ... ... ...
i Q
one of the d−k Type II constraints corresponding to each JII (1) JII (2) ··· JII (n)
of the qt values for the tuple (x ,x ,...,x ) ∈ [0 : q−1]t d−k d−k d−k
1 2 t
(cf. (4)). Recall that for a tuple (x1,x2,...,xt)∈[0:q−1]t, 0α 0α ··· 0α
the d−k Type II constraints correspondingto the tuple are 0α 0α ··· 0α
associatedwiththed−kvaluesoftheparameter∆∈[1:q−1] ... ... ... ...
(cf. (4)). Exploring the structure of the parity check matrix
further, we note that for every i∈[n−d], the α×nα matrix 0α 0α ··· 0α
HiI isablockmatrixconsistingofnblockswhereeachblocks E= EII(1) EII(2) ··· EII(n) . (16)
isanα×αdiagonalmatrixoverFQ.Inparticular,let’sdenote 1 1 1
EII(1) EII(2) ··· EII(n)
it as 2 2 2
... ... ... ...
HI = JI(1) JI(2) ... JI(n) , (10)
i i i i
EII (1) EII (2) ··· EII (n)
(cid:16) (cid:17) d−k d−k d−k
where JI(j) ∈ Fα×α is a diagonal matrix with all of
i Q Note that, we use 0 to represent the α×α all zero matrix.
its diagonal entries being non-zero. On the other hand, for α
We now specify the non-zero entries in both the matrices J
i ∈ [d−k], the α×nα matrix HII is also a block matrix
i and E. Let H be an (n−k)×n Cauchy matrix,
which can be written in the following form. MDS
HiII = HiII(1) HiII(2) ... HiII(n) , (11) a1−1b1 a1−1b2 ··· a1−1bn
1 1 ··· 1
where HiII(j) =(cid:16) JiII(j)+EiII(j) ∈ FQα×α. In thi(cid:17)s sum, the HMDS = a2−...b1 a2−...b2 ... a2−...bn , (17)
matrix JII(j) ∈ Fα×α is a diagonal matrix with all of its
diagonalientriesbeinQgnon-zero.Ontheotherhand,thesecond 1 1 ··· 1
an−k−b1 an−k−b2 an−k−bn
matrix in the sum EII(j) ∈ Fα×α has at most 1 non-zero
i Q where {a ,a ,...,a ,b ,b ,...,b } are 2n − k distinct
elementin each of its row.In particular,for everyi∈[d−k], 1 2 n−k 1 2 n
elements from the field F . Assuming that I denotes the
the block matrix Q α
α×α identity matrix, we define the matrix J (cf. (15)) as
EII(1) EII(2) ... EII(n) (12) follows.
i i i
has exactly t(cid:16)non-zero elements in each of its (cid:17)row. Here, we J=HMDS ⊗Iα, (18)
note that the matrix EII containscoefficientsof the following
i where⊗denotestheKroneckerproductbetweentwomatrices.
part of those α=qt Type II constraints which correspond to
As for non-zero elements in the matrix E, we set all of its
a fixed value of the parameter ∆∈[d−k] (cf. (4)).
non-zeroelements to be an indeterminate ρ∈F∗. In order to
Q
c((x −∆,x ,...,x );(1,x ))+···+ make it more clear, we denote the obtained matrix as Eρ and
1 2 t 1
accordingly the parity-check matrix defined in (14) becomes
c((x ,...,x −∆,x );(t−1,x ))+
1 t−1 t t−1
c((x ,x ,...,x −∆);(t,x )). (13) H=J+Eρ =H ⊗I +Eρ. (19)
1 2 t t MDS α
Next, we show that for large enough Q, there exists a choice ρ. Now consider the polynomial
forρwhichmakesthecodedefinedbytheparitycheckmatrix
H an MDS code. However, before showing this, we argue h(ρ)= det(H(:,S))= fS(ρ).
that our choice of the matrix J meets the requirement for S⊆[n]:Y|S|=n−k S⊆[n]:Y|S|=n−k
the Type I constraints. This requirementstates that for every Here, h(ρ) is a non-trivial polynomial in ρ as it is a product
(x1,...,xt)∈[0:q−1]t,givenanysubsetofdcodesymbols of non-trivialpolynomials fS(ρ) S. Furthermore,the degree
outof n codesymbols{c((x1,x2,...,xt);(i,θ))}(i,θ)∈N, the of h(ρ) is boundedby n (n−k)α. Therefore,for Q large
remaining n − d code symbols can be recovered using the enough,there exists a vanl−ue(cid:8)kof ρ,(cid:9)say ρ∗ such thath(ρ∗)6=0.
corresponding Type I constraints (cf. (3)). This requirement Combining this with Pr(cid:0)opos(cid:1)ition 1, we obtain that the vector
indeed holds as for a tuple (x1,...,xt) ∈ [0 : q − 1]t, code defined by the parity check matrix H = J+Eρ∗ is an
the coefficients associated with its Type I constraints are the MDS vector code.
elements of the following (n−d)×n sub-matrix of H .
MDS
VI. CONCLUSION
a1−1b1 a1−1b2 ··· a1−1bn For a given rate, we present a construction for MSR codes
1 1 ··· 1 that allows for bandwidth-efficient repair of a single node
HMI DS = a2−...b1 a2−...b2 ... a2−...bn . failure with arbitrary (but fixed) number of helper nodes d.
In addition, for the constant rate, the code has a polynomial
1 1 ··· 1 sub-packetization(a.k.a.nodesize)α.However,inthepresent
an−d−b1 an−d−b2 an−d−bn
form the construction suffers from a large field size Q. Note
Since any(n−d)×(n−d) sub-matrixof HI is full-rank, thattherequirementonthefieldsizeemergesfromtherequire-
MDS
given any subset of d code symbols out of n code symbols ment that the code should be an MDS code (cf. Section V).
{c((x1,x2,...,xt);(i,θ))}(i,θ)∈N, the remaining n−d code It is an important question to resolve if the code construction
symbols can indeed be recovered. with similar system parameters n,k,d and polynomial sub-
packetization can be achieved for a smaller field size. In
Remark 2. Note that each tuple (x ,...,x ) ∈ [0 : q −1]t
1 t particular,the lower bound on the field size for an MSR code
has only 1 associated Type I constraint in [1]. Therefore the
is investigated in [16], and the results presented here form an
requirement on HI reduces to having all of its elements
MDS upper bound.
non-zero. On the other hand for d6=n−1 case, we have an
additional requirementthat any (n−d)×(n−d) sub-matrix REFERENCES
of HI is full-rank.
MDS
[1] B.Sasidharan,G.K.Agarwal,andP.V.Kumar. Ahigh-rateMSRcode
In order to show that for a suitable choice for the value of withpolynomialsub-packetization level. CoRR,abs/1501.06662, 2015.
the indeterminateρ the code C defined by the matrix H gives [2] A.G.Dimakis,P.Godfrey,Y.Wu,M.Wainwright,andK.Ramchandran.
Networkcodingfordistributedstoragesystems.IEEETrans.Inf.Theory,
an MDS code, we utilize the following standard result.
56(9):4539–4551, 2010.
[3] F.J.MacWilliamsandN.J.A.Sloane. TheTheoryofError-Correcting
Proposition 1. Let C ∈ FQnα be a linear vector code Codes. Amsterdam:North-Holland, 1983.
(over F ) defined by the block parity check matrix H ∈ [4] K. Rashmi, N. Shah, and P.Kumar. Optimal exact-regenerating codes
Q
F(n−k)α×nα.ThecodeCisanMDScodeiffforeveryS⊂[n] fordistributedstorageattheMSRandMBRpointsviaaproduct-matrix
Q construction. IEEETrans.Inf.Theory,57:5227–5239, 2011.
such that |S| = n−k, the (n−k)α×(n−k)α sub-matrix [5] Y. WuandA. G. Dimakis. Reducing repair traffic forerasure coding-
H(:,S) associated with the vector symbols indexed by the set based storage via interference alignment. In Proc. of 2009 IEEE
S is full rank. International Symposium on Information Theory (ISIT), pages 2276–
2280,2009.
Theorem 1. Let F be a finite field of large enough size. [6] N.B.Shah,K.V.Rashmi,P.V.Kumar,andK.Ramchandran. Explicit
Q codes minimizing repair bandwidth fordistributed storage. InProc.of
Then, there exists a choice for the indeterminate ρ such that 2010IEEEInformation TheoryWorkshop(ITW),pages 1–5,2010.
the [n,kα,d ,α] vector code defined by the matrix H = [7] C. Suh and K. Ramchandran. Exact-repair MDS codes for distributed
min Q
storage using interference alignment. In Proc. of 2010 IEEE Interna-
H ⊗I +Eρ(cf.(19))isanMDSvectorcode,i.e.,d =
MDS α min tionalSymposium onInformation Theory(ISIT),pages161–165,2010.
n−k+1. [8] V. R. Cadambe, S. A.Jafar, H. Maleki, K. Ramchandran, and C. Suh.
Asymptoticinterference alignment foroptimal repairofMDScodesin
Proof: Let S ⊆ [n] be a set such that |S| = n − k. distributed storage. IEEETrans.Inf.Theory,59(5):2974–2987, 2013.
We consider the determinant of the matrix H(:,S). Note that [9] D. Papailiopoulos, A. G. Dimakis, and V. Cadambe. Repair optimal
erasure codes through hadamard designs. IEEE Trans. Inf. Theory,
det(H(:,S)) is a polynomial of the indeterminate ρ. Let’s
59(5):3021–3037, 2013.
denote the polynomial by fS(ρ). We have, [10] V.R.Cadambe,C.Huang,andJ.Li. Permutationcode:Optimalexact-
repair of a single failed node in MDS code based distributed storage
fS(ρ=0)=det(J(:,S)+Eρ=0(:,S))=det(J(:,S))6=0, sTyhsetoemrys.(IISnITP)r,opca.goefs20112125IE–1E2E29In,t2e0rn1a1t.ionalSymposiumonInformation
[11] I.Tamo,Z.Wang,andJ.Bruck. Zigzagcodes:MDSarraycodes with
where the last inequality follows as J = H ⊗I is a optimalrebuilding. IEEETrans.Inf.Theory,59(3):1597–1616, 2013.
MDS α
[12] Z.Wang,I.Tamo,andJ.Bruck.Oncodesforoptimalrebuildingaccess.
parity check matrix of an MDS vector code. This establishes
In Proc. of the 49th Annual Allerton Conference on Communication,
thatfS(ρ) is a non-trivial(notidenticallyzero) polynomialof Control,andComputing (Allerton), pages1374–1381, 2011.
[13] Z. Wang, I. Tamo, and J. Bruck. Long MDS codes for optimal
repair bandwidth. In Proc. of 2012 IEEE International Symposium on
Information Theory(ISIT),pages1182–1186, 2012.
[14] V. R. Cadambe, C. Huang, J. Li, and S. Mehrotra. Polynomial length
MDS codes with optimal repair in distributed storage. In Proc. of
Forty Fifth Asilomar Conference onSignals, Systems and Computers
(ASILOMAR),pages1850–1854, 2011.
[15] S. Goparaju, I. Tamo, and R. Calderbank. An improved sub-
packetization bound for minimum storage regenerating codes. IEEE
Trans.onInf.Theory,60(5):2770–2779, May2014.
[16] V. Cadambe and A. Mazumdar. Alphabet-size dependent bounds for
exact repair indistributed storage. InProc. of2015 IEEEInformation
TheoryWorkshop(ITW),2015.