8,931 research outputs found
Rebuilding for Array Codes in Distributed Storage Systems
In distributed storage systems that use coding, the issue of minimizing the communication required to rebuild a storage node after a failure arises. We consider the problem of repairing an erased node in a distributed storage system that uses an EVENODD code. EVENODD codes are maximum distance separable (MDS) array codes that are used to protect against erasures, and only require XOR operations for encoding and decoding. We show that when there are two redundancy nodes, to rebuild one erased systematic node, only 3/4 of the information needs to be transmitted. Interestingly, in many cases, the required disk I/O is also minimized
Optimal Rebuilding of Multiple Erasures in MDS Codes
MDS array codes are widely used in storage systems due to their
computationally efficient encoding and decoding procedures. An MDS code with
redundancy nodes can correct any node erasures by accessing all the
remaining information in the surviving nodes. However, in practice,
erasures is a more likely failure event, for . Hence, a natural
question is how much information do we need to access in order to rebuild
storage nodes? We define the rebuilding ratio as the fraction of remaining
information accessed during the rebuilding of erasures. In our previous
work we constructed MDS codes, called zigzag codes, that achieve the optimal
rebuilding ratio of for the rebuilding of any systematic node when ,
however, all the information needs to be accessed for the rebuilding of the
parity node erasure.
The (normalized) repair bandwidth is defined as the fraction of information
transmitted from the remaining nodes during the rebuilding process. For codes
that are not necessarily MDS, Dimakis et al. proposed the regenerating codes
framework where any erasures can be corrected by accessing some of the
remaining information, and any erasure can be rebuilt from some subsets
of surviving nodes with optimal repair bandwidth.
In this work, we study 3 questions on rebuilding of codes: (i) We show a
fundamental trade-off between the storage size of the node and the repair
bandwidth similar to the regenerating codes framework, and show that zigzag
codes achieve the optimal rebuilding ratio of for MDS codes, for any
. (ii) We construct systematic codes that achieve optimal
rebuilding ratio of , for any systematic or parity node erasure. (iii) We
present error correction algorithms for zigzag codes, and in particular
demonstrate how these codes can be corrected beyond their minimum Hamming
distances.Comment: There is an overlap of this work with our two previous submissions:
Zigzag Codes: MDS Array Codes with Optimal Rebuilding; On Codes for Optimal
Rebuilding Access. arXiv admin note: text overlap with arXiv:1112.037
On Codes for Optimal Rebuilding Access
MDS (maximum distance separable) array codes
are widely used in storage systems due to their computationally
efficient encoding and decoding procedures. An MDS code with
r redundancy nodes can correct any r erasures by accessing
(reading) all the remaining information in both the systematic
nodes and the parity (redundancy) nodes. However, in practice,
a single erasure is the most likely failure event; hence, a natural
question is how much information do we need to access in order
to rebuild a single storage node? We define the rebuilding ratio
as the fraction of remaining information accessed during the
rebuilding of a single erasure. In our previous work we showed
that the optimal rebuilding ratio of 1/r is achievable (using
our newly constructed array codes) for the rebuilding of any
systematic node, however, all the information needs to be accessed
for the rebuilding of the parity nodes. Namely, constructing array
codes with a rebuilding ratio of 1/r was left as an open problem.
In this paper, we solve this open problem and present array codes
that achieve the lower bound of 1/r for rebuilding any single
systematic or parity node
MDS Array Codes with Optimal Rebuilding
MDS array codes are widely used in storage systems
to protect data against erasures. We address the rebuilding ratio
problem, namely, in the case of erasures, what is the the fraction
of the remaining information that needs to be accessed in order
to rebuild exactly the lost information? It is clear that when the
number of erasures equals the maximum number of erasures
that an MDS code can correct then the rebuilding ratio is 1
(access all the remaining information). However, the interesting
(and more practical) case is when the number of erasures is
smaller than the erasure correcting capability of the code. For
example, consider an MDS code that can correct two erasures:
What is the smallest amount of information that one needs to
access in order to correct a single erasure? Previous work showed
that the rebuilding ratio is bounded between 1/2 and 3/4 , however,
the exact value was left as an open problem. In this paper, we
solve this open problem and prove that for the case of a single
erasure with a 2-erasure correcting code, the rebuilding ratio is
1/2 . In general, we construct a new family of r-erasure correcting
MDS array codes that has optimal rebuilding ratio of 1/r
in the
case of a single erasure. Our array codes have efficient encoding
and decoding algorithms (for the case r = 2 they use a finite field
of size 3) and an optimal update property
Zigzag Codes: MDS Array Codes with Optimal Rebuilding
MDS array codes are widely used in storage systems to protect data against
erasures. We address the \emph{rebuilding ratio} problem, namely, in the case
of erasures, what is the fraction of the remaining information that needs to be
accessed in order to rebuild \emph{exactly} the lost information? It is clear
that when the number of erasures equals the maximum number of erasures that an
MDS code can correct then the rebuilding ratio is 1 (access all the remaining
information). However, the interesting and more practical case is when the
number of erasures is smaller than the erasure correcting capability of the
code. For example, consider an MDS code that can correct two erasures: What is
the smallest amount of information that one needs to access in order to correct
a single erasure? Previous work showed that the rebuilding ratio is bounded
between 1/2 and 3/4, however, the exact value was left as an open problem. In
this paper, we solve this open problem and prove that for the case of a single
erasure with a 2-erasure correcting code, the rebuilding ratio is 1/2. In
general, we construct a new family of -erasure correcting MDS array codes
that has optimal rebuilding ratio of in the case of erasures,
. Our array codes have efficient encoding and decoding
algorithms (for the case they use a finite field of size 3) and an
optimal update property.Comment: 23 pages, 5 figures, submitted to IEEE transactions on information
theor
Long MDS Codes for Optimal Repair Bandwidth
MDS codes are erasure-correcting codes that can
correct the maximum number of erasures given the number of
redundancy or parity symbols. If an MDS code has r parities
and no more than r erasures occur, then by transmitting all
the remaining data in the code one can recover the original
information. However, it was shown that in order to recover a
single symbol erasure, only a fraction of 1/r of the information
needs to be transmitted. This fraction is called the repair
bandwidth (fraction). Explicit code constructions were given in
previous works. If we view each symbol in the code as a vector
or a column, then the code forms a 2D array and such codes
are especially widely used in storage systems. In this paper, we
ask the following question: given the length of the column l, can
we construct high-rate MDS array codes with optimal repair
bandwidth of 1/r, whose code length is as long as possible? In
this paper, we give code constructions such that the code length
is (r + 1)log_r l
- …