Dynamic Rescheduling of Tasks for the Macro-Data∞ow Paradigm ⁄

A major deflciency of static scheduling techniques is their inability to handle datadependent looping and conditional branching which cause non-deterministic task execution times. This paper presents a heuristic, hybrid dynamic/static task-scheduling strategy which attempts to handle non-deterministic task execution times. The goal of this strategy is to achieve an improvement in execution time over static scheduling without being overwhelmed by overhead costs. In the proposed approach, the tasks are initially scheduled statically using estimates of task completion times. During run time, tasks are migrated following heuristic rules to take advantage of idle periods on processors. Results from simulations indicate that this technique can produce a performance improvement over the static approach when operating in certain problem domains. The proposed strategy is compared with \ideal" static scheduling in order to characterize its e‐ciency.

[1]  Behrooz Shirazi,et al.  Analysis and Evaluation of Heuristic Methods for Static Task Scheduling , 1990, J. Parallel Distributed Comput..

[2]  Dharma P. Agrawal,et al.  Palm: an integrated parallelism enhancement environment with static-dynamic scheduling , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[3]  Edward D. Lazowska,et al.  Adaptive load sharing in homogeneous distributed systems , 1986, IEEE Transactions on Software Engineering.

[4]  Krithi Ramamritham,et al.  Resource Reclaiming in Multiprocessor Real-Time Systems , 1993, IEEE Trans. Parallel Distributed Syst..

[5]  Thomas L. Casavant,et al.  A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems , 1988, IEEE Trans. Software Eng..

[6]  Jing-Jang Hwang,et al.  Multiprocessor scheduling with interprocessor communication delays , 1988 .

[7]  Monte Zweben,et al.  Scheduling and rescheduling with iterative repair , 1993, IEEE Trans. Syst. Man Cybern..

[8]  Chong-Wei Xu,et al.  A Distributed Drafting Algorithm for Load Balancing , 1985, IEEE Transactions on Software Engineering.

[9]  Tao Yang,et al.  A Comparison of Clustering Heuristics for Scheduling Directed Acycle Graphs on Multiprocessors , 1992, J. Parallel Distributed Comput..

[10]  K. Mani Chandy,et al.  A comparison of list schedules for parallel processing systems , 1974, Commun. ACM.

[11]  Nirwan Ansari,et al.  A Genetic Algorithm for Multiprocessor Scheduling , 1994, IEEE Trans. Parallel Distributed Syst..

[12]  Anthony P. Reeves,et al.  Strategies for Dynamic Load Balancing on Highly Parallel Computers , 1993, IEEE Trans. Parallel Distributed Syst..

[13]  Vangelis F. Magirou,et al.  An algorithm for the multiprocessor assignment problem , 1989 .

[14]  Mayez A. Al-Mouhamed,et al.  Analysis of Macro-Dataflow Dynamic Scheduling on Nonuniform Memory Access Architectures , 1993, IEEE Trans. Parallel Distributed Syst..

[15]  Benjamin W. Wah,et al.  Computer scheduling algorithms: Past, present and future , 1991, Inf. Sci..

[16]  Hironori Kasahara,et al.  Practical Multiprocessor Scheduling Algorithms for Efficient Parallel Processing , 1984, IEEE Transactions on Computers.

[17]  Hesham H. Ali,et al.  Task scheduling in parallel and distributed systems , 1994, Prentice Hall series in innovative technology.

[18]  Dharma P. Agrawal,et al.  A Scalable Scheduling Scheme for Functional Parallelism on Distributed Memory Multiprocessor Systems , 1995, IEEE Trans. Parallel Distributed Syst..

[19]  Hesham El-Rewini,et al.  Scheduling Parallel Program Tasks onto Arbitrary Target Machines , 1990, J. Parallel Distributed Comput..