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? - Thijs ------------------------------------------ openzfs: openzfs-developer Permalink: https://openzfs.topicbox.com/groups/developer/T2be6db01da63a639-Mba1502e0d10aad2bb75f2c27 Delivery options: https://openzfs.topicbox.com/groups/developer/subscription
