Abstract
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.
Similar content being viewed by others
Notes
The cost of communication between similar cores or processors is considered negligible.
The processor \(P_1\) is available in the slot just after execution of the task C.
The slowest and the fastest processor both will result in similar comparative performance of the algorithms.
References
Abdel-Wahab HM, Kameda T (1978) Scheduling to minimize maximum cumulative cost subject to series-parallel precedence constraints. Oper Res 26(26):141–158
Ahmad I, Kwok YK (1998) On exploiting task duplication in parallel program scheduling. IEEE Trans Parallel Distrib Syst 9(9):872–892
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–1401
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–691
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–192
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
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–871
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–290
Chretienne P (1992) Task scheduling with interprocessor communication delays. Eur J Oper Res 57(3):348–354
Cirou B, Jeannot E (2001) Triplet: a clustering scheduling algorithm for heterogeneous systems. In: IEEE symposium on reliable distributed systems. IEEE, pp 231–236
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–469
Dai Y, Zhang X (2014) A synthesized heuristic task scheduling algorithm. SciWorldJ 2014(1):1–9
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–763
Darbha S, Agrawal DP (1998) Optimal scheduling algorithm for distributed-memory machines. IEEE Trans Parallel Distrib Syst 9:87–95
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. http://pegasus.isi.edu/publications/2014/2014-fgcs-deelman.pdf
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–359
Gerasoulis A, Yang T (1992) A comparison of clustering heuristics for scheduling directed acyclic graphs on multiprocessors. J Parallel Distrib Comput 16(4):276–291
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–97
Hou ESH, Ansari N, Ren H (1994) A genetic algorithm for multiprocessor scheduling. IEEE Trans Parallel Distrib Syst 5(2):113–120
Jiang YS, Chen WM (2015) Task scheduling for grid computing systems using a genetic algorithm. J Supercomput 71(4):1357–1377
Khan MA (2012) Scheduling for heterogeneous systems using constrained critical paths. Parallel Comput 38(4–5):175–193
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–8
Kruatrachue B, Lewis T (1988) Grain size determination for parallel processing. IEEE Softw 5:23–32
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 –433
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–156
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 57
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–513
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–166
Sarkar V (1989) Partitioning and Scheduling Parallel Programs for Multiprocessors. MIT Press, Cambridge
Semar Shahul Ahmed Zaki OS (2010) Scheduling task graphs optimally with a*. J Supercomput 51(3):310–332
Shi Z, Dongarra JJ (2006) Scheduling workflow applications on processors with different capabilities. Futur Gener Comput Syst 22:665–675
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–104
Sih GC, Lee EA (1993) A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures. IEEE Trans Parallel Distrib Syst 4(2):175–187
Suter F, Desprez F, Casanova H (2004) From heterogeneous task scheduling to heterogeneous mixed parallel scheduling. In: In Euro-Par. Vivien, pp 230–237
Takamizawa K, Nishizeki T, Saito N (1982) Linear-time computability of combinatorial problems on series-parallel graphs. J ACM 29(3):623–641
Topcuouglu H, Hariri S, Wu, MY (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distrib Syst 13:260–274
Veldhorst M (1993) A linear time algorithm to schedule trees with communication delays optimally on two machines. Technical report, Utrecht University, Netherlands
Wang G, Wang Y, Liu H, Guo H (2016) Hsip: A novel task scheduling algorithm for heterogeneous computing. Sci Programm 2016(1):1–11
Wu MY, Gajski DD (1990) Hypertool: a programming aid for message-passing systems. IEEE Trans Parallel Distribut Syst 1:330–343
Yang T, Gerasoulis A (1994) Dsc: Scheduling parallel tasks on an unbounded number of processors. IEEE Trans Parallel Distrib Syst 5:951–967
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Khan, M.A. Task scheduling for heterogeneous systems using an incremental approach. J Supercomput 73, 1905–1928 (2017). https://doi.org/10.1007/s11227-016-1894-5
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-016-1894-5