In the distributed storage systems (DSSs) with $k$ systematic nodes, robustness against node failure is commonly provided by storing redundancy in a number of other nodes and performing repair mechanism to reproduce the content of the failed nodes. Efficiency is then achieved by minimizing the storage overhead and the amount of data transmission required for data reconstruction and repair, provided by coding solutions, such as regenerating codes. Common explicit regenerating code constructions enable efficient repair through accessing a predefined number, $d$ , of arbitrary chosen available nodes, namely helpers. In practice, however, the state of the system dynamically changes based on the request load, the link traffic, and so on, and the parameters which optimize system’s performance vary accordingly. It is then desirable to have coding schemes which are able to operate optimally under a range of different parameters simultaneously. Specifically, adaptivity in the number of helper nodes for repair is of interest. While robustness requires capability of performing repair with small number of helpers, it is desirable to use as many helpers as available to reduce the transmission delay and total repair traffic. In this paper, we focus on the minimum storage regenerating (MSR) codes, where each of the $n$ nodes in the network is supposed to store $\alpha $ information units, and the source data of size $k\alpha $ could be recovered from any arbitrary set of $k$ nodes. We introduce a class of MSR codes that realize the optimal repair bandwidth simultaneously with a set of different choices for the number of helpers, namely $D=\{d_{1}, \ldots , d_{\delta }\}$ . Our coding scheme follows the product matrix (PM) framework introduced by Rashmi et al. and could be considered as a generalization of the PM MSR code presented by Rashmi et al. , such that any $d_{i} = (i+1)(k-1)$ helpers can perform an optimal repair. As a result, the coding rate in our construction is limited by $({k}/{n})\leq ({1}/{2})$ . However, similar to the original design of PM MSR codes, our solution can realize practical values of the parameter $\alpha $ . Recently, Ye and Barg have presented another explicit MSR coding scheme which is capable of performing optimal repair for various number of helpers. The solution presented by Ye and Barg works for any arbitrary set of parameters $k$ and $D$ and can achieve high-coding rates, but the required $\alpha $ for this code is exponentially large. We show that the required value for $\alpha $ in the coding scheme presented in this paper is exponentially smaller when compared with the work of Ye and Barg for the same set of other parameters. Particularly, for a DSS with $n$ nodes and $k$ systematic nodes, the required value for $\alpha $ is reduced from $s^{n}$ to $sk$ , where $s=\mathrm {l~cm}(d_{1}-k+1,\cdots ,d_{\delta }-k+1)$ . We also show the required field size in the presented coding scheme is equal to $n$ .
Read full abstract