Files
liberasurecode/doc
aitassou 48c05f9da1 feature: LRC (locally repairable code) backend
This is similar to the isa_l_rs_vand_inv backend, but takes an additional
parameter l, the number of local parities. The first g := m - l parities
are "global" parities and computed exactly the same as for isa_l_rs_vand_inv.
The last l parities are "local" parities, whose coefficients may be combined
into one additional global parity. As a result, decoding will succeed for
all possible sets of k + l - 1 fragments. Each local parity is grouped
with a set of data fragments such that any one of them may be reconstructed
from the others, rather than requiring a full k fragments. For example,
given a scheme like k = 8, m = 4, l = 2, then

* fragments 0 through 7 are data fragments
* fragments 8 and 9 are global parities
* fragments 10 and 11 are local parities
* any set of 9 unique fragments will be able to decode the original data
* any set of 4 unique fragments from 0, 1, 2, 3, and 10 will be able to
  reconstruct the missing fragment and similarly
* any set of 4 unique fragments from 4, 5, 6, 7, and 11 will be able to
  reconstruct the missing fragment.

If k is not evenly divisible by l, groups are sized to be within one
fragment of each other, with the larger groups having earlier data
fragments. For example, given a scheme like k = 15, m = 5, l = 4, then
the local reconstruction groups are

* fragments {0, 1, 2, 3, 16}
* fragments {4, 5, 6, 7, 17}
* fragments {8, 9, 10, 11, 18}
* fragments {12, 13, 14, 19}

Co-Authored-By: Tim Burke <tim.burke@gmail.com>
Signed-off-by: Tim Burke <tim.burke@gmail.com>
Change-Id: I2884cda24ba72d4025b175f4357ccd7ffbb48c63
2026-02-27 14:13:39 -08:00
..
2017-06-07 10:59:01 -04:00
2015-12-10 06:37:31 -07:00
2015-12-10 06:27:02 -07:00