Product Matrix MSR Codes with Bandwidth Adaptive Exact Repair

Kaveh Mahdaviani, Soheil Mohajer, Ashish Khisti

Research output: Contribution to journalArticlepeer-review

14 Scopus citations


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 α information units, and the source data of size kα 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=d1,.., dδ. 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 di = (i+1)(k-1) helpers can perform an optimal repair. As a result, the coding rate in our construction is limited by (k/n) ≤ (1/2). However, similar to the original design of PM MSR codes, our solution can realize practical values of the parameter α. 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 α for this code is exponentially large. We show that the required value for α 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 α is reduced from sn to sk, where s= l cm(d1-k+1,..,dδ-k+1). We also show the required field size in the presented coding scheme is equal to n.

Original languageEnglish (US)
Pages (from-to)3121-3135
Number of pages15
JournalIEEE Transactions on Information Theory
Issue number4
StatePublished - Apr 2018

Bibliographical note

Funding Information:
Manuscript received June 7, 2017; revised November 19, 2017; accepted December 15, 2017. Date of publication January 23, 2018; date of current version March 15, 2018. S. Mohajer was supported in part by the National Science Foundation under Grant CCF-1617884. This paper was presented in part at the 2017 IEEE Information Theory Workshop [4]. K. Mahdaviani and A. Khisti are with the University of Toronto, Toronto, ON M5S3G4, Canada (e-mail:; akhisti@ S. Mohajer is with the University of Minnesota, Minneapolis, MN 55455 USA (e-mail: Communicated by P. V. Kumar, Guest Editor. Digital Object Identifier 10.1109/TIT.2018.2796599

Publisher Copyright:
© 1963-2012 IEEE.


  • Distributed storage
  • MSR regenerating codes
  • flexible repair


Dive into the research topics of 'Product Matrix MSR Codes with Bandwidth Adaptive Exact Repair'. Together they form a unique fingerprint.

Cite this