Scheduling Malleable Tasks on Parallel Processors to Minimize the Makespan

The problem of optimal scheduling n tasks in a parallel processor system is studied. The tasks are malleable, i.e., a task may be executed by several processors simultaneously and the processing speed of a task is a nonlinear function of the number of processors allocated to it. The total number of processors is m and it is an upper bound on the number of processors that can be used by all the tasks simultaneously. It is assumed that the number of processors is sufficient to process all the tasks simultaneously, i.e. n≤m. The objective is to find a task schedule and a processor allocation such that the overall task completion time, i.e. the makespan, is minimized. The problem is motivated by real-life applications of parallel computer systems in scientific computing of highly parallelizable tasks. An O(n) algorithm is presented to solve this problem when all the processing speed functions are convex. If these functions are all concave and the number of tasks is a constant, the problem can be solved in polynomial time. A relaxed problem, in which the number of processors allocated to each task is not required to be integer, can be solved in O(nmax {m,nlog 2m}) time. It is proved that the minimum makespan values for the original and relaxed problems coincide. For n=2 or n=3, an optimal solution for the relaxed problem can be converted into an optimal solution for the original problem in a constant time.

[1]  Denis Trystram,et al.  Efficient approximation algorithms for scheduling malleable tasks , 1999, SPAA '99.

[2]  Jacek Blazewicz,et al.  Scheduling Multiprocessor Tasks to Minimize Schedule Length , 1986, IEEE Transactions on Computers.

[3]  Jan Węglarz,et al.  Project Scheduling with Continuously-Divisible, Doubly Constrained Resources , 1981 .

[4]  Marcin Paprzycki,et al.  Handbook on Parallel and Distributed Processing , 2001 .

[5]  Klaus H. Ecker,et al.  Handbook on Parallel and Distributed Processing , 2000, International Handbooks on Information Systems.

[6]  G. N. Srinivasa Prasanna,et al.  The optimal control approach to generalized multiprocessor scheduling , 2005, Algorithmica.

[7]  Eric Blayo,et al.  Adaptive Mesh Refinement for Finite-Difference Ocean Models: First Experiments , 1999 .

[8]  Maciej Drozdowski,et al.  Scheduling multiprocessor tasks -- An overview , 1996 .

[9]  Isaac D. Scherson,et al.  Scheduling Computationally Intensive Data Parallel Programs , .

[10]  Walter Ludwig,et al.  Algorithms for scheduling malleable and nonmalleable parallel tasks , 1996, Technical Report / University of Wisconsin, Madison / Computer Sciences Department.

[11]  Sue Whitesides,et al.  Discrete mathematics for computer science , 2005 .

[12]  Jack Dongarra,et al.  Numerical Linear Algebra for High-Performance Computers , 1998 .

[13]  Philip S. Yu,et al.  Approximate algorithms scheduling parallelizable tasks , 1992, SPAA '92.

[14]  Zhihui Xue,et al.  Review of Scheduling computer and manufacturing processes by Jacek Blazewicz, Klaus H. Ecker, Erwin Pesch, Guenter Schmidt, Jan Weglarz Springer-Verlag 2001 , 2003 .

[15]  Klaus H. Ecker,et al.  Scheduling Computer and Manufacturing Processes , 2001 .

[16]  Denis Trystram,et al.  Large scale simulation of parallel molecular dynamics , 1999, Proceedings 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing. IPPS/SPDP 1999.

[17]  Denis Trystram,et al.  On-Line Scheduling of Parallelizable Jobs , 1998, Euro-Par.

[18]  Joseph Y.-T. Leung,et al.  Complexity of Scheduling Parallel Task Systems , 1989, SIAM J. Discret. Math..