4 ms·
Actually, I think what a lot of real systems do is equivalent to pre-computing a "random" table that has suitable balancing properties, and then use the hash to
by pjdesno 2y ago
Actually, I think what a lot of real systems do is equivalent to pre-computing a "random" table that has suitable balancing properties, and then use the hash to index into it.
e.g. Ceph used to have a big problem with overloaded placement groups, causing some disks to get twice as much load; max throughput was when those maxed out, leaving the rest half-idle. I don't recall the details of the current solution, but I think it's equivalent to generating a random assignment, and then tweaking it to get rid of over-full bins.
The original Chord-style consistent hashing is easier in the P2P environments it was designed for, but typically consistent hashing is used today in much more closely-coupled systems.