3 ms·
Ironically, it's possible to get a huge gain over purely random load balancing by examining just two queues at random -- essentially, you should always be doing
by erichocean 14y ago
Ironically, it's possible to get a huge gain over purely random load balancing by examining just two queues at random -- essentially, you should always be doing this since the cost is O(1) and the improvement is large.[0] This doesn't require any distributed locking and at least would qualify as "intelligent" routing -- probably the bare minimum needed to justify that marketing label.
Oh, and it also scales incredibly well. Like I said, there's no reason not to use it over purely random load balancing.
[0] http://www.eecs.harvard.edu/~michaelm/postscripts/mythesis.pdf http://www.eecs.harvard.edu/~michaelm/postscripts/mythesis.p...
- bumbledraven 14y agoWow, the gain from using two choices is indeed impressive! According to section 3.6 (page 72): ``[For a system with 500 servers, i]n equilibrium, the expected time a [request] spends in the system given one choice (d=1) is 1/(1-λ) {where λ is the average request rate}. Hence ... when λ = 0.99 the expected time in the system when d = 1 is 100.00; with two choices {when d=2}, this drops to under 6.''