On 14/10/2022 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?
A typical ZFS server simply does not have a GPU. -- Dr.Udo Grabowski Inst.f.Meteorology & Climate Research IMK-ASF-SAT http://www.imk-asf.kit.edu/english/sat.php KIT - Karlsruhe Institute of Technology http://www.kit.edu Postfach 3640,76021 Karlsruhe,Germany T:(+49)721 608-26026 F:-926026
smime.p7s
Description: S/MIME Cryptographic Signature
------------------------------------------ openzfs: openzfs-developer Permalink: https://openzfs.topicbox.com/groups/developer/T2be6db01da63a639-Mdbb91bfa30ea2cdfdf9e24db Delivery options: https://openzfs.topicbox.com/groups/developer/subscription