5 ms·
How revolutionary is this? Will it replace all preceeding hash algos or does it have a narrow usefulness?
by bcook 12y ago
How revolutionary is this? Will it replace all preceeding hash algos or does it have a narrow usefulness?
- gojomo 12y agoIt's useful in the field of consistent-hashing: mapping items over shards where the number of shards varies over time. (Only some systems do this, and most hash algorithms are used in other fields.) This technique also requires the shards be assigned contiguous integer ID starting at 0, and appears to work best if all shard entry/exit is intentional and at the end of the ID range. (That is: if you have 15 shards, they're named #0-#14. If you decide you need one less, you turn off shard #14.) It doesn't appear to work well for systems with more chaotic entry/exit. (Shard #4 just crashed, and you don't need it anymore? You'd still want to restart/fill one shard as #4, then shut-down/drain shard #14. Other consistent-hashes could just map #4's old duties among the remaining nodes, albeit with their higher space/time costs.)
- bcook 12y agoWould something like a network packet queueing algorithm, which hashes each stream and iterates through them (ex. Stochastic Fair Queue), benefit from this hashing algorithm?
- gojomo 12y agoDo those algorithms already make use of consistent hashing? If so, yes, but otherwise: probably not.