Questions about hash functions of CRUSH

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi everyone.

I'm still reading CRUSH source code.

When reading src/crush/hash.c, I've got some questions about the hash function.

1. There are several magic numbers there, like 1315423911, 231232,
1232. Are they arbitrary or do they really mean something in theory?

2. crush_hashmix macro is a part of Jenkins hash function. In the
series of crush_hash_rjenkins1_* functions, why input parameters are
mixed this way instead of something else? Are they arbitrary or do
they really mean something in theory?

> For example
>  crush_hashmix(a, b, hash);
>  crush_hashmix(c, d, hash);
>  crush_hashmix(e, x, hash);
>  crush_hashmix(y, a, hash);
>  crush_hashmix(b, x, hash);
>  crush_hashmix(y, c, hash);
>  crush_hashmix(d, x, hash);
>  crush_hashmix(y, e, hash);
> Do the order and combinations matter something?

3. I read the phrase "funneling hash", but I don't quite understand
what does it mean.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux