36 research outputs found
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
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
New Codes and Inner Bounds for Exact Repair in Distributed Storage Systems
We study the exact-repair tradeoff between storage and repair bandwidth in
distributed storage systems (DSS). We give new inner bounds for the tradeoff
region and provide code constructions that achieve these bounds.Comment: Submitted to the IEEE International Symposium on Information Theory
(ISIT) 2014. This draft contains 8 pages and 4 figure
An Alternate Construction of an Access-Optimal Regenerating Code with Optimal Sub-Packetization Level
Given the scale of today's distributed storage systems, the failure of an
individual node is a common phenomenon. Various metrics have been proposed to
measure the efficacy of the repair of a failed node, such as the amount of data
download needed to repair (also known as the repair bandwidth), the amount of
data accessed at the helper nodes, and the number of helper nodes contacted.
Clearly, the amount of data accessed can never be smaller than the repair
bandwidth. In the case of a help-by-transfer code, the amount of data accessed
is equal to the repair bandwidth. It follows that a help-by-transfer code
possessing optimal repair bandwidth is access optimal. The focus of the present
paper is on help-by-transfer codes that employ minimum possible bandwidth to
repair the systematic nodes and are thus access optimal for the repair of a
systematic node.
The zigzag construction by Tamo et al. in which both systematic and parity
nodes are repaired is access optimal. But the sub-packetization level required
is where is the number of parities and is the number of
systematic nodes. To date, the best known achievable sub-packetization level
for access-optimal codes is in a MISER-code-based construction by
Cadambe et al. in which only the systematic nodes are repaired and where the
location of symbols transmitted by a helper node depends only on the failed
node and is the same for all helper nodes. Under this set-up, it turns out that
this sub-packetization level cannot be improved upon. In the present paper, we
present an alternate construction under the same setup, of an access-optimal
code repairing systematic nodes, that is inspired by the zigzag code
construction and that also achieves a sub-packetization level of .Comment: To appear in National Conference on Communications 201
Access vs. Bandwidth in Codes for Storage
Maximum distance separable (MDS) codes are widely used in storage systems to
protect against disk (node) failures. A node is said to have capacity over
some field , if it can store that amount of symbols of the field.
An MDS code uses nodes of capacity to store information
nodes. The MDS property guarantees the resiliency to any node failures.
An \emph{optimal bandwidth} (resp. \emph{optimal access}) MDS code communicates
(resp. accesses) the minimum amount of data during the repair process of a
single failed node. It was shown that this amount equals a fraction of
of data stored in each node. In previous optimal bandwidth
constructions, scaled polynomially with in codes with asymptotic rate
. Moreover, in constructions with a constant number of parities, i.e. rate
approaches 1, is scaled exponentially w.r.t. . In this paper, we focus
on the later case of constant number of parities , and ask the following
question: Given the capacity of a node what is the largest number of
information disks in an optimal bandwidth (resp. access) MDS
code. We give an upper bound for the general case, and two tight bounds in the
special cases of two important families of codes. Moreover, the bounds show
that in some cases optimal-bandwidth code has larger than optimal-access
code, and therefore these two measures are not equivalent.Comment: This paper was presented in part at the IEEE International Symposium
on Information Theory (ISIT 2012). 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