Live data from Hacker News

The power of two random choices (2012)

brooker.co.za

1–10 of 12 posts

Re: The power of two random choices (2012)

#5

(2012) Amazing technique. Previous submissions, and another good one on load balancing via PoTRC https://news.ycombinator.com/item?id=39283595 https://news.ycombinator.com/item?id=24877341 https://news.ycombinator.com/item?id=37143376

A helpful visualization, from a past discussion: https://xcancel.com/grantslatton/status/1754912113246798036

Re: The power of two random choices (2012)

#7

neat trick indeed. would be cool to do the math and get an analytical formula of mean queue time given cache refresh for a given k, under some mild assumptions.

That may have been done in the underlying paper by Mitzenmacher et al., but I haven't checked.

I'm more confident that that paper established that firing n requests at n servers will result in a max server load proportional to log(log(n)) with high probability, vs. proportional to log(n) for random -- IOW an exponential improvement in max server load over random.

Re: The power of two random choices (2012)

#10
post #6

I found less-than-great results in a simulation where there's a slight persistent difference between two of the options: https://www.brainonfire.net/blog/2019/07/21/load-balancing-b... (as part of a larger study on healthchecks that Don't Suck).

I think that simulation claim that pick-2 can send 2.5x as much traffic to most loaded vs least loaded is a bit misleading: if the load metric is completely random then that might happen. The more correlation to load the better. Also, rather than looking at the ratio of most loaded to least loaded, it might be better to look at the ratio of most loaded to average: that is, how much extra work did we send to a poor server. In that, pick-2 has an absolute cap of 2xing the load on a server.
Post reply on HN