Skip to main content
Log in

Multilinear algebra for minimum storage regenerating codes: a generalization of the product-matrix construction

  • Original Paper
  • Published:
Applicable Algebra in Engineering, Communication and Computing Aims and scope

Abstract

An \((n, k, d, \alpha )\)-MSR (minimum storage regeneration) code is a set of n nodes used to store a file. For a file of total size \(k\alpha\), each node stores \(\alpha\) symbols, any k nodes determine the file, and any d nodes can repair any other node by each sending out \(\alpha /(d-k+1)\) symbols. In this work, we express the product-matrix construction of \(\bigl (n, k, 2(k-1), k-1\bigr )\)-MSR codes in terms of symmetric algebras. We then generalize the product-matrix construction to \(\bigl (n, k, \frac{(k-1)t}{t-1}, \left( {\begin{array}{c}k-1\\ t-1\end{array}}\right) \bigr )\)-MSR codes for general \(t\geqslant 2\), while the \(t=2\) case recovers the product-matrix construction. Our codes’ sub-packetization level—\(\alpha\)—is small and independent of n. It is less than \(L^{2.8(d-k+1)}\), where L is Alrabiah–Guruswami’s lower bound on \(\alpha\). Furthermore, it is less than other MSR codes’ \(\alpha\) for a set of practical parameters. Finally, we discuss how our code repairs multiple failures at once.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1

Similar content being viewed by others

References

  1. Alon, N.: Combinatorial Nullstellensatz. Combin. Probab. Comput. 8(1–2), 7–29 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  2. Alrabiah, O., Guruswami, V.: An exponential lower bound on the sub-packetization of msr codes. In: Proceedings of the 51st Annual ACM SIGACT Symposium on Theory of Computing, STOC 2019, pp. 979–985. Association for Computing Machinery, New York, NY, USA (2019). https://doi.org/10.1145/3313276.3316387

  3. Balaji, S.B., Kumar, P.V.: A tight lower bound on the sub- packetization level of optimal-access msr and mds codes. In: 2018 IEEE International Symposium on Information Theory (ISIT), pp. 2381–2385 (2018). https://doi.org/10.1109/ISIT.2018.8437486

  4. Cadambe, V.R., Jafar, S.A., Maleki, H., Ramchandran, K., Suh, C.: Asymptotic interference alignment for optimal repair of MDS codes in distributed storage. IEEE Trans. Inf. Theory 59(5), 2974–2987 (2013). https://doi.org/10.1109/TIT.2013.2237752

    Article  MathSciNet  MATH  Google Scholar 

  5. Chen, Z., Ye, M., Barg, A.: Enabling optimal access and error correction for the repair of reed-solomon codes. IEEE Trans. Inf. Theory 66(12), 7439–7456 (2020). https://doi.org/10.1109/TIT.2020.3017666

    Article  MathSciNet  MATH  Google Scholar 

  6. Dau, H., Duursma, I.M., Kiah, H.M., Milenkovic, O.: Repairing reed-solomon codes with multiple erasures. IEEE Trans. Inf. Theory 64(10), 6567–6582 (2018). https://doi.org/10.1109/TIT.2018.2827942

    Article  MathSciNet  MATH  Google Scholar 

  7. Dimakis, A.G., Godfrey, P.B., Wu, Y., Wainwright, M.J., Ramchandran, K.: Network coding for distributed storage systems. IEEE Trans. Inf. Theory 56(9), 4539–4551 (2010). https://doi.org/10.1109/TIT.2010.2054295

    Article  MATH  Google Scholar 

  8. Duursma, I., Dau, H.: Low bandwidth repair of the rs(10,4) reed-solomon code. In: 2017 Information Theory and Applications Workshop (ITA), pp. 1–10 (2017). https://doi.org/10.1109/ITA.2017.8023449

  9. Duursma, I., Li, X.: Layered codes through multilinear algebra (2017). https://meetings.siam.org/sess/dsp_talk.cfm?p=88132. Presented at SIAM Conference on Applied Algebraic Geometry

  10. Duursma, I., Li, X.: Johnson graph codes. CoRR abs/1912.10388 (2019). arXiv:1912.10388

  11. Duursma, I.M.: Outer bounds for exact repair codes. CoRR abs/1406.4852 (2014). arXiv:1406.4852

  12. Duursma, I.M.: Shortened regenerating codes. IEEE Trans. Inf. Theory 65(2), 1000–1007 (2019). https://doi.org/10.1109/TIT.2018.2840995

    Article  MathSciNet  MATH  Google Scholar 

  13. Duursma, I.M., Li, X., Wang, H.: Multilinear algebra for distributed storage. CoRR abs/2006.08911 (2020). arXiv:2006.08911

  14. Elyasi, M., Mohajer, S.: Determinant codes with helper-independent repair for single and multiple failures. IEEE Trans. Inf. Theory 65(9), 5469–5483 (2019). https://doi.org/10.1109/TIT.2019.2904294

    Article  MathSciNet  MATH  Google Scholar 

  15. Elyasi, M., Mohajer, S.: Cascade codes for distributed storage systems. IEEE Trans. Inf. Theory 66(12), 7490–7527 (2020). https://doi.org/10.1109/TIT.2020.3033338

    Article  MathSciNet  MATH  Google Scholar 

  16. Elyasi, M., Mohajer, S., Tandon, R.: Linear exact repair rate region of (k + 1, k, k) distributed storage systems: A new approach. In: 2015 IEEE International Symposium on Information Theory (ISIT), pp. 2061–2065 (2015). https://doi.org/10.1109/ISIT.2015.7282818

  17. Goparaju, S., Fazeli, A., Vardy, A.: Minimum storage regenerating codes for all parameters. IEEE Trans. Inf. Theory 63(10), 6318–6328 (2017). https://doi.org/10.1109/TIT.2017.2690662

    Article  MathSciNet  MATH  Google Scholar 

  18. Goparaju, S., Tamo, I., Calderbank, R.: An improved sub-packetization bound for minimum storage regenerating codes. IEEE Trans. Inf. Theory 60(5), 2770–2779 (2014). https://doi.org/10.1109/TIT.2014.2309000

    Article  MathSciNet  MATH  Google Scholar 

  19. Guruswami, V., Lokam, S.V., Mani Jayaraman, S.V.: \(\epsilon\)-msr codes: Contacting fewer code blocks for exact repair. In: 2018 IEEE International Symposium on Information Theory (ISIT), pp. 2371–2375 (2018). https://doi.org/10.1109/ISIT.2018.8437576

  20. Guruswami, V., Wootters, M.: Repairing reed-solomon codes. IEEE Trans. Inf. Theory 63(9), 5684–5698 (2017). https://doi.org/10.1109/TIT.2017.2702660

    Article  MathSciNet  MATH  Google Scholar 

  21. Lee, H., Lee, J.: An outer bound on the storage-bandwidth tradeoff of exact-repair regenerating codes and its asymptotic optimality in high rates. In: 2016 IEEE Information Theory Workshop (ITW), pp. 255–259 (2016). https://doi.org/10.1109/ITW.2016.7606835

  22. Mohajer, S., Tandon, R.: New bounds on the (n, k, d) storage systems with exact repair. In: 2015 IEEE International Symposium on Information Theory (ISIT), pp. 2056–2060 (2015). https://doi.org/10.1109/ISIT.2015.7282817

  23. Prakash, N., Krishnan, M.N.: The storage-repair-bandwidth trade-off of exact repair linear regenerating codes for the case d = k = n - 1. In: 2015 IEEE International Symposium on Information Theory (ISIT), pp. 859–863 (2015). https://doi.org/10.1109/ISIT.2015.7282577

  24. Ramkumar, V., Vajha, M., Balaji, S.B., Krishnan, M.N., Sasidharan, B., Kumar, P.V.: Codes for distributed storage (2020)

  25. Rashmi, K.V., Shah, N.B., Kumar, P.V.: Optimal exact-regenerating codes for distributed storage at the MSR and MBR points via a product-matrix construction. IEEE Trans. Inf. Theory 57(8), 5227–5239 (2011). https://doi.org/10.1109/TIT.2011.2159049

    Article  MathSciNet  MATH  Google Scholar 

  26. Rashmi, K.V., Shah, N.B., Kumar, P.V., Ramchandran, K.: Explicit construction of optimal exact regenerating codes for distributed storage. In: 2009 47th Annual Allerton Conference on Communication, Control, and Computing (Allerton), pp. 1243–1249 (2009). https://doi.org/10.1109/ALLERTON.2009.5394538

  27. Rawat, A.S., Koyluoglu, O.O., Vishwanath, S.: Progress on high-rate msr codes: Enabling arbitrary number of helper nodes. In: 2016 Information Theory and Applications Workshop (ITA), pp. 1–6 (2016). https://doi.org/10.1109/ITA.2016.7888191

  28. Rawat, A.S., Tamo, I., Guruswami, V., Efremenko, K.: \(\epsilon\)-msr codes with small sub-packetization. In: 2017 IEEE International Symposium on Information Theory (ISIT), pp. 2043–2047 (2017). https://doi.org/10.1109/ISIT.2017.8006888

  29. Sasidharan, B., Agarwal, G.K., Kumar, P.V.: A high-rate msr code with polynomial sub-packetization level. In: 2015 IEEE International Symposium on Information Theory (ISIT), pp. 2051–2055 (2015). https://doi.org/10.1109/ISIT.2015.7282816

  30. Sasidharan, B., Prakash, N., Krishnan, M.N., Vajha, M., Senthoor, K., Kumar, P.V.: Outer bounds on the storage-repair bandwidth trade-off of exact-repair regenerating codes. Int. J. Inf. Coding Theory 3(4), 255–298 (2016)

    MathSciNet  MATH  Google Scholar 

  31. Sasidharan, B., Senthoor, K., Kumar, P.V.: An improved outer bound on the storage-repair-bandwidth tradeoff of exact-repair regenerating codes. In: 2014 IEEE International Symposium on Information Theory, pp. 2430–2434 (2014). https://doi.org/10.1109/ISIT.2014.6875270

  32. Senthoor, K., Sasidharan, B., Kumar, P.V.: Improved layered regenerating codes characterizing the exact-repair storage-repair bandwidth tradeoff for certain parameter sets. In: 2015 IEEE Information Theory Workshop (ITW), pp. 1–5 (2015). https://doi.org/10.1109/ITW.2015.7133121

  33. Shum, K.W., Hu, Y.: Cooperative regenerating codes. IEEE Trans. Inf. Theory 59(11), 7229–7258 (2013). https://doi.org/10.1109/TIT.2013.2274265

    Article  MathSciNet  MATH  Google Scholar 

  34. Tamo, I., Ye, M., Barg, A.: The repair problem for reed-solomon codes: Optimal repair of single and multiple erasures with almost optimal node size. IEEE Trans. Inf. Theory 65(5), 2673–2695 (2019). https://doi.org/10.1109/TIT.2018.2884075

    Article  MathSciNet  MATH  Google Scholar 

  35. Tian, C.: Characterizing the rate region of the (4,3,3) exact-repair regenerating codes. IEEE J. Select. Areas Commun. 32(5), 967–975 (2014). https://doi.org/10.1109/JSAC.2014.140516

    Article  Google Scholar 

  36. Tian, C.: A note on the rate region of exact-repair regenerating codes. CoRR abs/1503.00011 (2015). arXiv:1503.00011

  37. Tian, C.: Solutions of computed information-theoretic limits (2016). http://web.eecs.utk.edu/~ctian1/SCITL.html

  38. Tian, C., Sasidharan, B., Aggarwal, V., Vaishampayan, V.A., Kumar, P.V.: Layered exact-repair regenerating codes via embedded error correction and block designs. IEEE Trans. Inf. Theory 61(4), 1933–1947 (2015). https://doi.org/10.1109/TIT.2015.2408595

    Article  MathSciNet  MATH  Google Scholar 

  39. Vajha, M., Ramkumar, V., Puranik, B., Kini, G., Lobo, E., Sasidharan, B., Kumar, P.V., Barg, A., Ye, M., Narayanamurthy, S., Hussain, S., Nandi, S.: Clay codes: Moulding MDS codes to yield an MSR code. In: 16th USENIX Conference on File and Storage Technologies (FAST 18), pp. 139–154. USENIX Association, Oakland, CA (2018). https://www.usenix.org/conference/fast18/presentation/vajha

  40. Wang, Z., Tamo, I., Bruck, J.: Explicit minimum storage regenerating codes. IEEE Trans. Inf. Theory 62(8), 4466–4480 (2016). https://doi.org/10.1109/TIT.2016.2553675

    Article  MathSciNet  MATH  Google Scholar 

  41. Wu, Y., Dimakis, A.G.: Reducing repair traffic for erasure coding-based storage via interference alignment. In: 2009 IEEE International Symposium on Information Theory, pp. 2276–2280 (2009). https://doi.org/10.1109/ISIT.2009.5205898

  42. Ye, M., Barg, A.: Explicit constructions of optimal-access MDS codes with nearly optimal sub-packetization. IEEE Trans. Inf. Theory 63(10), 6307–6317 (2017). https://doi.org/10.1109/TIT.2017.2730863

    Article  MathSciNet  MATH  Google Scholar 

  43. Ye, M., Barg, A.: Cooperative repair: constructions of optimal MDS codes for all admissible parameters. IEEE Trans. Inf. Theory 65(3), 1639–1656 (2019). https://doi.org/10.1109/TIT.2018.2856206

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hsin-Po Wang.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This work was partially supported by NSF Grant CCF-1619189.

Appendices

Bonus property: repairing two nodes at once

In general, node failures separate in time. But there may be circumstances where multiple nodes fail at once. Definitions 1 and 2 do not intend to optimize over the cases when there are two or more nodes to be repaired. What Definitions 1 and 2 guarantee is that, A, so far as there are k healthy nodes left, the file is safe; and B, if there are d healthy nodes left, one may call the repairing protocol for each and every failing node. This does not capture how efficient the repairing can be done given that help messages to two failing nodes could be correlated. For that, two definitions of simultaneous repairing are made in [4, 33] and are related in [43].

Let there be c failing nodes, and d nodes are to help. The centralized (total) bandwidth \(\gamma _{\text {ce}}(c,d)\) is the total number of symbols the d helper nodes send to a central agent, who will repair the failing nodes after gathering all help messages. Note that the bandwidth from the agent to a failing node is presumably \(\alpha\), so this fixed cost does not count toward \(\gamma\). The cooperative (total) bandwidth \(\gamma _{\text {co}}(c,d)\) is how many symbols are sent over the network, from a helper node or a failing one to a failing one, that contribute to repairing. See Fig. 2 for illustrations of the two models.

Fig. 2
figure 2

To the left: centralized model. Healthy nodes send help messages to an agent. The total bandwidth \(\gamma _{\text {ce}}(2,6)\) is the number of symbols passing solid lines. To the right: cooperative model. Healthy nodes send help messages directly to the failing nodes, and the latter can help each other. The total bandwidth \(\gamma _{\text {co}}(2,6)\) is the number of symbols passing solid lines

Note that we do not normalize the total bandwidth by the number of helping, or failing, nodes. But note that when there is one failing node, \(\gamma _{\text {ce}}(1,d)=\gamma _{\text {co}}(1,d)=d\beta\). We now demonstrate how a \(t=3\) Atrahasis code can repair two failing nodes. Recall the parameters \((d,\alpha ,\beta ,M)=\bigl (\frac{3(k-1)}{2},\big (\begin{array}{c}{k-1}\\ {2}\end{array}\big ),k-2,k\alpha \bigr )\) and definitions \(X{:}{=}{\mathbb {F}}^3\) and \(Y{:}{=}{\mathbb {F}}^{k-2}\).

1.1 The \(t=3\) Atrahasis code under centralized model

Say the fth and gth nodes fail and the first d nodes will help through an agent (that is, we assume the centralized model). Recall that, when the fth node is the only node that fails, it is supposed to learn \(\phi \mathbin \upharpoonright X\otimes Y\odot Y\odot y_f\) from the help messages. For two failing nodes, there is a natural generalization: the agent needs to learn \(\phi \mathbin \upharpoonright X\otimes Y\odot Y\odot \langle y_f,y_g\rangle\). This subspace has dimension \(3(k-2)^2\). Here, we further assume that healthy nodes will communicate ahead and decide who should send which symbols, such that exactly \(3(k-2)^2\) symbols will be sent in total. Regardless of which node should send what, we claim the bandwidth

$$\begin{aligned} \gamma _{\text {ce}}(2,d)=3(k-2)^2=3k^2-12k+12. \end{aligned}$$

According to [43], the least possible bandwidth is

$$\begin{aligned} \frac{2d}{d+2-k}\cdot \alpha =\frac{3(k-1)}{3(k-1)/2+2-k}\cdot \frac{(k-1)(k-2)}{2}=3k^2-15k+O(1). \end{aligned}$$

This indicates that Atrahasis is 3k away from optimality.

1.2 More failures and higher t under centralized model

When there are more nodes failing, the preceding argument generalizes to that the agent needs to learn \(\phi \mathbin \upharpoonright X\otimes Y\odot Y\odot \langle y_{f_1},y_{f_2},\dotsc ,y_{f_c}\rangle\), where \(f_1,f_2,\dotsc ,f_c\) are the indices of the failing nodes. The total bandwidth \(\gamma _{\text {ce}}(c,d)\) is then the dimension of the subspace \(X\otimes Y\odot Y\odot \langle y_{f_1},y_{f_2},\dotsc ,y_{f_c}\rangle\).

When \(t>3\), the agent needs to learn \(\phi \mathbin \upharpoonright X\otimes S^{t-1}Y\odot \langle y_{f_1},y_{f_2},\dotsc ,y_{f_c}\rangle\) and the total bandwidth \(\gamma _{\text {ce}}(c,d)\) is the dimension of the subspace \(\phi\) is restricted to.

Benchmarks

In Figs. 3, 4, 5, 6, 7, 8 and 9, we list some \(\alpha\)’s from this and various other works for some small parameters k and d. Compare them to the lower bounds in Fig. 3. See also Tables 1 and 2. Note that Atrahasis’s \(\alpha\) does not depend on n while other works either stick to \(n=d+1\) or have \(\alpha \rightarrow \infty\) as \(n\rightarrow \infty\). Finally, in the following manner our sub-packetization level is polynomial in Alrabiah–Guruswami’s lower bound (i.e., Theorem 3).

Theorem 26

Let \(t=d/(d-k+1)\). Let \(\alpha =\big (\begin{array}{c}{k-1}\\ {t-1}\end{array}\big )\). Then

$$\begin{aligned} \alpha \leqslant \min \bigl (2^{k-1},(k-1)^{t-1}\bigr ). \end{aligned}$$

Moreover, if \(d,k,t,\alpha\) go to infinity with \(d-k+1<C\) bounded, then

$$\begin{aligned} \alpha <\exp \Bigl (\frac{k-1}{4(d-k+1)}\Bigr )^{4C\log 2}. \end{aligned}$$
Fig. 3
figure 3

Lower bounds of the sub-packetization level \(\alpha\) from [2, Theorem 1]. The horizontal axis is k. The vertical axis is \(d-k+1\) as the cases \(d<k\) are meaningless and \(d-(k-1)=d/t=(k-1)/(t-1)=\alpha /\beta\) bears more semantics than \(d-k\) does. The plot omits \(k=1\) for triviality. It is later discovered that their proof (and the bound) is not valid when \(k=d\), the trivial case where \(\alpha =1\) is easily achievable

Fig. 4
figure 4

Upper bounds on \(\alpha\) by Atrahasis code, our proposal of MSR codes with arbitrary (nkd). A box encloses the sub-packetization level \(\alpha\) of the primitive construction at that point, which does not depend on n. Boxes on the same strip share the same t. From left to right \(t=2,3,4,5,6\); the rest are omitted. One arrow means shortening once

Fig. 5
figure 5

[29] gave MSR codes with parameter quadruple \((n,k,d,\alpha )=(sq,n-q,n-1,q^s)\) where q is a prime power. The \(\alpha\)’s of their primitive constructions are put in boxes as shown. One arrow means shortening once. The shaded region is where their \(\alpha\) falls below ours

Fig. 6
figure 6

[27] extended [29]’s result via providing MSR codes with parameters \((n,k,d,\alpha )=(sq,n-q-m,n-1-m,q^s)\). In other words, the former now allows \(n>d+1\). We plot the \(\alpha\)’s when \(m=1\) (i.e., when \(n=d+2\)) and shade the area when their \(\alpha\) falls below ours. Note that for any fixed kd such that \(k<d\), their \(\alpha\) keeps increasing as \(m=n-1-d\rightarrow \infty\), and eventually exceeds our \(\alpha\). (Graphically speaking, the boxes keep moving toward left and disappear as they hit \(k=1\), while the shaded region “retreat” toward right to infinity)

Fig. 7
figure 7

[40] contributed MSR codes with parameters \((n,k,d,\alpha )=(k+r,(r+1)m,n-1,r^m)\). They only enforce the optimal repair bandwidth for systematic nodes. This results in the least possible \(\alpha\) among all MSR-related codes we have seen

Fig. 8
figure 8

[17] gave codes with parameters \((n,k,d,\alpha )=\biggl (k+r,k,k+\rho +1,\rho ^{k\big (\begin{array}{c}{r}\\ {\rho }\end{array}\big )}\biggr )\). They only enforce the optimal repair bandwidth for systematic nodes. Note that their \(\alpha\)’s depend on n beyond kd. When \(n=d+1\), it coincides with Fig. 5. We display the \(n=d+2\) case here. It was remarked that their \(\alpha\)’s could be optimized further but we decided to print the very \(\alpha\) given therein. Note that [17] is chronologically before [27]

Fig. 9
figure 9

[15] provided regenerating codes with arbitrary parameters (nkd). These include MSR codes, whose \(\alpha\) are shown above, with \((n,k,d,\alpha )=(n,k,d,(d-k+1)^k)\). Their \(\alpha\)’s are higher than ours in general. The same parameters can be achieved using other constructions; see [10, 13]

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Duursma, I., Wang, HP. Multilinear algebra for minimum storage regenerating codes: a generalization of the product-matrix construction. AAECC 34, 717–743 (2023). https://doi.org/10.1007/s00200-021-00526-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00200-021-00526-3

Keywords

Mathematics Subject Classification

Navigation