On 14.10.22 16:51, Thijs Cramer wrote:
I've been searching the GitHub Repository and the Mailing list, but couldn't find any discussion about this.
I know it's probably silly, but I would like to understand the workings.

Let's say one could offload the Checksumming process to a dedicated GPU. This might  save some amount of CPU, *but* might increase latency incredibly.

To my understanding ZFS uses the Fletcher4 Checksum Algorithm by default, and this requires a pass of the data in-memory as it calculates the checksum. If we skip this step, and instead send the data to the GPU, that would also require a pass of the data (no gains there).

The actual calculation is not that hard for a CPU it seems, there are specific SIMD instructions for calculating specific Checksums, and after a quick pass over the code, it seems they are already used (if available).

I think the only time that a GPU could calculate checksums 'faster', is with a form of readahead. If you would  pre-read a lot of data, and dump it to the GPU's internal memory, and make the GPU calculate checksums of the entire block in parallel, it might be able to do it faster than a CPU.

Has anyone considered the idea?

Video Cards ususally don't have ECC RAM,
healthy data in, garbage out?

Gregor

------------------------------------------
openzfs: openzfs-developer
Permalink: 
https://openzfs.topicbox.com/groups/developer/T2be6db01da63a639-M2ee97cefe293c85251d84022
Delivery options: https://openzfs.topicbox.com/groups/developer/subscription

Reply via email to