Analyzing an Infinite Parallel Job Allocation Process

  • Authors:
  • Micah Adler;Petra Berenbrink;Klaus Schröder

  • Affiliations:
  • -;-;-

  • Venue:
  • ESA '98 Proceedings of the 6th Annual European Symposium on Algorithms
  • Year:
  • 1998

Quantified Score

Hi-index 0.01

Visualization

Abstract

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.