A Systematic Construction of MDS Codes With Small Sub-packetization Level and Near-Optimal Repair Bandwidth
Jie Li, Yi Liu, and Xiaohu Tang

TL;DR
This paper introduces a transformation technique to construct high-rate MDS codes with small sub-packetization levels and near-optimal repair bandwidth, making them more practical for real-world systems.
Contribution
It presents a novel transformation that reduces sub-packetization levels of MDS codes while maintaining near-optimal repair bandwidth, along with explicit code constructions.
Findings
Four high-rate MDS codes with small sub-packetization and near-optimal repair bandwidth are constructed.
Three of the codes are explicit with small field sizes, making implementation feasible.
An additional explicit MDS code is proposed with a smaller finite field requirement.
Abstract
In the literature, all the known high-rate MDS codes with the optimal repair bandwidth possess a significantly large sub-packetization level, which may prevent the codes to be implemented in practical systems. To build MDS codes with small sub-packetization level, existing constructions and theoretical bounds imply that one may sacrifice the optimality of the repair bandwidth. Partly motivated by the work of Tamo et al. (IEEE Trans. Inform. Theory, 59(3), 1597-1616, 2013), in this paper, we present a transformation that can greatly reduce the sub-packetization level of MDS codes with the optimal repair bandwidth with respect to the same code length n. As applications of the transformation, four high-rate MDS codes having both small sub-packetization level and near-optimal repair bandwidth can be obtained, where three of them are explicit and the required field sizes are around or even…
| 0 | 1 | 2 | * | 0 | 1 | 2 | * | ||
| (A) | |||||||||
| Sub-packetization | Field size | The ratio of repair bandwidth | Remark | References | |
| level | to the optimal value | ||||
| The new MDS code | , | Optimal update | Thms 3-5 | ||
| The new MDS code | Optimal update | Thms 15, 16 | |||
| The RTGE code 2 | [23] | ||||
| The YB code 1 | (Optimal) | Optimal update | [12] | ||
| The new MDS code | Thm 7 | ||||
| The new MDS code | Thm 8 | ||||
| The improved YB code 2 | (Optimal) | [15] | |||
| Shortened duplication-zigzag | [3] | ||||
| The new MDS code | Implicit when | Thms 11, 12 | |||
| The RTGE code 1 | [23] | ||||
| Long code | (Optimal) | Implicit when | Thms 9, 10 |
| Code length | Number of | Sub-packetization | Field size | ||
|---|---|---|---|---|---|
| parties | level | ||||
| The new MDS code | |||||
| The RTGE code 1 | |||||
| Code length | Number of | Sub-packetization | Field size | Remark | ||
|---|---|---|---|---|---|---|
| parties | level | |||||
| The new MDS code | Implicit construction | |||||
| The RTGE code 1 | ||||||
| Code length | Number of | Sub-packetization | Field size | Remark | ||
|---|---|---|---|---|---|---|
| parties | level | |||||
| The new MDS code | Implicit construction | |||||
| The RTGE code 1 | ||||||
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
A Systematic Construction of MDS Codes
With Small Sub-packetization Level and
Near-Optimal Repair Bandwidth
Jie Li, Yi Liu, and Xiaohu Tang
The work of J. Li was supported in part by the National Science Foundation of China under Grant 61801176. The work of Y. Liu and X. Tang was supported in part by the National Natural Science Foundation of China under Grant 61871331 and Grant 61941106. This paper was presented in part at the 2019 IEEE International Symposium on Information Theory.J. Li is with the Department of Mathematics and Systems Analysis, Aalto University, FI-00076 Aalto, Finland, and also with the Hubei Key Laboratory of Applied Mathematics, Faculty of Mathematics and Statistics, Hubei University, Wuhan 430062, China (e-mail: [email protected], [email protected]).Y. Liu and X. Tang are with the Information Security and National Computing Grid Laboratory, Southwest Jiaotong University, Chengdu, 610031, China (e-mail: [email protected]; [email protected]).
Abstract
In the literature, all the known high-rate MDS codes with the optimal repair bandwidth possess a significantly large sub-packetization level, which may prevent the codes to be implemented in practical systems. To build MDS codes with small sub-packetization level, existing constructions and theoretical bounds imply that one may sacrifice the optimality of the repair bandwidth. Partly motivated by the work of Tamo et al. (IEEE Trans. Inform. Theory, 59(3), 1597-1616, 2013), in this paper, we present a transformation that can greatly reduce the sub-packetization level of MDS codes with the optimal repair bandwidth with respect to the same code length . As applications of the transformation, four high-rate MDS codes having both small sub-packetization level and near-optimal repair bandwidth can be obtained, where three of them are explicit and the required field sizes are around or even smaller than the code length . Additionally, we propose another explicit MDS code which has a similar structure as that of the first resultant code obtained by the generic transformation, but can be built on a smaller finite field.
Index Terms:
Distributed storage, high-rate, MDS codes, sub-packetization, repair bandwidth.
I Introduction
In distributed storage systems such as Hadoop Distributed File System (HDFS) and Google File System (GFS), redundancy is imperative to ensure reliability. An attractive solution is to call upon the maximum distance separable (MDS) codes, which provide the optimal tradeoff between fault tolerance and storage overhead. By distributing the codeword across distinct storage nodes, in the case of node failures, the missing data can be recovered from the data at some surviving nodes, named helper nodes as well. For this scenario, one of the most important parameters is the repair bandwidth, which is defined as the amount of data downloaded from the helper nodes to repair the failed node. Particularly, Dimakis et al. [1] derived a lower bound on the repair bandwidth of MDS codes, which motivated abundant recent research in coding for distributed storage [16, 11, 2, 7, 4, 6, 14, 3, 9, 8, 5, 12, 13, 10, 17, 18, 15, 19, 20].
In the literature, most existing MDS codes with the repair bandwidth achieving the lower bound in [1] are a kind of array codes. A codeword of an array code is an matrix, where the parameter is called the sub-packetization level and is called the code length. When deploying an array code to a distributed storage system, a code symbol (i.e., a column) corresponds to a storage node. Then, an array code is said to have the MDS property if any out of the columns of the matrix can recover the remaining columns. It was proved in [1] that the repair bandwidth of an MDS array code with sub-packetization level should satisfy
[TABLE]
where () is the number of helper nodes. An MDS array code is said to have the optimal repair bandwidth if , i.e., the amount of data downloaded from each helper node is . In the particular case, when , can be reduced to the minimal value . Therefore, is the main concern in the most known works [7, 4, 3, 6, 10, 9, 8, 5, 11]. In this paper, we also follow the same setting and thus abbreviate to . Especially, we focus on MDS array codes, and refer to them as MDS codes for simplicity.
Up to now, various MDS code constructions with the optimal repair bandwidth have been proposed, among which some notable works are [16, 2, 4, 14, 11, 3, 12, 13, 15, 5, 17, 18]. However, in the high-rate regime, all the known MDS code constructions with the optimal repair bandwidth possess a significantly large sub-packetization level , i.e., where [9]. In [21], it was shown that for an MDS code with the optimal repair bandwidth, a sub-packetization level being exponential in the square root of is necessary. Very recently, Alrabiah and Guruswami [22] further improved the lower bound on to being exponential in and they conjectured that the construction in [9] with is exactly tight. An MDS code with a larger sub-packetization level can lead to a reduced design space in terms of various system parameters and make management of meta-data difficult. Moreover, the implementation in practical systems is a big challenge [23].
Existing constructions and theoretical bounds imply that one may construct high-rate MDS codes with small sub-packetization level by sacrificing the optimality of the repair bandwidth. In [23], two high-rate MDS codes with small sub-packetization level were presented. The first one can have a sub-packetization level as small as where and is a positive integer with , while the repair bandwidth is no larger than . However, the code is constructed over a significantly large finite field with , which may hinder its deployment in practical systems. The second MDS code is obtained by combining an MDS code with the optimal repair bandwidth and another error-correcting code with specific parameters. The proposed codes, therefore, rely on the existence of the latter, which may not always be available. For convenience, we refer to the two codes in [23] as RTGE code 1 and RTGE code 2 in this paper. In [3], an MDS code with sub-packetization level and near-optimal repair bandwidth only for systematic nodes was proposed, which is termed duplication-zigzag code in this paper. In fact, the duplication-zigzag code is constructed based on -duplication of the zigzag code, but can only support two parity nodes.
In this paper, we aim to construct high-rate MDS codes that have both small sub-packetization level and near-optimal repair bandwidth for general parameters and over a small finite field . Partly motivated by the work in [3], we present a transformation that can convert any MDS code with the optimal repair bandwidth that is defined in the parity-check matrix form into another MDS code with much longer code length. Specifically, the repair bandwidth of the new MDS code is upper bounded by , but the sub-packetization level is kept unchanged, or equivalently the generic transformation can reduce the sub-packetization level of the original codes with respect to the same code length . By directly applying the generic transformation to several known high-rate MDS codes with the optimal repair bandwidth, we get four high-rate MDS codes with both small sub-packetization level and near-optimal repair bandwidth, three of which are explicit and the required field sizes are around or smaller than the code length . Besides, we propose another new MDS code which has a similar structure as that of the first resultant code obtained by the generic transformation, but can be built on a smaller finite field. The obtained MDS codes outperform the RTGE code 1 in [23] in terms of the field size, and the first codes in both [12] and [15] as well as the RTGE code 2 in [23] in terms of the sub-packetization level. As a matter of convenience, we refer to the first two codes in [12] respectively as YB code 1 and YB code 2, while referring to the first code in [15] as the improved YB code 2 (since it is an improvement of the YB code 2 in [12] with respect to the field size).
The remainder of the paper is organized as follows. Section II reviews some necessary preliminaries. Section III proposes the generic transformation and its asserted properties. Section IV demonstrates several applications of the generic transformation, three of which are explicit. Section V presents another new explicit construction of high-rate MDS code over a small finite field that has a small sub-packetization level, near-optimal repair bandwidth, and the optimal update property. Section VI gives comparisons of key parameters among the MDS codes proposed in this paper and some existing notable MDS codes. Finally, Section VII concludes the study.
II Preliminaries
In this section, we introduce some preliminaries on high-rate MDS codes, and a series of special partitions for a given basis set.
II-A * MDS codes*
Denote by a prime power and the finite field with elements. For any two integers and with , denote by the set . Let be the data stored across a distributed storage system consisting of nodes based on an MDS code, where is a column vector of length over . Throughout this paper, we consider MDS codes that permit a definition in the following parity-check form:
[TABLE]
where , denotes the zero column vector of length , and will be abbreviated as in the sequel if its length is clear. The block matrix in (2) is called the parity-check matrix of the code, which can be written as
[TABLE]
to indicate the block entries.
For every , by (2), we have , which contains linear equations. Particularly, we say that is the -th parity-check group.
II-B The MDS property
An MDS code defined by (2) possesses the MDS property that the source file can be reconstructed by connecting to any out of the nodes. That is, any sub-block matrix of is nonsingular [12].
In particular, if
[TABLE]
for some matrices of order , then we have the following result.
Lemma 1** ([12]).**
An code defined by (2) and (3) has the MDS property if and is nonsingular for all with .
II-C Repair
When repairing a failed node () of an MDS code, denote by the amount of data downloaded from node , where . In fact, the data downloaded from helper node can be represented by , where is a matrix of full rank. Throughout this paper, is called the repair matrix of node .
Clearly, a failed node can be repaired if there are linearly independent equations with respect to the unknowns of . Specially, the equations should be chosen elaborately so that the interference in these equations can be cancelled by the downloaded data from the helper nodes . In this paper, similar to that in [15], for convenience, we only consider the symmetric situation where appropriate linearly independent equations are acquired from each of the parity-check groups, which are linear combinations of the corresponding parity-check equations. Precisely, these linearly independent equations can be obtained by multiplying the -th parity-check group with an matrix of full rank, where is called the select matrix in [15]. As a consequence, the following linear equations are available.
[TABLE]
thus regenerating node requires that
- (i)
the coefficient matrix of the useful data is of full rank, i.e.,
[TABLE]
- (ii)
the interference caused by can be determinable by the data downloaded from node for all , i.e.,
[TABLE]
for with , which means that
[TABLE]
for with , .
Then, the repair bandwidth of node is
[TABLE]
As mentioned before, a lower repair bandwidth of a node is desirable. According to (1), if , then node is said to have the optimal repair bandwidth. If for a small constant , then node is said to have the near-optimal repair bandwidth [23].
In addition to the (near-) optimal repair bandwidth, an MDS code is also preferred to have the optimal update property, that is, the minimum number of elements need to be updated when an information element is changed. In [12], Ye and Barg showed that an MDS code defined in the form of (2) and (3) has the optimal update property if all the block matrices of the parity-check matrix are diagonal.
II-D Partition of basis
Assuming that for two integers and with , let be a basis of . For example, they can be simply set as the standard basis, i.e.,
[TABLE]
with only the th entry being nonzero.
In [11], a series of special partitions of the set is given for . These set partitions can be easily generalized to the case of , which will play an important role in our proposed new constructions.
For consistency, we follow the notation in [11] hereafter. Given an integer , denote by its -ary expansion, i.e., . For and , define a subset of as
[TABLE]
where is the th element in the -ary expansion of . Moreover, for , we define a special subset of as
[TABLE]
where is computed modulo . This special subset will be used in the MDS code construction in Section IV-B.
Straightforwardly, , and is a partition of the set for any . Table I gives two examples of the set partitions defined in (7) and (8).
Based on the set partitions in (7), let us define
[TABLE]
Further, for any and , we define , i.e.,
[TABLE]
where . Then, we have
[TABLE]
For the easy of notation, we also denote by and the and matrices, whose rows are formed by vectors in their corresponding sets, respectively, such that is sorted in ascending order. For example, when and , can be viewed as a matrix as follows
[TABLE]
where represents the transpose operator.
III A generic transformation
In this section, we present a generic transformation that can convert any MDS code with the optimal repair bandwidth defined in the form of (2) to a new MDS code with longer code length and near-optimal repair bandwidth.
**A generic transformation: **The transformation can be performed through the following two steps.
Step 1. Choose an MDS code with the optimal repair bandwidth as the base code
We choose an MDS code in the form of (2), with the optimal repair bandwidth over a finite field containing at least elements, as the base code. Let denote its sub-packetization level, , and let denote its parity-check matrix while the matrices and , with , , respectively denote the repair matrices and select matrices.
Step 2. Transform the base code to the new MDS code
Through the generic transformation, we intend to design a new MDS code over a certain finite field () having arbitrary code length () while maintaining the same sub-packetization level .
The transition from the base code to the new MDS code is done by designing the parity-check matrix, the repair matrices, and the select matrices of the new MDS code from those of the base code as follows.
[TABLE]
and
[TABLE]
where , , , denotes the modulo operation, and denotes the identity matrix of order , which will be abbreviated as in the sequel if its order is clear.
Remark 1**.**
For an MDS code defined over a finite field that contains at least elements, it can of course be defined over a larger finite field (). In the above generic transformation, the base code is then assumed to be defined over the same finite field of the resultant new code.
Like many MDS codes in the literature, the MDS property of the resultant code can be guaranteed by the Combinatorial Nullstellensatz in [24].
Lemma 2** (Theorem 1.2 of [24]).**
Let be an arbitrary field, and be a polynomial in . Suppose that the degree of is , where each is a nonnegative integer, and the coefficient of in is nonzero. Then, if are subsets of with , there are so that
[TABLE]
Theorem 1**.**
The new code over obtained by the generic transformation can possess the MDS property if
- i)
,111Note that the field size required for the base code is , therefore, should actually satisfy . However, the smallest field size required for any known explicit MDS code with the optimal repair bandwidth in the literature is far less than . So, we make an assumption here that . and
- ii)
every block matrix of the parity-check matrix of the base code is nonsingular.
Proof.
The proof is given in Appendix A. ∎
Remark 2**.**
To the best of our knowledge, there are only four classes of MDS codes with the optimal repair bandwidth that are defined in parity-check matrix form, where the requirement in Theorem 1-ii) can be satisfied for two of them, i.e., the YB code 2 in [12] and the improved YB code 2 in [15], while the remaining codes (i.e., the YB code 1 in [12] and the constructions in [13] and [14]) need a minor modification. As a concrete example, the YB code 1 in [12] satisfying this requirement will be illustrated in Section IV-A.
Theorem 2**.**
Every failed node of the new code obtained by the generic transformation can be regenerated by the repair matrices defined in (14), where the repair bandwidth for node () is
[TABLE]
Proof.
Since the base code possesses the optimal repair bandwidth, by (4) and (5), we have
[TABLE]
and
[TABLE]
for .
For with , we rewrite and as and such that . Firstly, we verify (4) for the new code. By (11) and (15),
[TABLE]
where the last equality follows from (16).
Next, we check (5) for the new code. When ,
[TABLE]
where the second and third equalities follows from (17) and (14), respectively. When , similarly, we have
[TABLE]
Therefore, according to (6), (III), and (III), the repair bandwidth of node is
[TABLE]
where is the optimal value for the repair bandwidth. This finishes the proof. ∎
Remark 3**.**
In fact, any MDS code without the optimal repair bandwidth can also be chosen as the base code in the generic transformation. Its repair bandwidth is , i.e., a failed node can be regenerated by downloading an amount of symbols from each surviving node. Then the repair bandwidth of the resultant MDS code would be upper bounded by according to a similar analysis as the proof of Theorem 2.
IV MDS code constructions by directly applying the generic transformation
In this section, by directly applying the generic transformation in Section III respectively to the YB codes 1 and 2 in [12], the improved YB code 2 in [15], and the counterpart of the long MSR code [9] in the parity-check form, we get four MDS codes with small sub-packetization level.
IV-A An MDS code by applying the generic transformation to the YB code 1 in [12]
The YB code 1 was defined in [12] in the form of (2) and (3), with the optimal update property and the sub-packetization level being where . More precisely, the parity-check matrix of the YB code 1 satisfies and
[TABLE]
where are defined in (7), are distinct elements in a finite field containing at least elements, the repair matrices and select matrices are defined by
[TABLE]
for with , .
From (33), it is obvious that is nonsingular if and only if are nonzero elements. In order to meet Theorem 1-ii), i.e., in order for matrices in (33) to be invertible, we can add a restriction that are nonzero elements when applying the generic transformation to YB code 1. Accordingly, the requirement of the field size of YB code 1 is then only increased from to , which can be easily satisfied as the resultant new code will be defined over a finite field with size larger than .
Theorem 3**.**
By choosing the YB code 1 as the base code for the generic transformation in Section III, an MDS code over with and can be obtained. Specifically, the sub-packetization level of the MDS code is while its repair bandwidth for node () is
[TABLE]
For the MDS code directly obtained by the generic transformation, the required field size is relatively large and the construction is implicit. In the following, through a concrete assignment of the coefficients , and in (11), we provide a solution to determine the exact field size of the MDS code , which is much smaller than .
Theorem 4**.**
The field size of the MDS code can be reduced to
[TABLE]
with by setting
[TABLE]
in (33) and
[TABLE]
in (11) for , , , , and , where is a primitive element of the finite field and , i.e., a primitive -th root of unity in the finite field .
Proof.
Obviously, we only need to verify the MDS property of the code . Note from (36) that is defined in the form of (2) and (3), i.e.,
[TABLE]
for and the matrix . Then, by Lemma 1, the code possesses the MDS property if and is nonsingular for all with .
Firstly, from (33) and (37), it is seen that is diagonal for , then holds for any with .
Secondly, we show that is nonsingular for all with . Let and , where , , , and .
If , i.e., , then
[TABLE]
where the first, third, fourth, and fifth equalities follow from (37), (10), (33), and (35), respectively. Thus, if and only if
[TABLE]
Note that (38) always holds, otherwise,
[TABLE]
for some . Raising both sides to the power of , by one then gets
[TABLE]
In the following, we prove that (39) does not hold, i.e.,
[TABLE]
Clearly,
[TABLE]
where , , if (in this case due to ), if (in this case ), and else (in this case unless ) , i.e.,
[TABLE]
which together with implies that (39) does not hold when (34) is satisfied.
If , i.e., , then
[TABLE]
therefore, is nonsingular if and only if
[TABLE]
since is nonsingular. Note that , , and according to and , then we have
[TABLE]
thus (40) holds if , i.e., by combining .
This finishes the proof after combining the above analysis. ∎
In the following, we give a concrete example of the MDS code according to Theorem 4.
Example 1**.**
Let , and , then the parity-check matrix of the MDS code over is defined through
[TABLE]
where and .
To save space, we only give the repair matrices and select matrices of node 0, which are
[TABLE]
and
[TABLE]
Theorem 5**.**
The MDS code has the optimal update property.
Proof.
Note that all the block matrices of the parity-check matrix of the MDS code are diagonal. By the definition of the optimal update property and the arguments in [12], we conclude that the MDS code has the optimal update property. ∎
IV-B Two MDS codes and by applying the generic transformation respectively to the YB code 2 in [12] and the improved YB code 2 in [15]
For consistency, we borrow the notation in [12] and [15] in what follows. Let where . For any with being its -ary expansion, define
[TABLE]
and
[TABLE]
where and .
For the YB code 2 in [12] and the improved YB code 2 in [15], both of them are defined in the form of (2) and (3) with the sub-packetization level . More precisely, the parity-check matrix of the YB code 2 in [12] is defined by and
[TABLE]
where
[TABLE]
with being a primitive element of a finite field with size larger than . While the parity-check matrix of the improved YB code 2 in [15] is defined by and
[TABLE]
where
[TABLE]
with being a primitive element of a finite field with .
The YB code 2 in [12] and the improved YB code 2 in [15] have the same repair matrices and select matrices, which are respectively defined by
[TABLE]
and
[TABLE]
where , and are defined in (7) and (8).
By directly applying the generic transformation in Section III, we have the following result.
Theorem 6**.**
Respectively choosing the YB code 2 in [12] and the improved YB code 2 in [15] as the base code for the generic transformation in Section III, two MDS codes and over with and can be obtained. Particularly, for both the MDS codes and , the sub-packetization level is while the repair bandwidth for node () is
[TABLE]
In the following, by a concrete assignment of the coefficients , and in (11), we provide a solution to determine the exact field sizes of the MDS codes and , which are much smaller than . Hereafter, we only derive the values of , and in (11) for the MDS code in detail, while for MDS code , we just give the results but omit the analysis since it is similar to that of the MDS code .
Theorem 7**.**
The field size of the MDS code can be reduced to by setting in (11) for and , where is a primitive element of .
Before proving the result on , we first introduce some results related to the parity-check matrix (see (47)) of the improved YB code 2 in [15].
Lemma 3** (Lemma 2, [15]).**
For any with , , where and are defined in (47).
Lemma 4** (Lemma 3, [15]).**
For any and ,
- (i)
* for ;*
- (ii)
* for ;*
- (iii)
* for ,*
where is a constant, is a primitive element of , and are respectively defined in (46) and (48).
Lemma 5** (Lemma 4, [15]).**
For any and , where is defined in (47).
Theorem 8**.**
*The field size of the MDS code can be reduced to with being odd if is even, and otherwise, by setting *
[TABLE]
in (11) for and , where is a primitive element of .
Proof.
Still, we only need to verify the MDS property of the code . It is seen from (49) that the code is defined in the form of (2) and (3) with
[TABLE]
That is
[TABLE]
and
[TABLE]
for and with . According to Lemma 1, the code possesses the MDS property if and is nonsingular for all with .
First, by Lemma 3, (51) and (52), we easily see that holds for any with .
Next, we show that is nonsingular. Note that being nonsingular is equivalent to saying that for any , implies . In the following, we analyze it through three cases. For with , let us rewrite and for some and , where .
Case 1: If , i.e., and , then by (50), we have
[TABLE]
which is nonsingular since .
Case 2: If , , and , then by Lemma 5, we have
[TABLE]
if and only if
[TABLE]
which is equivalent to
[TABLE]
Applying Lemma 4 to (53), if , we get
[TABLE]
or
[TABLE]
otherwise, we have
[TABLE]
or
[TABLE]
If is even, then , , , and is odd, thus
[TABLE]
when is odd; Otherwise, for any
[TABLE]
we have
[TABLE]
when , i.e.,
[TABLE]
when . Hence, if is odd and is even, or and is odd, we have that
[TABLE]
thus for all , i.e., . Then, is nonsingular.
Case 3: If and either or , W.L.O.G., assuming that , then . Similar to Case 2, we have
[TABLE]
which in conjunction with Lemma 4, we have
[TABLE]
for all . This implies that for all by a similar analysis as in Case 2, i.e., . Thus, is nonsingular.
Collecting the above three cases, we finish the proof. ∎
Let us see to what extent the field size of the MDS code can be reduced by Theorem 8. For example, when , , and . According to Theorem 8, we can set in (11) over for and , where is a primitive element of . Whereas, by Theorem 6, the existence of the MDS code requires a finite field with size larger than .
IV-C An MDS code obtained by applying the generic transformation to a newly constructed MDS code
In this section, by using the approach of [12], we first construct an MDS code with sub-packetization level , and then propose an MDS code with small sub-packetization level by applying the generic transformation to the code . In fact, the code can be viewed as an extension of the MDS code in [13] with a longer code length. Besides, in parity-check form can also be regarded as the counterpart of the long minimum storage regenerating (MSR) code [9] in systematic form. For simplicity, we call the long code in this paper. In the following, we give the parity-check matrix, repair matrices and select matrices of the long code .
The parity-check matrix of the long code satisfies
[TABLE]
and (55) in the next page,
where for and , are respectively defined by (7) for and (9) for , i.e.,
[TABLE]
for and . The repair matrices and select matrices of the MDS code are respectively defined by
[TABLE]
for and .
Obviously, is nonsingular for and according to (55). Then we have the following result.
Theorem 9**.**
The code has the MDS property over if .
Proof.
It can be proven similar to that of Theorem 1. ∎
Theorem 10**.**
The code has the optimal repair bandwidth if are distinct elements in for any .
Proof.
The proof is given in Appendix B. ∎
Based on the long code , we have the following result by directly applying the generic transformation.
Theorem 11**.**
By applying the generic transformation in Section III to the long code , an MDS code over with and can be obtained. Specifically, the sub-packetization level of the MDS code is while its repair bandwidth for node () is
[TABLE]
In what follows, we present a solution to determine the exact field size of the MDS code for the case of , which is much smaller than .
By (11) and (54), the parity-check matrix of the MDS code satisfies
[TABLE]
where
[TABLE]
Then we have the following result.
Theorem 12**.**
When , the field size of the MDS code can be reduced to
[TABLE]
by setting
[TABLE]
for , and
[TABLE]
in (55) for , where and is a primitive element of .
Proof.
According to (55), the code has the MDS property if and only if any sub-block matrix of
[TABLE]
is nonsingular, i.e, is nonsingular for any with . Let us rewrite and for some and , where . In the following, we analyze the nonsingularity of in the following 6 cases according to (60)-(64).
Case 1: When , then
[TABLE]
which always holds since
[TABLE]
Case 2: When , then
[TABLE]
which is equivalent to
[TABLE]
Obviously,
[TABLE]
where , , if and otherwise, i.e.,
[TABLE]
Therefore, (84) holds if (61) is satisfied.
Case 3: When or , similar to that of Case 2, we also have that
[TABLE]
for all , which holds from a similar analysis as in Case 2.
Case 4: When and , if , then by (9) we have
[TABLE]
which is equivalent to
[TABLE]
i.e.,
[TABLE]
The above inequality always holds since
[TABLE]
Otherwise, similar to Case 2, we have that
[TABLE]
is equivalent to
[TABLE]
which holds according to a similar analysis as in Case 2.
Case 5: When and , if , then by (9) we have
[TABLE]
which holds for a similar reason as in Case 4; Otherwise,
[TABLE]
which is equivalent to
[TABLE]
i.e.,
[TABLE]
for all , which holds due to a similar analysis as in Case 2.
Case 6: When and , similar to that of Case 5, if , we have
[TABLE]
is equivalent to
[TABLE]
otherwise
[TABLE]
is equivalent to
[TABLE]
The above two inequalities always hold due to a similar reason as in Case 5.
Combining the above 6 cases, we finish the proof. ∎
Finally, we demonstrate to what extent Theorem 12 can reduce the field size of the MDS code . For example, when , , and . According to Theorem 12, we can set
[TABLE]
for in (60) and
[TABLE]
in (55) for over with being the primitive element. Whereas, by Theorem 11, the existence of the MDS code requires a finite field with size larger than .
V An MDS code with the optimal update property and small sub-packetization over small finite fields
Note from (37) that the parity-check matrix of the MDS code has a constraint, that is, block matrices should satisfy that is a scalar matrix over for all and , which reduces the designing space for the parameters in (33) to guarantee the MDS property. In this section, we propose another explicit MDS code which has a similar structure as that of the MDS code , but allows more flexible choices of , and thus can further reduce the field size.
Let and , where and are two positive integer. Construct an code with longer code length given by (2) and (3), where , satisfy
[TABLE]
with and being defined by (7) and (9) for . The repair matrices and select matrices are respectively defined by
[TABLE]
and
[TABLE]
Theorem 13**.**
Every failed node of the code can be regenerated by the repair matrices defined in (96) and (97) if are pairwise distinct for each . Furthermore, the repair bandwidth for node () is
[TABLE]
Proof.
Firstly, for , by (95), we have
[TABLE]
Then,
[TABLE]
Obviously, the rank is if for all with .
Next, we prove that (5) holds. By means of (10) and (98), if , then we have
[TABLE]
Otherwise, we have
[TABLE]
Therefore, by (6) and (96), the repair bandwidth of node is
[TABLE]
where is the optimal value for repair bandwidth. ∎
Theorem 14**.**
The code possesses the MDS property if
- (i)
* for all and with ,*
- (ii)
* for all , , with .*
Proof.
The proof can be proceeded in the same fashion as that of Theorem 4. ∎
In the following, we give an assignment of the values , , so that the requirements in Theorems 13 and 14 can be satisfied.
Theorem 15**.**
The requirements in Theorems 13 and 14 can be satisfied if is a prime power such that
[TABLE]
Proof.
If , then and , let , , , , and , , be pairwise distinct nonzero elements in ; Otherwise, let , , , be pairwise distinct nonzero elements in . Then for , , , , if we set for and , where the subscript is computed modulo , it is easy to verify that the requirements in Theorems 13 and 14 can be satisfied. ∎
In the following, we give a concrete example of the MDS code according to Theorem 15.
Example 2**.**
Let , , and , then the parity-check matrix of the MDS code over is defined through
[TABLE]
[TABLE]
[TABLE]
[TABLE]
where .
Similar to the MDS code , we have the following result.
Theorem 16**.**
The MDS code has the optimal update property.
VI Comparisons
In this section, we give comparisons of some key parameters among the proposed MDS codes and some existing notable MDS codes.
Table II compares the details of these codes, while Tables III-V compare the new MDS code and the RTGE code 1 in terms of the sub-packetization level, the field size, and the repair bandwidth for and , respectively. From these tables, we see that the proposed MDS codes have the following advantages:
- •
The new MDS codes , , , and can support any number of parity nodes while the shortened duplication-zigzag code222Note that the code length of the duplication-zigzag code in [3] is in the form of with , in order to do a fair comparison under the same code length, we delete two nodes of the duplication-zigzag code in [3] and term the resultant code as shortened duplication-zigzag code. in [3] can only support two parity nodes.
- •
The new MDS codes and have the optimal update property.
- •
The new MDS codes derived in this paper indeed have a small sub-packetization level . Specifically, for the codes and , for the code , and for the codes and . Note that can be fixed as a constant. Consequently, for each new MDS code, the sub-packetization level can be a constant, which is independent of code length .
- •
Compared with the RTGE code 1 in [23], when , the new explicit MDS codes , , , and are built on much smaller finite fields, but have larger sub-packetization levels. Besides, all the proposed MDS codes have the same repair bandwidth as the RTGE code 1 in [23] under the same parameters and .
- •
Particularly, the new MDS code has not only a smaller sub-packetization level, but also a much smaller finite field when compared to the RTGE code 1.
Nevertheless, the code is explicit only for , which requires a finite field with size . For , further investigation is needed to find the explicit construction.
- •
In contrast to RTGE code 2 in [23], which has sub-packetization growing logarithmically with the code length , the new codes have smaller sub-packetizations. For example, the sub-packetization level of the MDS code is around times that of the RTGE code 2 in [23] when .
- •
The RTGE codes 1 and 2 in [23] show that it is possible to trade repair bandwidth for sub-packetization, while the proposed codes , , , and further show that it is possible to trade sub-packetization for field size base on the RTGE code 1, as these new codes are explicit and are over small finite fields.
In addition to the above advantages, the new codes - have a defect that they do not possess the load balancing property as some of the helper nodes contribute a higher amount of data during the node repair process. Whereas, the RTGE code 2 in [23] is load balanced, where all the contacted nodes provide (approximately) the same amount of information during the repair process.
VII Conclusion
In this paper, we provided a powerful transformation that can greatly reduce the sub-packetization level of the original codes with respect to the same code length . Four applications of the transformation were demonstrated, three of which are explicit and over a small finite field. In addition, another explicit MDS code construction over a small finite field and with small sub-packetization level, small repair bandwidth as well as the optimal update property was presented. The comparisons show that the obtained MDS codes outperform existing MDS codes in terms of the field size and/or the sub-packetization level. Extending our transformation and constructions to the case of or multiple node failures are part of our ongoing work.
Appendix A Proof of Theorem 1
Before proving Theorem 1, let us introduce some necessary definitions and results on determinants.
Definition 1** ([25]).**
A -rowed minor of an -rowed determinant is any -rowed determinant obtained when rows and columns are deleted from . The -rowed minor obtained from by retaining only the elements belonging to rows and columns will be denoted by
[TABLE]
The cofactor of the minor in a determinant is defined as
[TABLE]
where are the numbers among other than and are the numbers among other than .
Lemma 6** (Laplace’s expansion theorem [25]).**
Let be an -rowed determinant, and let be integers such that and . Then
[TABLE]
Proposition 1**.**
Let and let
[TABLE]
be a block matrix of order over a certain finite field , where is an indeterminate in and is a full rank matrix of order for . Then is a homogeneous polynomial of degree which includes the term
[TABLE]
Proof.
Clearly, is a -rowed determinant, the expansion of which includes terms, where each term is a monomial of degree . Therefore, is a homogeneous polynomial of degree . In the following, we prove that includes the term in (99) by induction.
Let , when , then by Definition 1 and Lemma 6, we can get (100) in the next page,
which implies that includes the term in (99).
Assume that the induction hypothesis holds, i.e., includes the term in (99) for . Then, when , similarly, we can obtain (101) in the next page.
Note from Definition 1 that is a -rowed determinant, which includes the term
[TABLE]
by the induction hypothesis. Hence, includes the term
[TABLE]
Based on the above analysis, we proved that includes the term in (99) for any . ∎
Proof of Theorem 1: By (11), the parity-check matrix of the new code is
[TABLE]
with the -th block column being
[TABLE]
Then the new code is MDS if and only if any sub-block matrix of is nonsingular.
For any , let be the sub-block matrix of formed by the block columns indicated by , i.e.,
[TABLE]
which is nonsingular if is nonzero. Define , then . Thus, it suffices to prove that there is an assignment to the variables , , that does not evaluate to zero.
By Proposition 1, is a homogeneous polynomial of degree which includes the term
[TABLE]
Then, is a homogeneous polynomial of degree , where each indeterminate has degree at most . Therefore, by Lemma 2, if , then there are that does not evaluate to zero. This finishes the proof.
Appendix B Proof of Theorem 10
The new storage code has the optimal repair bandwidth if and only if (4) and (5) hold.
(i) Firstly, by (54), (55), and (59), we determine the necessary and sufficient conditions for (4) according to the following two cases.
- Case 1: For any , let , then we have
[TABLE]
which is of full rank if and only if (112) in the next page holds,
i.e., are pairwise distinct.
- Case 2: For ,
[TABLE]
which holds if and only if are pairwise distinct.
(ii) Secondly, by (9), (54), (58), and (59), we establish the necessary and sufficient conditions for (5) according to the following four cases.
- Case 1: For and with , let and . If mod , then we have
[TABLE]
Otherwise, , thus we have
[TABLE]
- Case 2: For , and , let . If mod , we have
[TABLE]
Otherwise,
[TABLE]
- Case 3: For , and , we easily have
[TABLE]
- Case 4: For and , we have
[TABLE]
This finishes the proof after combining (i) and (ii).
Acknowledgment
The authors would like to thank the Associate Editor Dr. Parastoo Sadeghi and the three anonymous reviewers for their valuable suggestions and comments, which have greatly improved the presentation and quality of this paper. Jie Li would like to thank Prof. Alexander Barg and Prof. Itzhak Tamo for helpful discussions during his visit at the University of Maryland, College Park.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] A.G. Dimakis, P. Godfrey, Y. Wu, M. Wainwright, and K. Ramchandran, “Network coding for distributed storage systems,” IEEE Trans. Inform. Theory, vol. 56, no. 9, pp. 4539-4551, Sep. 2010.
- 2[2] K.V. 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,” IEEE Trans. Inform. Theory, vol. 57, no. 8, pp. 5227-5239, Aug. 2011.
- 3[3] T. Tamo, Z. Wang, and J. Bruck, “Zigzag codes: MDS array codes with optimal rebuilding,” IEEE Trans. Inform. Theory, vol. 59, no. 3, pp. 1597-1616, Mar. 2013.
- 4[4] D.S. Papailiopoulos, A.G. Dimakis, and V.R. Cadambe, “Repair optimal erasure codes through Hadamard designs,” IEEE Trans. Inform. Theory, vol. 59, no. 5, pp. 3021-3037, May 2013.
- 5[5] J. Li, X. Tang, and C. Tian, “A generic transformation to enable optimal repair in MDS codes for distributed storage systems”, IEEE Trans. Inform. Theory, vol. 64, no. 9, pp. 6257-6267, Sept. 2018.
- 6[6] X. Tang, B. Yang, J. Li, and H.D.L. Hollmann, “A new repair strategy for the Hadamard minimum storage regenerating codes for distributed storage systems,” IEEE Trans. Inform. Theory, vol. 61, no. 10, pp. 5271-5279, Oct. 2015.
- 7[7] J. Li and X. Tang, “Optimal exact repair strategy for the parity nodes of the ( k + 2 , k ) 𝑘 2 𝑘 (k+2,k) Zigzag code,” IEEE Trans. Inform. Theory, vol. 62, no. 9, pp. 4848-4856, Sep. 2016.
- 8[8] J. Li, X. Tang, and C. Tian, “A generic transformation for optimal repair bandwidth and rebuilding access in MDS codes”, in Proc. IEEE Int. Symp. Inform. Theory, Aachen, Germany, Jun. 2017, pp. 1623-1627.
