Comments (8)
We already can support lrc erasure codes. Lrc codes are just a different encoding matrix that are more sparse than a typical code. ISA-L ec can do any encoding matrix. An lrc (4, 4, 1) encode matrix, 4 sources, 4 local parity, 1 global parity, may look like:
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
a b 0 0
(local parity 1)
c d 0 0
(local parity 2)
0 0 e f
(local parity 3)
0 0 g h
(local parity 4)
i j k l
(global parity)
You could perform the encode more efficiently by breaking up into three pieces:
(p1, p2) = f(s1, s2);
(p3, p4) = f(s3, s4);
p5 = f(s1, s2, s3, s4);
from isa-l.
@bigfreeZhou by the way you must be sure any sub-matrix can make a inverse matrix (for global parity's encoding matrix)
from isa-l.
where can I see the example of using LRC
from isa-l.
@xiangcai1215 We don't have a specific example of an LRC code but it would be fairly easy to change the encoding matrix in the existing examples to something with some sparsity for local parity. There are lots of choices for coefficients and in a real implementation you would also have to map individual erasures to required src/parity combinations unlike the existing examples of just pick any k.
from isa-l.
for example,LRC(4,4,1),4 sources, 4 local parity, 1 global parity。
How can we get the encoding matrix to calculate global parity and local parity at once?
If we can use the function:void gf_gen_cauchy1_matrix(unsigned char *a, int m, int k) to get the encoding matrix?
from isa-l.
I guess you could use gf_gen_cauchy1_matrix(a, 9, 4) and then zero the non-local coefficients as above but I'm not sure this is the best choice or what the ramifications are for recovery cases.
from isa-l.
This lrc-matrix construction method is only valid when global block count is 1.
what if global block count > 1? how to use isa-l to construct a matrix satisfying MR(maximum recoverable) ?
from isa-l.
When the number of global blocks is greater than 5, there is no way to violently enumerate to get a suitable matrix.
Is there a better construction scheme compared to filling zeros with the Cauchy matrix?
from isa-l.
Related Issues (20)
- Too strict hdist check HOT 1
- Is this condition correct? HOT 3
- Add support for inflate flush points
- igzip for containerd become slow
- Benchmark: isa-l vs zlib, zlib-ng, libdeflate, brotli, zstd
- build break HOT 1
- Upcoming release v2.31 HOT 9
- Broken compilation on ARM/PowerPC HOT 1
- Looking for ARM/PowerPC owner/maintainers HOT 11
- Add isal_zlib_header_init HOT 2
- Error in functional tests for ppc64le HOT 2
- Failed to load symbolec_init_tables HOT 3
- undefined reference to `ec_init_tables' HOT 2
- erasure_code/gf_vect_mul: If the value of len is not aligned with 32B, a non-zero value should be returned
- v2.31.0 tag not annotated HOT 2
- Failed to decompress gz file which has multi-header
- how use raid lib to recover lost data?
- ARM OSX build fails HOT 7
- raid: why does the simd version xor_gen not provide an entry for loop64?
- Windows build fails - yasm doesn't understand %use HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from isa-l.