We use FNV hash functions to generate a large indexable sequence of non-colliding keys. Unforunately, for reasonably sized workloads, this leads to key collisions, which throws off experiments.
The implementations of the FNV32 and FNV64 hash functions we use manipulate signed integers instead of unsigned integers, so it
is unclear if this is a limitation of the FNV algorithms or of our implementations.
As a workaround, this patch switches from FNV32 to FNV64, reducing the chances of such bad behavior (and eliminating it in our
experiments to date).