Mathematics of Operations Research · 2017 · 103 citations · 13 references
ComputingCloud ComputingComputer ScienceCloud Performance OptimizationParallel ComputingQueuing TheoryDistributed ComputingLoad BalancingQueueing NetworksQueueing ProcessesQueueing SystemsQueueing TheoryCloud Load BalancingLoad Balancing AlgorithmsLoad Balancing StrategiesQueue-based Load BalancingQueuesRandomized Load Balancing
In many computing and networking applications, arriving tasks have to be routed to one of many servers, with the goal of minimizing queueing delays. When the number of processors is very large, a popular routing algorithm works as follows: select two servers at random and route an arriving task to the least loaded of the two. It is well known that this algorithm dramatically reduces queueing delays compared to an algorithm, which routes to a single randomly selected server. In recent cloud computing applications, it has been observed that even sampling two queues per arriving task can be expensive and can even increase delays due to messaging overhead. So there is an interest in reducing the number of sampled queues per arriving task. In this paper, we show that the number of sampled queues can be dramatically reduced by using the fact that tasks arrive in batches (called jobs). In particular, we sample a subset of the queues such that the size of the subset is slightly larger than the batch size (thus, on average, we only sample slightly more than one queue per task). Once a random subset of the queues is sampled, we propose a new load-balancing method called batch-filling to attempt to equalize the load among the sampled servers. We show that, asymptotically, our algorithm dramatically reduces the sample complexity compared to previously proposed algorithms.
13
Markov Processes: Characterization and Convergence.
Andris Abakuks, S. N. Ethier, Thomas G. Kurtz · Biometrics · 1987 · 4.5K citations
Kay Ousterhout, Patrick Wendell, Matei Zaharia et al. · 2013 · 582 citations · Full text