Efficient PRAM simulation on a distributed memory machine
STOC '92 Proceedings of the twenty-fourth annual ACM symposium on Theory of computing
Online load balancing and network flow
STOC '93 Proceedings of the twenty-fifth annual ACM symposium on Theory of computing
Theoretical Computer Science - Special issue on dynamic and on-line algorithms
Balanced allocations (extended abstract)
STOC '94 Proceedings of the twenty-sixth annual ACM symposium on Theory of computing
Parallel randomized load balancing
STOC '95 Proceedings of the twenty-seventh annual ACM symposium on Theory of computing
Universal continuous routing strategies
Proceedings of the eighth annual ACM symposium on Parallel algorithms and architectures
Proceedings of the eighth annual ACM symposium on Parallel algorithms and architectures
On the analysis of randomized load balancing schemes
Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures
Allocating weighted jobs in parallel
Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures
Online Load Balancing of Temporary Tasks
WADS '93 Proceedings of the Third Workshop on Algorithms and Data Structures
Randomized Allocation Processes
FOCS '97 Proceedings of the 38th Annual Symposium on Foundations of Computer Science
Load balancing and density dependent jump Markov processes
FOCS '96 Proceedings of the 37th Annual Symposium on Foundations of Computer Science
On Balls and Bins with Deletions
RANDOM '98 Proceedings of the Second International Workshop on Randomization and Approximation Techniques in Computer Science
How Asymmetry Helps Load Balancing
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
Hi-index | 0.01 |
In recent years the task of allocating jobs to servers has been studied with the "balls and bins" abstraction. Results in this area exploit the large decrease in maximum load that can be achieved by allowing each job (ball) a very small amount of choice in choosing its destination server (bin). The scenarios considered can be divided into two categories: sequential, where each job can be placed at a server before the next job arrives, and parallel, where the jobs arrive in large batches that must be dealt with simultaneously. Another, orthogonal, classification of load balancing scenarios is into fixed time and infinite. Fixed time processes are only analyzed for an interval of time that is known in advance, and for all such results thus far either the number of rounds or the total expected number of arrivals at each server is a constant. In the infinite case, there is an arrival process and a deletion process that are both defined over an infinite time line. In this paper, we present an algorithm for allocating jobs arriving in parallel over an infinite time line. While there have been several results for the infinite sequential case, no analogous results exist for the infinite parallel case. We consider the process where m jobs arrive in each round to n servers, and each server is allowed to remove one job per round. We introduce a simple algorithm, where it is sufficient for each job to choose between 2 random servers, that obtains the following result: if m ≤ n/6e, then for any given round, the probability that any job has to wait more than O(log log n) rounds before being processed is at most 1/nα for any constant α. Furthermore, we analyze the distribution on waiting times: with the same probability, the number of jobs of any given round that have to wait t + c rounds to be processed is at most O(n/2(2t)) for a small constant c. These results are comparable with existing results for the infinite sequential case.