The Journal of Supercomputing

, Volume 73, Issue 5, pp 1905–1928 | Cite as

Task scheduling for heterogeneous systems using an incremental approach



Effective scheduling of the tasks of a distributed application is one of the key factors in achieving improved performance. It results in an adequate utilization of the underlying resources and also reduces the total execution time of the application. Generating an optimal schedule for a distributed application is not a trivial task as it exists in the class of NP-complete problems. In this paper, a novel strategy called incremental subgraph earliest finish time (INCSEFT) is proposed. It is aimed at scheduling tasks on heterogeneous systems. It incorporates the use of a subgraph that grows incrementally by adding critical paths. At each step, the scheduling strategy attempts to minimize the schedule length. Considering a large set of nodes at an instance makes this approach perform better than other scheduling strategies used for heterogeneous systems. The experiments performed with several graphs show that the INCSEFT strategy produces significant improvement over the well-known HEFT, LOOKAHEAD and CEFT strategies used for scheduling heterogeneous systems.


Task scheduling Heterogeneous scheduling Task graphs Distributed computing systems 


  1. 1.
    Abdel-Wahab HM, Kameda T (1978) Scheduling to minimize maximum cumulative cost subject to series-parallel precedence constraints. Oper Res 26(26):141–158MathSciNetCrossRefMATHGoogle Scholar
  2. 2.
    Ahmad I, Kwok YK (1998) On exploiting task duplication in parallel program scheduling. IEEE Trans Parallel Distrib Syst 9(9):872–892CrossRefGoogle Scholar
  3. 3.
    Al-Mouhamed MA (1990) Lower bound on the number of processors and time for scheduling precedence graphs with communication costs. IEEE Trans Softw Eng 16:1390–1401MathSciNetCrossRefGoogle Scholar
  4. 4.
    Almeida VAF, Vasconcelos IMM, Árabe JNC, Menascé DA (1992) Using random task graphs to investigate the potential benefits of heterogeneity in parallel systems. In: Supercomputing ’92: Proceedings of the 1992 ACM/IEEE Conference on Supercomputing. IEEE Computer Society Press, Los Alamitos, pp 683–691Google Scholar
  5. 5.
    Arabnia HR (1990) A parallel algorithm for the arbitrary rotation of digitized images using process-and-data-decomposition approach. J Parallel Distrib Comput 10(2):188–192CrossRefGoogle Scholar
  6. 6.
    Bittencourt LF, Sakellariou R, Madeira ERM (2010) Dag scheduling using a lookahead variant of the heterogeneous earliest finish time algorithm. In: Parallel, Distributed and Network-Based Processing (PDP), 2010 18th Euromicro International Conference on, pp 27–34. doi: 10.1109/PDP.2010.56
  7. 7.
    Bozdağ D, Özgüner F, Catalyurek UV (2009) Compaction of schedules and a two-stage approach for duplication-based dag scheduling. IEEE Trans Parallel Distrib Syst 20:857–871CrossRefGoogle Scholar
  8. 8.
    Chen HB, Shirazi B, Kavi K, Hurson AR (1993) Static scheduling using linear clustering with task duplication. In: Proceedings of the ISCA International Conference on Parallel and Distributed Computing and Systems, pp 285–290Google Scholar
  9. 9.
    Chretienne P (1992) Task scheduling with interprocessor communication delays. Eur J Oper Res 57(3):348–354MathSciNetCrossRefMATHGoogle Scholar
  10. 10.
    Cirou B, Jeannot E (2001) Triplet: a clustering scheduling algorithm for heterogeneous systems. In: IEEE symposium on reliable distributed systems. IEEE, pp 231–236Google Scholar
  11. 11.
    Correa R, Ferreira A, Rebreyend P (1996) Integrating list heuristics into genetic algorithms for multiprocessor scheduling. In: Parallel and distributed processing, 1996. Eighth IEEE symposium on, pp 462–469Google Scholar
  12. 12.
    Dai Y, Zhang X (2014) A synthesized heuristic task scheduling algorithm. SciWorldJ 2014(1):1–9Google Scholar
  13. 13.
    Darbha S, Agrawal DP (1994) SDBS: a task duplication based optimal scheduling algorithm. In: Proceedings of Scalable High-Performance Computing Conference. Knoxville, TN, pp 756–763Google Scholar
  14. 14.
    Darbha S, Agrawal DP (1998) Optimal scheduling algorithm for distributed-memory machines. IEEE Trans Parallel Distrib Syst 9:87–95CrossRefGoogle Scholar
  15. 15.
    Deelman E, Vahi K, Juve G, Rynge M, Callaghan S, Maechling PJ, Mayani R, Chen W, Ferreira da Silva R, Livny M, Wenger K (2015) Pegasus: a workflow management system for science automation. Futur Gener Comput Syst 46:17–35.
  16. 16.
    Dogan A, Özgüner F (2002) Ldbs: A duplication based scheduling algorithm for heterogeneous computing systems. In: Proceedings of the 2002 International Conference on Parallel Processing, ICPP ’02. IEEE Computer Society, Washington, DC, pp 352–359Google Scholar
  17. 17.
    Gerasoulis A, Yang T (1992) A comparison of clustering heuristics for scheduling directed acyclic graphs on multiprocessors. J Parallel Distrib Comput 16(4):276–291MathSciNetCrossRefMATHGoogle Scholar
  18. 18.
    Singh H, Youssef A (1996) Mapping and scheduling heterogeneous task graphs using genetic algorithms. In: 5th IEEE heterogeneous computing workshop (HCW 96). IEEE, Honolulu, pp 86–97Google Scholar
  19. 19.
    Hou ESH, Ansari N, Ren H (1994) A genetic algorithm for multiprocessor scheduling. IEEE Trans Parallel Distrib Syst 5(2):113–120CrossRefGoogle Scholar
  20. 20.
    Jiang YS, Chen WM (2015) Task scheduling for grid computing systems using a genetic algorithm. J Supercomput 71(4):1357–1377CrossRefGoogle Scholar
  21. 21.
    Khan MA (2012) Scheduling for heterogeneous systems using constrained critical paths. Parallel Comput 38(4–5):175–193CrossRefGoogle Scholar
  22. 22.
    Kim SJ, Brown JC (1988) A general approach to mapping of parallel computations upon multiprocessor architectures. In: In Proceedings of the International Conference on Parallel Processing, pp 1–8Google Scholar
  23. 23.
    Kruatrachue B, Lewis T (1988) Grain size determination for parallel processing. IEEE Softw 5:23–32CrossRefGoogle Scholar
  24. 24.
    Kwok YK, Ahmad, I (1994) Exploiting duplication to minimize the execution times of parallel programs on message-passing systems. In: Parallel and Distributed Processing, 1994. Proceedings. Sixth IEEE Symposium on, pp 426 –433Google Scholar
  25. 25.
    Liou J, Palis MA (1996) An efficient task clustering heuristic for scheduling dags on multiprocessors. In: Multiprocessors, Workshop on Resource Management, Symposium of Parallel and Distributed Processing, pp 152–156Google Scholar
  26. 26.
    Maheswaran M, Siegel HJ (1998) A dynamic matching and scheduling algorithm for heterogeneous computing systems. In: Proceedings of the Seventh Heterogeneous Computing Workshop, HCW ’98. IEEE Computer Society, Washington, pp 57Google Scholar
  27. 27.
    Papadimitriou C, Yannakakis M (1988) Towards an architecture-independent analysis of parallel algorithms. In: STOC ’88: Proceedings of the twentieth annual ACM symposium on theory of computing. ACM, New York, pp 510–513Google Scholar
  28. 28.
    Park GL, Shirazi B, Marquis J (1997) Dfrn: A new approach for duplication based scheduling for distributed memory multiprocessor systems. In: Proceedings of the 11th international symposium on parallel processing, IPPS ’97. IEEE Computer Society, Washington, DC, pp 157–166Google Scholar
  29. 29.
    Sarkar V (1989) Partitioning and Scheduling Parallel Programs for Multiprocessors. MIT Press, CambridgeMATHGoogle Scholar
  30. 30.
    Semar Shahul Ahmed Zaki OS (2010) Scheduling task graphs optimally with a*. J Supercomput 51(3):310–332CrossRefGoogle Scholar
  31. 31.
    Shi Z, Dongarra JJ (2006) Scheduling workflow applications on processors with different capabilities. Futur Gener Comput Syst 22:665–675CrossRefGoogle Scholar
  32. 32.
    Shroff P, Watson D, Flann N, Freund R (1996) Genetic simulated annealing for scheduling data-dependent tasks in heterogeneous environments. In: Proceedings of heterogeneous computing workshop, pp 98–104Google Scholar
  33. 33.
    Sih GC, Lee EA (1993) A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures. IEEE Trans Parallel Distrib Syst 4(2):175–187CrossRefGoogle Scholar
  34. 34.
    Suter F, Desprez F, Casanova H (2004) From heterogeneous task scheduling to heterogeneous mixed parallel scheduling. In: In Euro-Par. Vivien, pp 230–237Google Scholar
  35. 35.
    Takamizawa K, Nishizeki T, Saito N (1982) Linear-time computability of combinatorial problems on series-parallel graphs. J ACM 29(3):623–641MathSciNetCrossRefMATHGoogle Scholar
  36. 36.
    Topcuouglu H, Hariri S, Wu, MY (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distrib Syst 13:260–274Google Scholar
  37. 37.
    Veldhorst M (1993) A linear time algorithm to schedule trees with communication delays optimally on two machines. Technical report, Utrecht University, NetherlandsGoogle Scholar
  38. 38.
    Wang G, Wang Y, Liu H, Guo H (2016) Hsip: A novel task scheduling algorithm for heterogeneous computing. Sci Programm 2016(1):1–11Google Scholar
  39. 39.
    Wu MY, Gajski DD (1990) Hypertool: a programming aid for message-passing systems. IEEE Trans Parallel Distribut Syst 1:330–343Google Scholar
  40. 40.
    Yang T, Gerasoulis A (1994) Dsc: Scheduling parallel tasks on an unbounded number of processors. IEEE Trans Parallel Distrib Syst 5:951–967CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  1. 1.Bahauddin Zakariya UniversityMultanPakistan

Personalised recommendations