top | item 37174712

(no title)

haimez | 2 years ago

> "Pick two randomly" requires no state. Every thread and server can run the same algorithm without regard for each other.

That’s not quite true. Picking between two “buckets” still requires knowing how many “balls” are in each which is state. That state can be local to each server or global, that state can be accessed concurrently or synchronously, but you still have the same problem to solve.

discuss

order

kuchenbecker|2 years ago

In addition, there is a physical machine somewhere that has all the actual data and it's costly to move. The machine you're connecting to can get taken down by a noisy neighbor and rebalancing data is expensive.