[sheepdog] [PATCH 0/7] modify hash calculation

Liu Yuan namei.unix at gmail.com
Mon Sep 2 04:56:11 CEST 2013


On Fri, Aug 30, 2013 at 06:32:02PM +0900, MORITA Kazutaka wrote:
> From: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
> 
> The current hash algorithm is fast but shows poor dispersion.  This
> series introduces a new hash function based on the current fnv1a
> algorithm.
> 
> I compared performance and dispersion when generating 64 bit integer
> values with:
> 
>  - hash_64 (a simple hash function used in Linux kernel)
>  - fnv1a   (the current hash function)
>  - sd_hash (the one this patchset introduces)
>  - sha1
> 
> and sd_hash showed a good result.
> 
>                    hash_64    fnv1a   sd_hash     sha1
> Performance (*1)     43 ms    96 ms    182 ms   2387 ms
> Dispersion (*2)     9216.0   2927.7      11.4      6.57
> 
> (*1) The time to generate 10,000,000 hash values.
> (*2) The result of chi-squared test.  It should be less than 16.9.
> 
> Please note that this series breaks backward compatibility, and
> shouldn't be merged into the stable trees.

Does this means that we can't upgrade old cluster to master after this series
is merged (people should format the cluster)?

Thanks
Yuan



More information about the sheepdog mailing list