Abstract
Multiprocessor task scheduling is an important and computationally difficult problem. A large number of algorithms were proposed which represent various tradeoffs between the quality of the solution and the computational complexity and scalability of the algorithm. Previous comparison studies have frequently operated with simplifying assumptions, such as independent tasks, artificially generated problems or the assumption of zero communication delay. In this paper, we propose a comparison study with realistic assumptions. Our target problems are two well known problems of linear algebra: LU decomposition and Gauss–Jordan elimination. Both algorithms are naturally parallelizable but have heavy data dependencies. The communication delay will be explicitly considered in the comparisons. In our study, we consider nine scheduling algorithms which are frequently used to the best of our knowledge: min–min, chaining, A*, genetic algorithms, simulated annealing, tabu search, HLFET, ISH, and DSH with task duplication. Based on experimental results, we present a detailed analysis of the scalability, advantages and disadvantages of each algorithm.
Similar content being viewed by others
References
Hou E, Ansari N, Ren H (1994) A genetic algorithm for multiprocessor scheduling. IEEE Trans Parallel Distrib Syst 5(2):113–120
Correa R, Ferreira A, Rebreyend P (1999) Scheduling multiprocessor tasks with genetic algorithms. IEEE Trans Parallel Distrib Syst 10:825–837
Bokhari S (1999) On the mapping problem. IEEE Trans Comput 30(3):207–214
Ibarra O, Kim C (1977) Heuristic algorithms for scheduling independent tasks on non-identical processors. J Assoc Comput Mach 24(2):280–289
Djordjevic G, Tosic M (1996) A heuristic for scheduling task graphs with communication delays onto multiprocessors. Parallel Comput 22(9):1197–1214
Russell S, Norvig P (2003) Artificial intelligence, a modern approach. Pearson Education, Ch 5, pp 139–172
Chamberlain R, Edelman M, Franklin M, Witte E (1988) Simulated annealing on a multiprocessor. In: Proceedings of the 1988 IEEE international conferences on computer design: VLSI in computers and processors, pp 540–544
Tian Y, Sannomiya N, Xu Y (2000) A tabu search with a new neighborhood search technique applied to flow shop scheduling problems. In: Proceedings of the 39th IEEE conference on decision and control, vol 5, pp 4606–4611
Macey B, Zomaya A (1998) A performance evaluation of CP list scheduling heuristics for communication intensive task graphs. In: Proc joint 12th intl parallel processing symp and ninth symp parallel and distributed prog, pp 538–541
Adam T, Chandy K, Dickson J (1974) A comparison of list schedules for parallel processing systems. ACM Commun 17:685–690
Kruatrachue B, Lewis T (1987) Duplication scheduling heuristic DSH: A new precedence task scheduler for parallel processing systems. PhD thesis, Oregon State University, Corvallis, OR
Kruatrachue B, Lewis T (1998) Grain size determination for parallel processing. IEEE Softw 5(1):23–32
Hwok Y, Ahmad I (1999) Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput Surv 31(4):407–471
Braun T, Siegel H, Beck N et al (1999) A comparison study of static mapping heuristics for a class of meta-tasks on heterogeneous computing system. In: Eighth heterogeneous computing workshop (HWC), pp 15–23
Davidovic T, Crainic T (2006) Benchmark-problem instances for static scheduling of task graphs with communication delays on homogeneous multiprocessor systems. Comput Oper Res 33:2155–2177
Zomaya A, Ward C, Macey B (1999) Genetic scheduling for parallel processor systems comparative studies and performance issues. IEEE Trans Parallel Distrib Syst 10(8):795–812
Wu A, Yu H, Jin S, Lin K, Schiavone G (2004) An incremental genetic algorithm approach to multiprocessor scheduling. IEEE Trans Parallel Distrib Syst 15(9):824–834
Moore M (2004) An accurate parallel genetic algorithm to schedule tasks on a cluster. Parallel Comput 30:567–583
Yao W, You J, Li B (2004) Main sequences genetic scheduling for multiprocessor systems using task duplication. Microprocess Microsyst 28:85–94
Kwok Y, Ahmad I (1997) Efficient scheduling of arbitrary task graphs to multiprocessors using a parallel genetic algorithm. J Parallel Distrib Comput 47(1):58–77
Ceyda O, Ercan M (2004) A genetic algorithm for multilayer multiprocessor task scheduling. In: TENCON 2004. IEEE region 10 conference, vol 2, pp 68–170
Cheng S, Huang Y (2003) Scheduling multi-processor tasks with resource and timing constraints using genetic algorithm. In: 2003 IEEE international symposium on computational intelligence in robotics and automation, vol 2, pp 624–629
Auyeung A, Gondra I, Dai H (2003) Evolutionary computing and optimization: Multi-heuristic list scheduling genetic algorithm for task scheduling. In: Proceedings of the 2003 ACM symposium on applied computing, pp 721–724
Ahmad I, Dhodhi M (1996) Multiprocessor scheduling in a genetic paradigm. Parallel Comput 22(3):395–406
Kwoka Y, Ahmad I (2005) On multiprocessor task scheduling using efficient state space search approaches. J Parallel Distrib Comput 65:1515–1532
Borriello G, Miles D (1994) Task scheduling for real-time multi-processor simulations real-time operating systems and software. In: Proceedings of RTOSS ’94, 11th IEEE workshop, pp 70–73
Onbasioglu E, Ozdamar L (2003) Optimization of data distribution and processor allocation problem using simulated annealing. J Supercomput 25(3):237–253
Porto S, Ribeiro C (1995) A tabu search approach to task scheduling on heterogeneous processors under precedence constraints. Int J High-Speed Comput 7(1):45–71
Baptiste P (2003) A note on scheduling multiprocessor tasks with identical processing times. Comput Oper Res 30:2071–2078
Baruah S (2001) Scheduling periodic tasks on uniform multiprocessors. Inf Process Lett 80:97–104
Singh G (2001) Performance of critical path type algorithms for scheduling on parallel processors. Oper Res Lett 29:17–30
Hanen C, Munier A (2001) An approximation algorithm for scheduling dependent tasks on m processors with small communication delays. Discrete Appl Math 108:239–257
Blazewicz J, Drozdowski M, Formanowicz P, Kubiak W, Schmidt G (2000) Scheduling preemptable tasks on parallel processors with limited availability. Parallel Comput 26:1195–1211
Manoharan S (2001) Effect of task scheduling on the assignment of dependency graphs. Parallel Comput 27:257–268
Amoura A, Bampis E, Manoussakis Y, Tuza Z (1999) A comparison of heuristics for scheduling multiprocessor tasks on three dedicated processors. Parallel Comput 25:49–61
Cai X, Lee C, Wong T (2000) Multiprocessor task scheduling to minimize the maximum tardiness and the total completion time. IEEE Trans Robotics Autom 16:824–830
Bandyopadhyay T, Basak S, Bhattacharya S (2004) Multiprocessor scheduling algorithm for tasks with precedence relation. In: TENCON 2004. 2004 IEEE region 10 conference, vol 2, pp 164–167
Lundberg L (2002) Analyzing fixed-priority global multiprocessor scheduling. In: Proceedings of eighth IEEE on real-time and embedded technology and applications symposium, pp 145–153
Kwok Y (2003) On exploiting heterogeneity for cluster based parallel multithreading using task duplication. J Supercomput 25(1):63–72
Ahmad I, Kwok Y (1994) A new approach to scheduling parallel program using task duplication. In: Proceedings of international conference on parallel processing, vol 2, pp 47–51
Kang O, Kim S (2003) A task duplication based scheduling algorithm for shared memory multiprocessors. Parallel Comput 29(1):161–166
Darbha S, Agrawal D (1997) A task duplication based scalable scheduling algorithm for distributed memory systems. J Parallel Distrib Comput 46:15–26
Kruatrachue B (1987) Static task scheduling and grain packing in parallel processing systems. PhD thesis, Electrical and Computer Engineering Department, Oregon State University
Tsuchiya T, Osada T, Kikuno T (1998) Genetics-based multiprocessor scheduling using task duplication. Microprocess Microsyst 22:197–207
Park G, Shirazi B, Marquis J (1998) Mapping of parallel tasks to multiprocessors with duplication. In: Proceedings of the thirty-first Hawaii international conference on system sciences, vol 7, pp 96–105
Amoura A, Bampis E, König J-C (1998) Scheduling algorithms for parallel Gaussian elimination with communication costs. IEEE Trans Parallel Distrib Syst 9(7):679–686
Surma D, Sha EH-M (1995) Compile-time communication scheduling on parallel systems. Research report TR-95-3, Dept of Computer Science and Engineering, University of Notre Dame
Surma D, Sha EH-M, Passos N (1998) Collision graph based communication reduction techniques for parallel systems. Int J Comput Appl 5(1):11–22
Surma D, Sha EH-M (1995) Application specific communication scheduling on parallel systems. In: Eighth international conference on parallel and distributed computing systems, pp 137–139
Liu Z (1998) Worst-case analysis of scheduling heuristics of parallel systems. Parallel Comput 24:863–891
Kafil M, Ahmad I (1997) Optimal task assignment in heterogeneous computing systems. In: 6th heterogeneous computing workshop (HCW’97), p 135
Eliasi R, Elperin T, Bar-Cohen A (1990) Monte Carlo thermal optimization of populated printed circuit board. IEEE Trans Components, Hybrids, Manuf Technol 13:953–960
Ahmad I, Kwok Y (1998) On exploiting task duplication in parallel program scheduling. IEEE Trans Parallel Distrib Syst 9(9):872–892
Gao Y (1998) An upper bound on the convergence rates of canonical genetic algorithms. Complex Int 5:1–14
Rudolph G (1994) Convergence analysis of canonical genetic algorithms. IEEE Trans Neural Networks 5(1):96–101
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Jin, S., Schiavone, G. & Turgut, D. A performance study of multiprocessor task scheduling algorithms. J Supercomput 43, 77–97 (2008). https://doi.org/10.1007/s11227-007-0139-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-007-0139-z