Scheduling malleable and nonmalleable parallel tasks

Walter Ludwig+ A malleable parallel task is one that can be executed on any number of processors, with its execution time being a function of the number of processors allotted to it. A nonmalleable parallel task is one that requires a specific number of processors. Given n independent parallel tasks and m identical processors, we consider the problem of scheduling these tasks to minimize makespan. We show that any algorithm for scheduling nonmalleable tasks can be extended to an algorithm for scheduling malleable tasks. The approximation factor of the new algorithm is identical to that of the original algorithm. Meanwhile, only an 0(mn) term is added to the running time. Thus we get the best known approximation factor of a polynomial-time algorithm for scheduling malleable parallel tasks, and the fastest running time in which that factor can be achieved. These results can be extended to specific parallel architectures, where not only the number of processors allotted to a task, but also their configuration is a factor. Furthermore, we provide an algorithm for scheduling malleable tasks on a linear array of processors. In this case the addresses of the processors assigned to each task must be contiguous. Our algorithm has an approximation factor of 2, under a natural assumption on the task execution times. In contrast, the best known approximation factor for nonmalleable tasks in this case is 2.5. To the best of our knowledge, this is the only case where the best known approximation factor for malleable tasks is strictly less thanthat for nonmalleable tasks.

[1]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

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

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

[4]  Ronald L. Graham,et al.  Bounds for Multiprocessor Scheduling with Resource Constraints , 1975, SIAM J. Comput..

[5]  Anja Feldmann,et al.  Optimal online scheduling of parallel jobs with dependencies , 1993, STOC.

[6]  Miron Livny,et al.  Experience with the Condor distributed batch system , 1990, IEEE Workshop on Experimental Distributed Systems.

[7]  Kam-Hoi Cheng,et al.  A Heuristic of Scheduling Parallel Tasks and its Analysis , 1992, SIAM J. Comput..

[8]  Ramesh Krishnamurti,et al.  The Processor Partitioning Problem In Special-Purpose Partitionable Systems , 1988, ICPP.

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

[10]  Prithviraj Banerjee,et al.  An Approximate Algorithm for the Partitionable Independent Task Scheduling Problem , 1990, ICPP.

[11]  Miron Livny,et al.  Condor-a hunter of idle workstations , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[12]  Ronald L. Graham,et al.  Bounds for certain multiprocessing anomalies , 1966 .

[13]  Anja Feldmann,et al.  Dynamic scheduling on parallel machines , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[14]  David S. Johnson,et al.  Complexity Results for Multiprocessor Scheduling under Resource Constraints , 1975, SIAM J. Comput..

[15]  Krishna R. Pattipati,et al.  Scheduling parallelizable tasks: putting it all on the shelf , 1992, SIGMETRICS '92/PERFORMANCE '92.

[16]  Eugene L. Lawler,et al.  Sequencing and scheduling: algorithms and complexity , 1989 .

[17]  Ronald L. Rivest,et al.  Orthogonal Packings in Two Dimensions , 1980, SIAM J. Comput..

[18]  Jacek Blazewicz,et al.  Scheduling under resource constraints - deterministic models , 1986 .

[19]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[20]  Daniel Dominic Sleator,et al.  A 2.5 Times Optimal Algorithm for Packing in Two Dimensions , 1980, Inf. Process. Lett..