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

Attachment: 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

Reply via email to