The following are my works on distributed storage systems. They study regenerating codes.
[MoulinAlg21]
I. Duursma, H.-P. Wang.
Multilinear Algebra for Distributed Storage.
SIAM Journal on Applied Algebra and Geometry (SIAGA).
[Atrahasis21]
I. Duursma, X. Li, H.-P. Wang.
Multilinear Algebra for Minimum Storage Regenerating Codes:
A Generalization of Product-Matrix Construction.
Applicable Algebra in Engineering, Communication and Computing (AAECC).
A regenerating code consists of
a file of size symbols and
a system of storage devices, called nodes.
The configuration of the nodes satisfies the following conditions:
Each node stores symbols of the file.
Any nodes contains sufficient information to recover the file.
When a node fails, some other nodes will each
send it symbols to repair the failing node.
The code is named regenerating mainly due to the last bullet point—the nodes regenerate
themselves.
The theory of regenerating codes concerns the relation among . For
example, since any nodes contain symbols and can recover the file, the file size
is at most . Similarly, since symbols repair a failing node, the node size
is at most . (Exercise) One can also show that nodes () plus help messages () is at least . There is a family of bounds of this type. They are
called cut-set bounds and restrict where those parameters can live.
The opposite approach is to construct regenerating codes that aim to achieve low , low
, and high . [MoulinAlg21] utilizes multilinear algebra to do this. We construct a
series of regenerating codes which we call Moulin codes. They achieve the best known
-versus- trade-off to date. And it is conjectured that this trade-off is
optimal.
Here is a plot detailing the -versus- trade-off for the case.
See also thus table for the relations among some competitive constructions.
The construction of MoulinAlg21 makes use of tensors and wedge powers. These spaces are arranged
is a clever way so the data recovery can be done in a sequential manner.
[Atrahasis21] exploits multilinear algebra to construct MSR codes, which we called Atrahasis
codes. Formally, an MSR code is a regenerating code with and $\beta = \alpha/(d
k + 1)M$ one sees that there is no wastes of storage (hence the name
minimum storage regeneration = MSR). Some researchers see MSR codes as the intersection of
regenerating codes and MDS codes.
MSR alone attracts significant attentions because people want to minimize node size (), and only then they minimize help messages ( given that ). Here is a table for a comparison of some existing contraptions.