4 ms·
Nice to see that they are using the industry standard CRC32 polynomial in contrast to Intel/x86 who made up their own
by dooglius 7y ago
Nice to see that they are using the industry standard CRC32 polynomial in contrast to Intel/x86 who made up their own
- klodolph 7y agoThe Castagnoli polynomial is apparently faster to calculate, and it’s not exactly nonstandard.
- childintime 7y agoSome industry standard CRC's are not recommended as there are much better ones (see research done by Koopman). So perhaps Intel is justified?
- dooglius 7y agoInteresting. It looks like the Castagnoli polynomial is optimized assuming independent bit errors, while the "standard" CRC32 is optimized for consecutive bursts of bit errors (e.g. whole-byte errors). I guess it depends on the use case.
- mrob 7y ago>research done by Koopman Good overview of the research: https://users.ece.cmu.edu/~koopman/roses/dsn04/koopman04_crc_poly_embedded.pdf https://users.ece.cmu.edu/~koopman/roses/dsn04/koopman04_crc... Optimal CRC polynomials: https://users.ece.cmu.edu/~koopman/crc/index.html https://users.ece.cmu.edu/~koopman/crc/index.html Note that the best CRC depends on the length of the message it's protecting.
- nullc 7y agoI would hope that they provide sufficient carryless multiply support so that _ANY_ crc polynomial can be efficiently implemented (not to mention fast error correcting codes and the great many other things that can be done with fast GF(2^n) arithmetic). There is no one optimal CRC choice, the best CRC will depend on the error model of your channel and the lengths of the data that you're processing.
- dooglius 7y agoThey do, it's discussed on TFA