Results 1 -
5 of
5
The Power of Two Random Choices: A Survey of Techniques and Results
- in Handbook of Randomized Computing
, 2000
"... ITo motivate this survey, we begin with a simple problem that demonstrates a powerful fundamental idea. Suppose that n balls are thrown into n bins, with each ball choosing a bin independently and uniformly at random. Then the maximum load, or the largest number of balls in any bin, is approximately ..."
Abstract
-
Cited by 79 (2 self)
- Add to MetaCart
ITo motivate this survey, we begin with a simple problem that demonstrates a powerful fundamental idea. Suppose that n balls are thrown into n bins, with each ball choosing a bin independently and uniformly at random. Then the maximum load, or the largest number of balls in any bin, is approximately log n= log log n with high probability. Now suppose instead that the balls are placed sequentially, and each ball is placed in the least loaded of d 2 bins chosen independently and uniformly at random. Azar, Broder, Karlin, and Upfal showed that in this case, the maximum load is log log n= log d + (1) with high probability [ABKU99]. The important implication of this result is that even a small amount of choice can lead to drastically different results in load balancing. Indeed, having just two random choices (i.e.,...
The natural work-stealing algorithm is stable
- In Proceedings of the 42nd IEEE Symposium on Foundations of Computer Science (FOCS
, 2001
"... In this paper we analyse a very simple dynamic work-stealing algorithm. In the workgeneration model, there are n (work) generators. A generator-allocation function is simply a function from the n generators to the n processors. We consider a fixed, but arbitrary, distribution D over generator-alloca ..."
Abstract
-
Cited by 15 (1 self)
- Add to MetaCart
In this paper we analyse a very simple dynamic work-stealing algorithm. In the workgeneration model, there are n (work) generators. A generator-allocation function is simply a function from the n generators to the n processors. We consider a fixed, but arbitrary, distribution D over generator-allocation functions. During each time-step of our process, a generator-allocation function h is chosen from D, and the generators are allocated to the processors according to h. Each generator may then generate a unit-time task which it inserts into the queue of its host processor. It generates such a task independently with probability λ. After the new tasks are generated, each processor removes one task from its queue and services it. For many choices of D, the work-generation model allows the load to become arbitrarily imbalanced, even when λ < 1. For example, D could be the point distribution containing a single function h which allocates all of the generators to just one processor. For this choice of D, the chosen processor receives around λn units of work at each step and services one. The natural work-stealing algorithm that we analyse is widely used in practical applications and works as follows. During each time step, each empty
Dynamic Load-Balancing for Data-Parallel MPI Programs
- In Message Passing Interface Developer's and User's Conference (MPIDC'99
, 1999
"... This paper describes the load-balancing support available in DParLib, a library of MPI-based routines that support the data-parallel style of programming in MPI. The basic structure of DParLib is described with a focus on the parts of the library needed to support the distribution and re-distributio ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
This paper describes the load-balancing support available in DParLib, a library of MPI-based routines that support the data-parallel style of programming in MPI. The basic structure of DParLib is described with a focus on the parts of the library needed to support the distribution and re-distribution of arrays. Keywords--- MPI, data-parallel, load balancing, library I. Introduction T HIS paper describes the load-balancing support available in DParLib, a library of MPI-based routines that support the data-parallel style of programming in MPI. Load-balancing in this paper refers to the effort to keep all processors equally busy doing productive work. The problem of distributing the computational load among the processors of a parallel machine has been with us as long as distributed computing itself. The problem has been studied both in its general sense and in relation to specific algorithms [1] [2] [3] [4] [5] [6] [7]. This paper is less about the specific algorithms used to comput...
Dynamic Diffusion Load Balancing
- in Proc. 32nd Intl. Colloq. on Automata, Languages and Programming
"... We consider the problem of dynamic load balancing in arbitrary (connected) networks on n nodes. Our load generation model is such that during each round, n tasks are generated on arbitrary nodes, and then (possibly after some balancing) one task is deleted from every nonempty node. Notice that this ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We consider the problem of dynamic load balancing in arbitrary (connected) networks on n nodes. Our load generation model is such that during each round, n tasks are generated on arbitrary nodes, and then (possibly after some balancing) one task is deleted from every nonempty node. Notice that this model fully saturates the resources of the network in the sense that we generate just as many new tasks per round as the network is able to delete. We show that even in this situation the system is stable, in that the total load remains bounded (as a function of n alone) over time. Our proof only requires that the underlying “communication ” graph be connected. (It of course also works if we generate less than n new tasks per round, but the major contribution of this paper is the fully saturated case.) We further show that the upper bound we obtain is asymptotically tight (up to a moderate multiplicative constant) by demonstrating a corresponding lower bound on the system load for the particular example of a linear array (or path). We also show some simple negative results (i.e., instability) for work-stealing based diffusion-type algorithms in this setting.
Recovery Time of Dynamic Allocation Processes (Extended Abstract)
, 1998
"... Many distributed protocols arising in applications in on-line load balancing and dynamic resource allocation can be modeled by dynamic allocation processes related to the "balls into bin" problems. Traditionally the main focus of the research on dynamic allocation processes is on verifying whether ..."
Abstract
- Add to MetaCart
Many distributed protocols arising in applications in on-line load balancing and dynamic resource allocation can be modeled by dynamic allocation processes related to the "balls into bin" problems. Traditionally the main focus of the research on dynamic allocation processes is on verifying whether a given process is stable, and if so, on analyzing its behavior in the limit (i.e., after sufficiently many steps). Once we know that the process is stable and we know its behavior in the limit, it is natural to analyze its recovery time, which is the time needed by the process to recover from any arbitrarily bad situation and to arrive very closely to a stable (i.e., a typical) state. This investigation is important to provide assurance that even if at some stage the process has reached a highly undesirabl...

