Abstract
Efficient task scheduling is required to attain high performance in both homogeneous and heterogeneous computing systems. An application can be considered as a task grid represented using a Directed Acyclic Graph (DAG). Solving such DAG representing a scheduling problem is an NP-complete task. The primary concern in this problem domain is to reduce the schedule length with minimum complexity. This work presents a Hybrid List-based Task Scheduling using Duplication Scheme (HLTSD) algorithm for heterogeneous processors. The proposed HLTSD algorithm has the same time complexity as that of the recent state-of-the-art algorithms. However, it produces a minimum cost schedule in comparison with other related methods. This work also presents a mathematical formulation to find task priorities. The processor selection phase is improved by utilizing the techniques, like entry task duplication, insertion-based policy, duplication of parent task on other levels, and balancing the load on each processor. The current proposal minimizes the overall makespan of execution by reasonable levels. Performance of the proposed algorithm is evaluated using DAGs adopted from various state-of-the-art algorithms, real-world problems, like Gaussian elimination (GE) and fast Fourier transformation (FFT) task graph and randomly generated graphs with diverse characteristics. The proposed scheme is compared with four state-of-the-art list-based scheduling algorithms, namely Heterogeneous Earliest Finish Time (HEFT), Predict Earliest Finish Time (PEFT), Heterogeneous Scheduling with Improved task Priority (HSIP), and Task Scheduling for Heterogeneous Computing Systems (TSHCS). Based on the best quality schedule, the obtained results suggest that HLTSD has better results in 87% cases.
Similar content being viewed by others
References
Pop F, Iosup A, Prodan R (2018) HPS-HDS: high performance scheduling for heterogeneous distributed systems. Futur Gener Comput Syst 78:242–244
Mathew T, Sekaran KC, Jose J (2014) Study and analysis of various task scheduling algorithms in the cloud computing environment. In: 2014 International conference on advances in computing, communications and informatics (ICACCI), pp 658–664
Zhou H , Liu C (2014) Task mapping in heterogeneous embedded systems for fast completion time. In: 2014 International conference on embedded software (EMSOFT), pp 1–10
Halim Z, Muhammad T (2017) Quantifying and optimizing visualization: An evolutionary computing-based approach. Inform Sci 385:284–313
Teixeira FA, Pereira FM, Wong HC, Nogueira JM, Oliveira LB (2019) SIoT: securing internet of things through distributed systems analysis. Future Gen Computer Syst 92:1172–1186
Maheswaran M, Braun TD, Siegel HJ (1999) Heterogeneous distributed computing. In: Webster J (ed) Encyclopedia of electrical and electronics engineering. Wiley, New York, NY (to appear)
Feitelson DG, Rudolph L, Schwiegelshohn U, Sevcik KC, Wong P (1997) Theory and practice in parallel job scheduling. In: Workshop on job scheduling strategies for parallel processing, pp 1–34
Kwok YK, Ahmad I (1998) Benchmarking the task graph scheduling algorithms. In: Proceedings of the first merged international parallel processing symposium and symposium on parallel and distributed processing, pp 531–537
Liou JC, Palis MA (1997) A comparison of general approaches to multiprocessor scheduling. In: Proceedings 11th international parallel processing symposium, pp 152–156
Hagras T, Janecek J (2004) A high performance, low complexity algorithm for compile-time task scheduling in heterogeneous systems. In: 18th international parallel and distributed processing symposium, p 107
Yang C-H, Lee P, Chung Y-C (2007) Improving static task scheduling in heterogeneous and homogeneous computing systems. In: Proceedings of the 2007 international conference on parallel processing, p 45
Canon LC, Jeannot E, Sakellariou R, Zheng W (2008) Comparative evaluation of the robustness of DAG scheduling heuristics. In: Gorlatch S, Fragopoulou P, Priol T (eds) Grid computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09457-1_7
Young C-P, Chang BR, Qiu Z-L (2012) Scheduling optimization for vector graphics acceleration on multiprocessor systems. J Inf Hiding Multimed Signal Process 3(3):248–278
Ullman JD (1975) NP-complete scheduling problems. J Comput Syst Sci 10(3):384–393
Kwok Y-K, Ahmad I, Gu J (1996) FAST: A low-complexity algorithm for efficient scheduling of DAGs on parallel processors. In: Proceedings of the 1996 ICPP workshop on challenges for parallel processing, vol 2, pp 150–157
Arabnejad H (2013) List based task scheduling algorithms on heterogeneous systems-an overview. In: Doctoral symposium in informatics engineering, p 93
Venugopalan S, Sinnen O (20120) Optimal linear programming solutions for multiprocessor scheduling with communication delays. In: International conference on algorithms and architectures for parallel processing, pp 129–138
Topcuoglu H, Hariri S, Wu M (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distrib Syst 13(3):260–274
Wang G, Wang Y, Liu H, Guo H (2016) HSIP: a novel task scheduling algorithm for heterogeneous computing. Sci Program 2016:1–11
AlEbrahim S, Ahmad I (2017) Task scheduling for heterogeneous computing systems. J Supercomput 73(6):2313–2338
Lin C-S, Lin C-S, Lin Y-S, Hsiung P-A, Shih C (2013) Multi-objective exploitation of pipeline parallelism using clustering, replication and duplication in embedded multi-core systems. J Syst Archit 59(10):1083–1094
Munier A, Hanen C (1997) Using duplication for scheduling unitary tasks on m processors with unit communication delays. Theor Comput Sci 178(1–2):119–127
Papadimitriou CH, Yannakakis M (1990) Towards an architecture-independent analysis of parallel algorithms. SIAM J Comput 19(2):322–328
Chung Y-C, Ranka S (1992) Applications and performance analysis of a compile-time optimization approach for list scheduling algorithms on distributed memory multiprocessors. In: Supercomputing’92: Proceedings of the 1992 ACM/IEEE conference on supercomputing, pp 512–521
Ahmad I, Kwok Y-K (1998) On exploiting task duplication in parallel program scheduling. IEEE Trans Parallel Distrib Syst 9(9):872–892
Kruatrachue B, Lewis T (1988) Grain size determination for parallel processing. IEEE Softw 5(1):23–32
Palis MA, Liou J-C, Wei DSL (1996) Task clustering and scheduling for distributed memory parallel architectures. IEEE Trans Parallel Distrib Syst 7(1):46–55
Park GL, Shirazi B, Marquis J (1997) DFRn: a new approach for duplication based scheduling for distributed memory multiprocessor systems. In: Proceedings 11th international parallel processing symposium, pp 157–166
Mishra PK, Mishra A, Mishra KS, Tripathi AK (2012) Benchmarking the clustering algorithms for multiprocessor environments using dynamic priority of modules. Appl Math Model 36(12):6243–6263
Khan MA (2012) Scheduling for heterogeneous systems using constrained critical paths. Parallel Comput 38(4–5):175–193
Gupta S, Kumar V, Agarwal G (2010) Task scheduling in multiprocessor system using genetic algorithm. In: 2010 Second international conference on machine learning and computing, pp 267–271
Akbari M, Rashidi H, Alizadeh SH (2017) An enhanced genetic algorithm with new operators for task scheduling in heterogeneous computing systems. Eng Appl Artif Intell 61:35–46
Keshanchi B, Navimipour NJ (2016) Priority-based task scheduling in the cloud systems using a memetic algorithm. J Circuits Syst Comput 25(10):1650119
Braun TD et al (2001) A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems. J Parallel Distrib Comput 61(6):810–837
Munir U, Mohsin S, Hussain A, Nisar MW, Ali S (2013) SDBATS: a novel algorithm for task scheduling in heterogeneous computing systems. In: 2013 IEEE international symposium on parallel & distributed processing, workshops and phd forum, pp 43–53
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
Hagras T, Janecek J (2003) A simple scheduling heuristic for heterogeneous computing environments. In: Proceedings of the second international conference on parallel and distributed computing, pp 104–110
Ilavarasan E, Thambidurai P, Mahilmannan R (2005) High performance task scheduling algorithm for heterogeneous computing system. In: International conference on algorithms and architectures for parallel processing, pp 193–203
Ilavarasan E, Thambidurai P (2007) Low complexity performance effective task scheduling algorithm for heterogeneous computing environments. J Comput Sci 3(2):94–103
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
Bansal S, Kumar P, Singh K (2003) An improved duplication strategy for scheduling precedence constrained graphs in multiprocessor systems. IEEE Trans Parallel Distrib Syst 14(6):533–544
Shetti KR, Fahmy SA, Bretschneider T (2013) Optimization of the HEFT algorithm for a CPU-GPU environment. In: 2013 International conference on parallel and distributed computing, applications and technologies, pp 212–218
Herrmann J, Marchal J, Robert Y (2014) Memory-aware list scheduling for hybrid platforms. In: 2014 IEEE international parallel & distributed processing symposium workshops, pp 689–698
Su S, Li J, Huang Q, Huang X, Shuang K, Wang J (2013) Cost-efficient task scheduling for executing large programs in the cloud. Parallel Comput 39(4–5):177–188
Wang Y, Li K, Chen H, He L, Li K (2014) Energy-aware data allocation and task scheduling on heterogeneous multiprocessor systems with time constraints. IEEE Trans Emerg Top Comput 2(2):134–148
Huang KC, Tsai Y-L, Liu H-C (2015) Task ranking and allocation in list-based workflow scheduling on parallel computing platform. J Supercomput 71(1):217–240
Arabnejad H, Barbosa JG (2014) List scheduling algorithm for heterogeneous systems by an optimistic cost table. IEEE Trans Parallel Distrib Syst 25(3):682–694
Bittencourt LF, Sakellariou R, Madeira ERM (2010) Dag scheduling using a lookahead variant of the heterogeneous earliest finish time algorithm. In: 2010 18th Euromicro conference on parallel, distributed and network-based processing, pp 27–34
Wu MY, Gajski DD (1990) Hypertool: a programming aid for message-passing systems. IEEE Trans parallel Distrib Syst 1(3):330–343
Cosnard M, Marrakchi M, Robert Y, Trystram D (1988) Parallel Gaussian elimination on an MIMD computer. Parallel Comput 6(3):275–296
Cormen TH, Leiserson CE, Rivest RL (1990) Introduction to algorithms. Chap. 16: dynamic programming. MIT press, Cambridge
Kim SJ (1988) A general approach to mapping of parallel computations upon multiprocessor architectures. In: Proc. International Conference on Parallel Processing, vol. 3.
Tian Q, Li J, Xue D, Wu W, Wang J, Chen L, Wang J (2020) A hybrid task scheduling algorithm based on task clustering. Mob Netw Appl 25(4):1518–1527
M. Akbari (2020). Hybrid approach based on cuckoo optimization algorithm and genetic algorithm for task scheduling. Evol Intel. https://doi.org/10.1007/s12065-020-00471-z
Houssein EH, Gad AG, Wazery YM, Suganthan PN (2021) Task Scheduling in cloud computing based on meta-heuristics: review, taxonomy, open challenges, and future trends. Swarm Evol Comput 62:100841
Halim Z, Ali O, Khan G (2019) On the efficient representation of datasets as graphs to mine maximal frequent itemsets. IEEE Trans Knowl Data Eng
Halim Z, Rehan M (2020) On identification of driving-induced stress using electroencephalogram signals: a framework based on wearable safety-critical scheme and machine learning. Inf Fusion 53:66–79
Acknowledgements
The authors would like to thank Ghulam Ishaq Khan Institute of Engineering Sciences and Technology, for providing research funding and facilities. The authors are indebted to the editor and anonymous reviewers for their helpful comments and suggestions. This work was supported by the GIK Institute graduate program research fund under GA-1 scheme.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Sulaiman, M., Halim, Z., Waqas, M. et al. A hybrid list-based task scheduling scheme for heterogeneous computing. J Supercomput 77, 10252–10288 (2021). https://doi.org/10.1007/s11227-021-03685-9
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-021-03685-9