Scheduling at Twilight the EasyWay
We investigate particularly simple algorithms for optimizing the tradeoff between load imbalance and assignment overheads in dynamic multiprocessor scheduling scenarios, when the information that is available about the processing time of a task before it is completed is vague. We describe a simple and elegant generic algorithm that, in a very general model, always comes surprisingly close to the theoretical optimum, and the performance of which we can analyze exactly with respect to constant factors. In contrast, we prove that algorithms that assign tasks in equal-sized portions perform far from optimal in general. In fact, we give evidence that the performance of our generic scheme cannot be improved by any constant factor without sacrificing the simplicity of the algorithm. We also give lower bounds on the performance of the various decreasing-size heuristics that have typically been used so far in concrete applications.
Unable to display preview. Download preview PDF.
- 1.Bast, H.,On Scheduling Parallel Tasks at Twilight, Theory of Computing Systems33:5 (2000), pp. 489–563.Google Scholar
- 2.Bast, H., Scheduling at Twilight the Easy Way, full paper (2002), http://www.mpi-sb.mpg.de/~hannah/papers.
- 3.Eager, D. L., and Subramaniam, S., Affinity scheduling of unbalanced workloads, in Proceedings Supercomputing (SC 1994), pp. 214–226.Google Scholar
- 6.Hummel, S. F., Schmidt, J., Uma, R. N., and Wein, J., Load-sharing in heterogeneous systems via weighted factoring, in Proceedings 8th Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA 1996), pp. 318–328.Google Scholar
- 9.Lucco, S., A dynamic scheduling method for irregular parallel programs, in Proceedings Conference on Programming Language Design and Implementation (PLDI 1992), pp. 200–211.Google Scholar
- 11.Orlando, S., and Perego, R., Scheduling data-parallel computations on heterogeneous and time-shared environments, in Proceedings European Conference on Parallel Computing (EURO-PAR 1998), Springer Lecture Notes in Computer Science 1470, pp. 356–365.Google Scholar