689 research outputs found

    Long MDS Codes for Optimal Repair Bandwidth

    Get PDF
    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

    Explicit MDS Codes for Optimal Repair Bandwidth

    Get PDF
    MDS codes are erasure-correcting codes that can correct the maximum number of erasures for a given number of redundancy or parity symbols. If an MDS code has rr parities and no more than rr erasures occur, then by transmitting all the remaining data in the code, the original information can be recovered. However, it was shown that in order to recover a single symbol erasure, only a fraction of 1/r1/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 over some field, then the code forms a 2D array and such codes are especially widely used in storage systems. In this paper, we address the following question: given the length of the column ll, number of parities rr, can we construct high-rate MDS array codes with optimal repair bandwidth of 1/r1/r, whose code length is as long as possible? In this paper, we give code constructions such that the code length is (r+1)logrl(r+1)\log_r l.Comment: 17 page

    Optimal Rebuilding of Multiple Erasures in MDS Codes

    Get PDF
    MDS array codes are widely used in storage systems due to their computationally efficient encoding and decoding procedures. An MDS code with rr redundancy nodes can correct any rr node erasures by accessing all the remaining information in the surviving nodes. However, in practice, ee erasures is a more likely failure event, for 1e<r1\le e<r. Hence, a natural question is how much information do we need to access in order to rebuild ee storage nodes? We define the rebuilding ratio as the fraction of remaining information accessed during the rebuilding of ee erasures. In our previous work we constructed MDS codes, called zigzag codes, that achieve the optimal rebuilding ratio of 1/r1/r for the rebuilding of any systematic node when e=1e=1, 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 rr erasures can be corrected by accessing some of the remaining information, and any e=1e=1 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 e/re/r for MDS codes, for any 1er1\le e\le r. (ii) We construct systematic codes that achieve optimal rebuilding ratio of 1/r1/r, 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

    Optimal Locally Repairable Codes and Connections to Matroid Theory

    Full text link
    Petabyte-scale distributed storage systems are currently transitioning to erasure codes to achieve higher storage efficiency. Classical codes like Reed-Solomon are highly sub-optimal for distributed environments due to their high overhead in single-failure events. Locally Repairable Codes (LRCs) form a new family of codes that are repair efficient. In particular, LRCs minimize the number of nodes participating in single node repairs during which they generate small network traffic. Two large-scale distributed storage systems have already implemented different types of LRCs: Windows Azure Storage and the Hadoop Distributed File System RAID used by Facebook. The fundamental bounds for LRCs, namely the best possible distance for a given code locality, were recently discovered, but few explicit constructions exist. In this work, we present an explicit and optimal LRCs that are simple to construct. Our construction is based on grouping Reed-Solomon (RS) coded symbols to obtain RS coded symbols over a larger finite field. We then partition these RS symbols in small groups, and re-encode them using a simple local code that offers low repair locality. For the analysis of the optimality of the code, we derive a new result on the matroid represented by the code generator matrix.Comment: Submitted for publication, a shorter version was presented at ISIT 201
    corecore