Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Bulat-Ziganshin
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
4 ms
·
1.
▲
by
Bulat-Ziganshin
8y ago
I heard that BitTorrent is 40% traffic of today Internet
2.
▲
by
Bulat-Ziganshin
8y ago
I personally prefer Nim. there is also Zig and D.
3.
▲
by
Bulat-Ziganshin
9y ago
if they will need that, they will find a method long ago. but they try to minimize amount of data read/written for every transaction. look up for example "pyramid codes" - it's a way to use 20 disks in raid system but re
4.
▲
by
Bulat-Ziganshin
9y ago
among the great answers that was already written here, i can suggest famous Plank tutorial: https://web.eecs.utk.edu/~plank/plank/papers/CS-96-332.html i (FastECC author) learned everything from this great te
5.
▲
by
Bulat-Ziganshin
9y ago
when encoding larger blocks, they are just split into multiple small words. f.e when GF(256) is used, each word is just a single byte. then you have f.e. 20 data blocks and encode corresponding words of each blocks as a single group, and ea
6.
▲
by
Bulat-Ziganshin
9y ago
short answer: they all are suitable. i even has (unfinished) ldpc-based program that is pretty similar to par2 long answer: what you need is Forward Error Correction, that is implemented by any Error-Correcting Code (see wikipedia for both)
7.
▲
by
Bulat-Ziganshin
9y ago
>from Reed-Solomon as it doesn't necessarily parallelize well. i don't think so. RS erasure coding performs the same operation over all words in the block, that is perfectly vectorizable and parallelizable SSDs goes from RS to
8.
▲
by
Bulat-Ziganshin
9y ago
Well, i don't know :) When you want to protect files on disk, f.e. 30 GB video, you may want to use as much RAM as possible to increase protection level. So if you have 8 GB RAM, and use 4 KB data blocks, you can fit one million blocks
9.
▲
by
Bulat-Ziganshin
9y ago
Let's see: in order to produce 32 parity blocks from 255 data blocks you are probably perform 32x255 multiplications, i.e. NxM operations where N,M is number of data/parity blocks. for a fixed N/M rate it is considered as O(N
10.
▲
by
Bulat-Ziganshin
9y ago
the math behind it is completely different. it doesn't even use GF(2^n) fields at all :) as mentioned in RS.md, the encoding sheme is known since 2003 and even became a part of RFC
11.
▲
by
Bulat-Ziganshin
9y ago
i (fastecc author) don't have isa-l benchmarks at hand, but i compared fastecc to the best O(N^2) implementation i know - MultiPar. My conclusion is that MultiPar will be slower than FastECC starting from ~32 ECC blocks
12.
▲
by
Bulat-Ziganshin
9y ago
Well, it's MY code so i use term "block" in the same meaning as they use term "shard" :)
13.
▲
by
Bulat-Ziganshin
9y ago
by block i mean the same thing as they mean by shard. it just doesn't make sense to count entire amount of data processed - only amount of data processed TOGETHER make a sense and yeah, it's quite hard to believe that some new app
14.
▲
by
Bulat-Ziganshin
9y ago
Speed of RS coder depends on the amount of data/parity blocks. From the URL you mentioned, speed with 50+20 blocks is 713 MB/s. This algorithms is O(N^2) that means the speed is proportional to 1/N. So if it will support 5000