Following the discussion of these two patches in the April OpenZFS
Leadership meeting, Matt suggested I solicit additional review from this
list.

The first patch:
Dedup DDT load https://github.com/zfsonlinux/zfs/pull/9464/

Adds a new zpool command: `zpool prefetch -t ddt <poolname>`
that basically loads the entire DDT into memory. This main use case of
this is customers with large DDTs, after a reboot experience extremely
pool write speeds because of random reads from the DDT. It often took
days for the majority of the DDT ZAP to be cached in the ARC. With this
change, after a reboot the entire DDT can be read quickly into the ARC
and restore performance.

It extends `zpool status -D` such that specifying -DD returns more
detail, including the % of the DDT that is currently in the ARC. This
calculation can be a little slow, that is why it is not the default.


The second patch is here:
Dedup Ceiling https://github.com/openzfs/zfs/pull/10169

This adds a new pair of new properties:
dedup_table_quota - To limit the on-disk size of the DDT
dedup_table_size - [readonly] the on-disk size of the DDT

Once the quota is reached, newly written blocks that do not match an
existing hash in the DDT are written as if dedup=off. Blocks that match
the hash of an existing entry in the DDT will still dedup (by
incrementing the refcount).

This allows the administrator to avoid overflowing a special or dedup
class vdev, and provides some measure of control over the memory
footprint of dedup (generally somewhere between 1.4x and 3x less than
the on-disk size of the DDT, depending on hash fill rates and
compression etc)


As discussed in the meeting, we think both of these concepts will still
apply to future iterations of dedup, such as the one Panzura is hoping
to offer soon. The goal is to make sure the naming of these features,
commands, and properties will still make sense if their implementations
are replaced with different ones in an eventual enhancement (ddt log) or
replacement (panzura dedup) of the dedup feature.

Thank you.
--
Allan Jude -- VP Engineering
** Klara Inc. | al...@klarasystems.com | +1 289-260-5944 **

------------------------------------------
openzfs: openzfs-developer
Permalink: 
https://openzfs.topicbox.com/groups/developer/T22f59df09864c0fb-Mb3064411930dcbe9c14fe60d
Delivery options: https://openzfs.topicbox.com/groups/developer/subscription

Reply via email to