Multiprocessor Scheduling by Simulated Evolution

This paper presents a variant of simulated evolution technique for the static non-preemptive scheduling of parallel programs represented by directed acyclic graphs including inter-processor communication delays and contention onto a multiprocessor system with the dual objectives of reducing the total execution time and scaling with the number of processors. The premise of our algorithm is Simulated Evolution, an effective optimization method based on the analogy with the natural selection process of biological evolution. The proposed technique, named Scheduling with Simulated Evolution (SES), combines simulated evolution with list scheduling, wherein simulated evolution efficiently determines suitable priorities which lead to a good solution by applying list scheduling as a decoding heuristic. SES is an effective method that yields reduced length schedules while scaling well and incurring reasonably low complexity. The SES technique does not require problem-specific parameter tuning on test problems of different sizes and structures. Moreover, it strikes a balance between exploration of the search space and exploitation of good solutions found in an acceptable CPU time. We demonstrate the effectiveness of SES by comparing it against two existing static scheduling techniques for the test examples reported in literature and on a suite of randomly generated graphs. The proposed technique produced good quality solutions with a slight increase in the CPU time as compared with the competing techniques.

[1]  Prithviraj Banerjee,et al.  ESp: Placement by simulated evolution , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  Youssef Saab,et al.  An Evolution-Based Approach to Partitioning ASIC Systems , 1989, 26th ACM/IEEE Design Automation Conference.

[3]  D. E. Goldberg,et al.  Genetic Algorithms in Search , 1989 .

[4]  Ronald L. Graham,et al.  Bounds on Multiprocessing Timing Anomalies , 1969, SIAM Journal of Applied Mathematics.

[5]  Martin Grajcar Genetic list scheduling algorithm for scheduling and allocation on a loosely coupled heterogeneous multiprocessor system , 1999, DAC '99.

[6]  Kuo-Chi Lin,et al.  An incremental genetic algorithm approach to multiprocessor scheduling , 2004, IEEE Transactions on Parallel and Distributed Systems.

[7]  Volker Nissen,et al.  Solving the quadratic assignment problem with clues from nature , 1994, IEEE Trans. Neural Networks.

[8]  Tao Yang,et al.  List Scheduling With and Without Communication Delays , 1993, Parallel Comput..

[9]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[10]  Edward A. Lee,et al.  Scheduling to Account for Interprocessor Communication within Interconnection-Constrained Processor Networks , 1990, International Conference on Parallel Processing.

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

[12]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[13]  Ishfaq Ahmad,et al.  Dynamic Critical-Path Scheduling: An Effective Technique for Allocating Task Graphs to Multiprocessors , 1996, IEEE Trans. Parallel Distributed Syst..

[14]  Walter H. Kohler,et al.  A Preliminary Evaluation of the Critical Path Method for Scheduling Tasks on Multiprocessor Systems , 1975, IEEE Transactions on Computers.

[15]  Carolyn McCreary,et al.  A comparison of heuristics for scheduling DAGs on multiprocessors , 1994, Proceedings of 8th International Parallel Processing Symposium.

[16]  C.-w. Chiang,et al.  Ant colony optimisation for task matching and scheduling , 2006 .

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

[18]  Yu-Chin Hsu,et al.  SILK: a simulated evolution router , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[19]  Guang R. Gao,et al.  A comparative study of multiprocessor list scheduling heuristics , 1994, 1994 Proceedings of the Twenty-Seventh Hawaii International Conference on System Sciences.

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

[21]  Yu Hen Hu,et al.  Solving gate-matrix layout problems by simulated evolution , 1993, 1993 IEEE International Symposium on Circuits and Systems.

[22]  Ishfaq Ahmad,et al.  Benchmarking and Comparison of the Task Graph Scheduling Algorithms , 1999, J. Parallel Distributed Comput..

[23]  Bin Zhang,et al.  Task Scheduling in Grid Based on Particle Swarm Optimization , 2006, 2006 Fifth International Symposium on Parallel and Distributed Computing.

[24]  Han Yu Optimizing task schedules using an artificial immune system approach , 2008, GECCO '08.

[25]  Tai A. Ly,et al.  Applying simulated evolution to high level synthesis , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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