Abstract
Task scheduling and resource utilization have always been among the most critical issues for high performance in heterogeneous computing. The heterogeneity of computation costs on a given set of computing elements and the communication costs among computing elements increase the complexity of the scheduling problem. Extensive research proves that the list-based task scheduling algorithms generate the most efficient schedules for complex workflow applications in the heterogeneous computing environment. The workflow applications comprise thousands of interconnected tasks with dependencies. In the last decades, various list-based scheduling algorithms have been proposed to achieve some kinds of performance objectives such as minimization of makespan and energy consumption and maximization of resource utilization and reliability. In this article, various list-based workflow scheduling algorithms have been reviewed from the last two decades with the assumption of heterogeneous computing systems being used as the underlying computing infrastructure. This review process categorizes the algorithms based on scheduling objectives. For a better analysis of the algorithms, each algorithm is compared with other algorithms based on its objectives, merits, comparison metrics, workload type, experimental scale, experimental environment, and results compared. Finally, experimental analysis of seven state-of-art algorithms has been conducted on randomly generated workflow to understand the working of list-scheduling algorithms. The main purpose of this article is to give proper direction to new researchers who are willing to work in workflow scheduling in heterogeneous computing environments.
Similar content being viewed by others
Data Availability
The studies are conducted on already available data and materials.
References
Feitelson DG, Rudolph L, Schwiegelshohn U, Sevcik KC, Wong P (1997) Theory and practice in parallel job scheduling. Workshop on job scheduling strategies for parallel processing. Springer, Berlin, Heidelberg, pp 1–34
Yu J, Ramamohanarao K, Buyya R (2009) Deadline/budget-based scheduling of workflows on utility grids. Market-Oriented Grid Utility Comput 200(9):427–450
Hagras T, Janecek J (2004) A high performance, low complexity algorithm for compile-time task scheduling in heterogeneous systems. 18th international parallel and distributed processing symposium, 2004: proceedings. IEEE, p 107
AlEbrahim S, Ahmad I (2017) Task scheduling for heterogeneous computing systems. J Supercomput 73(6):2313–2338
Chu WW, Lan MT, Hellerstein J (1984) Estimation of intermodule communication (IMC) and its applications in distributed processing systems. IEEE Trans Comput 100(8):691–699
Palis MA, Liou JC, Rajasekaran S, Shende S, Wei DS (1995) Online scheduling of dynamic trees. Parallel Process Lett 5(04):635–646
Zhang W, Korf RE (1995) Performance of linear-space search algorithms. Artif Intell 79(2):241–292
Kokash N (2005) An introduction to heuristic algorithms. Department of Informatics and Telecommunications, pp 1–8
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
Bittencourt LF, Madeira ER (2008) A performance-oriented adaptive scheduler for dependent tasks on grids. Concurrency Comput: Practice Exp 20(9):1029–1049
Liou JC, Palis MA (1996, October) An efficient task clustering heuristic for scheduling workflows on multiprocessors. In: Workshop on resource management, symposium on parallel and distributed processing, pp. 152–156
Nath R, Nagaraju A, Sreevathsa MN (2020) Multi-workflow concurrent scheduling in a heterogeneous computing cluster. J Sci Ind Res (JSIR) 79(06):517–525
Topcuoglu H, Hariri S, Wu MY (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distrib Syst 13(3):260–274
Sinnen O, Sousa L (2001) Exploiting unused time slots in list scheduling considering communication contention. European conference on parallel processing. Springer, Berlin, Heidelberg, pp 166–170
Hagras T, Janecek J (2003) A simple scheduling heuristic for heterogeneous computing environments. Parallel and distributed computing, international symposium on. IEEE Computer Society, pp 104–104
Ahmad I, Kwok YK (1998) On exploiting task duplication in parallel program scheduling. IEEE Trans Parallel Distrib Syst 9(9):872–892
Darbha S, Agrawal DP (1998) Optimal scheduling algorithm for distributed-memory machines. IEEE Trans Parallel Distrib Syst 9(1):87–95
Ahmed I, Kwork Y (1997) A comparison of task-duplication-based algorithms for scheduling parallel programs to message-passing systems. In Proceedings of th 11th International Symposium of High-Performance Computing Systems, pp. 39–50
Papadimitriou CH, Yannakakis M (1990) Towards an architecture-independent analysis of parallel algorithms. SIAM J Comput 19(2):322–328
Sakellariou R, Zhao H (2004) A hybrid heuristic for workflow scheduling on heterogeneous systems. 18th international parallel and distributed processing symposium, 2004: proceedings. IEEE, p 111
Daoud MI, Kharma N (2006) Efficient compile-time task scheduling for heterogeneous distributed computing systems. 12th Int Conf Parallel Distrib Syst (ICPADS’06) 1:9
Shi Z, Jeannot E, Dongarra JJ (2006) Robust task scheduling in non-deterministic heterogeneous computing systems. 2006 IEEE international conference on cluster computing. IEEE, pp 1–10
Yang CH, Lee P, Chung YC (2007) Improving static task scheduling in heterogeneous and homogeneous computing systems. 2007 International conference on parallel processing (ICPP 2007). IEEE, pp 45–45
Ilavarasan E, Thambidurai P (2007) Low complexity performance effective task scheduling algorithm for heterogeneous computing environments. J Comput Sci 3(2):94–103
Kim SC, Lee S, Hahm J (2007) Push-pull: deterministic search-based workflow scheduling for heterogeneous cluster systems. IEEE Trans Parallel Distrib Syst 18(11):1489–1502
Daoud MI, Kharma N (2008) A high performance algorithm for static task scheduling in heterogeneous distributed computing systems. J Parallel Distrib Comput 68(4):399–409
Zhou L, Shixin S (2008) Scheduling algorithm based on critical tasks in heterogeneous environments. J Syst Eng Electron 19(2):398–404
Tang X, Li K, Padua D (2009) Communication contention in APN list scheduling algorithm. Sci China Ser F: Inf Sci 52(1):59–69
Bittencourt LF, Sakellariou R, Madeira ER (2010) Workflow scheduling using a lookahead variant of the heterogeneous earliest finish time algorithm. 2010 18th Euromicro conference on parallel, distributed and network-based processing. IEEE, pp 27–34
Chitra P, Rajaram R, Venkatesh P (2011) Application and comparison of hybrid evolutionary multiobjective optimization algorithms for solving task scheduling problem on heterogeneous systems. Appl Soft Comput 11(2):2725–2734
Li K (2012) Scheduling precedence constrained tasks with reduced processor energy on multiprocessor computers. IEEE Trans Comput 61(12):1668–1681
Wang S, Li K, Mei J, Xiao G, Li K (2017) A reliability-aware task scheduling algorithm based on replication on heterogeneous computing systems. J Grid Comput 15(1):23–39
Shetti KR, Fahmy SA, Bretschneider T (2013) Optimization of the HEFT Algorithm for a CPU-GPU Environment. 2013 International conference on parallel and distributed computing, application and technoologies. IEEE, pp 212–218
Zheng W, Sakellariou R (2013) Stochastic workflow scheduling using a Monte Carlo approach. J Parallel Distrib Comput 73(12):1673–1689
Dai Y, Zhang X (2014) A synthesized heuristic task scheduling algorithm. Sci World J 2014:1–9
Arabnejad H, Barbosa JG (2013) List scheduling algorithm for heterogeneous systems by an optimistic cost table. IEEE Trans Parallel Distrib Syst 25(3):682–694
Huang KC, Tsai YL, Liu HC (2015) Task ranking and allocation in list-based workflow scheduling on parallel computing platform. J Supercomput 71(1):217–240
Zhou N, Qi D, Wang X, Zheng Z, Lin W (2017) A list scheduling algorithm for heterogeneous systems based on a critical node cost table and pessimistic cost table. Concurrency and Computation: Practice and Experience 29(5):e3944
Wang G, Wang Y, Liu H, Guo H (2016) HSIP: A novel task scheduling algorithm for heterogeneous computing. Sci Programm. 2016:1–11
Beaumont O, Eyraud-Dubois L, Kumar S (2017) Approximation proofs of a fast and efficient list scheduling algorithm for task-based runtime systems on multicores and gpus. 2017 IEEE international parallel and distributed processing symposium (IPDPS). IEEE, pp 768–777
Tariq R, Aadil F, Malik MF, Ejaz S, Khan MU, Khan MF (2018) Directed acyclic graph based task scheduling algorithm for heterogeneous systems. Proceedings of SAI intelligent systems conference. Springer, Cham, pp 936–947
Ranaweera S, Agrawal DP (2000) A task duplication based scheduling algorithm for heterogeneous systems. Proceedings 14th international parallel and distributed processing symposium: IPDPS 2000. IEEE, pp 445–450
Dogan A, Ozguner R (2002) LDBS: a duplication based scheduling algorithm for heterogeneous computing systems. Proceedings international conference on parallel processing. IEEE, pp 352–359
Kwok YK, Ahmad I (1999) Benchmarking and comparison of the task graph scheduling algorithms. J Parallel Distrib Comput 59(3):381–422
Park GL, Shirazi B, Marquis J (1997) DFRN: A new approach for duplication based scheduling for distributed memory multiprocessor systems. Proceedings 11th international parallel processing symposium. IEEE, pp 157–166
Wang H, Sinnen O (2018) List-scheduling versus cluster-scheduling. IEEE Trans Parallel Distrib Syst 29(8):1736–1749
Raji M, Nikseresht M (2022) UMOTS: an uncertainty-aware multi-objective genetic algorithm-based static task scheduling for heterogeneous embedded systems. J Supercomput 78(1):279–314
Jia ZH, Pan L, Liu X, Li XJ (2021) A novel cloud workflow scheduling algorithm based on stable matching game theory. J Supercomput 77(10):11597–11624
Abualigah L, Alkhrabsheh M (2022) Amended hybrid multi-verse optimizer with genetic algorithm for solving task scheduling problem in cloud computing. J Supercomput 78(1):740–765
Wang L, Wang C, Wang H (2022) Improved scheduling algorithm for synchronous data flow graphs on a homogeneous multi-core systems. Algorithms 15(2):56
Xian-Fu M, Wei-Wei L (2010) A workflow scheduling algorithm based on selected duplication of precedent tasks. J Comput Aid Design Comput Graphics 6.
Radulescu A, Van Gemund AJ (2000) Fast and effective task scheduling in heterogeneous systems. Proceedings 9th heterogeneous computing workshop (HCW 2000) (Cat. No. PR00556). IEEE, pp 229–238
Ahmad W, Alam B, Malik S (2019) Performance analysis of list scheduling algorithms by random synthetic workflows. In Proceedings of 2nd international conference on advanced computing and software engineering (ICACSE).
Zhang L, Ai M, Tan R, Man J, Deng X, Li K (2023) Efficient prediction of makespan matrix workflow scheduling algorithm for heterogeneous cloud environments. J Grid Comput 21(4):75
Mikram H, El Kafhali S, Saadi Y (2024) HEPGA: A new effective hybrid algorithm for scientific workflow scheduling in cloud computing environment. Simul Model Pract Theory 130:102864
Beaty SJ (1992) Lookahead scheduling. ACM SIGMICRO Newslett 23(1–2):256–259
Shirazi B, Wang M, Pathak G (1990) Analysis and evaluation of heuristic methods for static task scheduling. J Parallel Distrib Comput 10(3):222–232
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
Fan H, Deng H, Ye X (2017) Critical node dynamic scheduling algorithm for a multiprocessor system. Revista de la Facultad de Ingenieria 32(1):555–563
Hwang JJ, Chow YC, Anger FD, Lee CY (1989) Scheduling precedence graphs in systems with interprocessor communication times. SIAM J Comput 18(2):244–257
Kwok YK, Ahmad I (1996) Dynamic critical-path scheduling: an effective technique for allocating task graphs to multiprocessors. IEEE Trans Parallel Distrib Syst 7(5):506–521
Zahran M (2017) Heterogeneous computing: here to stay. Commun ACM 60(3):42–45
Bleuse R, Gautier T, Lima JV, Mounié G, Trystram D (2014) Scheduling data flow program in XKaapi: a new affinity based algorithm for heterogeneous architectures. European conference on parallel processing. Springer, Cham, pp 560–571
Lawler EL, Lenstra JK, Kan AHR, Shmoys DB (1993) Sequencing and scheduling: algorithms and complexity. Handbooks Oper Res Manage Sci 4:445–522
Son JH, Kim JS, Kim MH (2005) Extracting the workflow critical path from the extended well-formed workflow schema. J Comput Syst Sci 70(1):86–106
Ullman JD (1975) NP-complete scheduling problems. J Comput Syst Sci 10(3):384–393
Hagras T, Janecek J (2004) An approach to compile-time task scheduling in heterogeneous computing systems. Workshops on mobile and wireless networking/high performance scientific, engineering computing/network design and architecture/optical networks control and management/ad hoc and sensor networks/compil. IEEE, pp 182–189
Arif MS, Iqbal Z, Tariq R, Aadil F, Awais M (2019) Parental prioritization-based task scheduling in heterogeneous systems. Arab J Sci Eng 44(4):3943–3952
Canon LC, Jeannot E, Sakellariou R, Zheng W (2008) Comparative evaluation of the robustness of workflow scheduling heuristics. Grid Comput. Springer, Boston, pp 73–84
Tang X, Li K, Liao G, Li R (2010) List scheduling with duplication for heterogeneous computing systems. J Parallel Distrib Comput 70(4):323–329
Qasim M, Iqbal T, Munir EU, Tziritas N, Khan SU, Yang LT (2017) Dynamic mapping of application workflows in heterogeneous computing environments. 2017 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). IEEE, pp 462–471
Ahmad W, Alam B (2020) An efficient list scheduling algorithm with task duplication for scientific big data workflow in heterogeneous computing environments. Concurrency Computation: Practice Exp:e5987
Durillo JJ, Nae V, Prodan R (2014) Multi-objective energy-efficient workflow scheduling using list-based heuristics. Futur Gener Comput Syst 36:221–236
Nassiri S, Naghibzadeh M (2017) Scheduling hybrid workflows using extended look-ahead approach in utility grid. 2017 9th international conference on information and knowledge technology (IKT). IEEE, pp 54–61
Hu F, Quan X, Lu C (2018, April) A schedule method for parallel applications on heterogeneous distributed systems with energy consumption constraint. In Proceedings of the 3rd international conference on multimedia systems and signal processing, pp. 134–141
Xiao X, Xie G, Li R, Li K (2016) Minimizing schedule length of energy consumption constrained parallel applications on heterogeneous distributed systems. 2016 IEEE trustcom/BigDataSE/ISPA. IEEE, pp 1471–1476
Hu Y, Li J, He L (2020) A reformed task scheduling algorithm for heterogeneous distributed systems with energy consumption constraints. Neural Comput Appl 32(10):5681–5693
Liang B, Dong X, Wang Y, Zhang X (2020) A low-power task scheduling algorithm for heterogeneous cloud computing. J Supercomput 76:1–25
Deb K (2001) Multi-objective optimization using evolutionary algorithms, vol 16. John Wiley & Sons
Chankong V, Haimes YY (2008) Multiobjective decision making: theory and methodology. Courier Dover Publications
Chlamtac I, Conti M, Liu JJN (2003) Mobile ad hoc networking: imperatives and challenges. Ad Hoc Netw 1(1):13–64
Zhang L, Li K, Li C, Li K (2017) Bi-objective workflow scheduling of the energy consumption and reliability in heterogeneous computing systems. Inf Sci 379:241–256
Qin Y, Wang H, Yi S, Li X, Zhai L (2020) An energy-aware scheduling algorithm for budget-constrained scientific workflows based on multi-objective reinforcement learning. J Supercomput 76(1):455–480
Han P, Du C, Chen J, Ling F, Du X (2020) Cost and makespan scheduling of workflows in clouds using list multiobjective optimization technique. J Syst Architect 101837
Zitzler E, Thiele L (1999) Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach. IEEE Trans Evol Comput 3(4):257–271
Arabnejad H, Barbosa JG (2014) A budget constrained scheduling algorithm for workflow applications. J Grid Comput 12(4):665–679
Deb K (2014) Multi-objective optimization. Search methodologies. Springer, Boston, pp 403–449
Xu Y, Li K, Hu J, Li K (2014) A genetic algorithm for task scheduling on heterogeneous computing systems using multiple priority queues. Inf Sci 270:255–287
Suter F. A synthetic task graph generator. https://github.com/frs69wq/workflowgen. Accessed 21 May 2022
Zhang L, Li K, Xu Y, Mei J, Zhang F, Li K (2015) Maximizing reliability with energy conservation for parallel task scheduling in a heterogeneous cluster. Inf Sci 319:113–131
Funding
The authors did not receive funding support from any organization for the submitted work.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflicts of interest to report regarding the present study.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Ahmad, W., Gautam, G., Alam, B. et al. An Analytical Review and Performance Measures of State-of-Art Scheduling Algorithms in Heterogenous Computing Enviornment. Arch Computat Methods Eng (2024). https://doi.org/10.1007/s11831-024-10069-8
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s11831-024-10069-8