Abstract
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 our algorithm dramatically reduces the sample complexity compared to previously proposed algorithms.
Original language | English (US) |
---|---|
Title of host publication | Proceedings - IEEE INFOCOM |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 1131-1139 |
Number of pages | 9 |
Volume | 26 |
ISBN (Print) | 9781479983810 |
DOIs | |
State | Published - Aug 21 2015 |
Event | 34th IEEE Annual Conference on Computer Communications and Networks, IEEE INFOCOM 2015 - Hong Kong, Hong Kong Duration: Apr 26 2015 → May 1 2015 |
Other
Other | 34th IEEE Annual Conference on Computer Communications and Networks, IEEE INFOCOM 2015 |
---|---|
Country/Territory | Hong Kong |
City | Hong Kong |
Period | 4/26/15 → 5/1/15 |
ASJC Scopus subject areas
- General Computer Science
- Electrical and Electronic Engineering