f448() - Another Tabulation Hash Function to implement a consistent Hash Ring
May 4, 2025
f448() #
f448()
is another tabulation hashing function which maps two uint32_t
to an uniform hash result of type uint64_t
.
This is being used to implement a skiplist based consistent hash ring with 2^64 possible ring slots (or positions).
The Implementation #
The implementation is similar to f82, the random data has also been retrieved from the Quantis QRNG device.
Instead of compressing or expanding, this hash function performs a mapping from a 2^64 input space to an equally sized 2^64 output space.
The input is hereby divided in two 32 bit parts, one of them representing a server ID, the other representing the label of this particular server ID entry. By inserting server ID entries multiple times with different labels, the label thus represents the weight of the server in the consistent hash distribution.
|
|