Skip to main content
Log in

A hybrid list-based task scheduling scheme for heterogeneous computing

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

References

  1. Pop F, Iosup A, Prodan R (2018) HPS-HDS: high performance scheduling for heterogeneous distributed systems. Futur Gener Comput Syst 78:242–244

    Article  Google Scholar 

  2. 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

  3. 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

  4. Halim Z, Muhammad T (2017) Quantifying and optimizing visualization: An evolutionary computing-based approach. Inform Sci 385:284–313

  5. 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

    Article  Google Scholar 

  6. 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)

  7. 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

  8. 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

  9. Liou JC, Palis MA (1997) A comparison of general approaches to multiprocessor scheduling. In: Proceedings 11th international parallel processing symposium, pp 152–156

  10. 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

  11. 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

  12. 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

  13. 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

    Google Scholar 

  14. Ullman JD (1975) NP-complete scheduling problems. J Comput Syst Sci 10(3):384–393

    Article  MathSciNet  Google Scholar 

  15. 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

  16. Arabnejad H (2013) List based task scheduling algorithms on heterogeneous systems-an overview. In: Doctoral symposium in informatics engineering, p 93

  17. 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

  18. 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

    Article  Google Scholar 

  19. Wang G, Wang Y, Liu H, Guo H (2016) HSIP: a novel task scheduling algorithm for heterogeneous computing. Sci Program 2016:1–11

    Google Scholar 

  20. AlEbrahim S, Ahmad I (2017) Task scheduling for heterogeneous computing systems. J Supercomput 73(6):2313–2338

    Article  Google Scholar 

  21. 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

    Article  Google Scholar 

  22. 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

    Article  MathSciNet  Google Scholar 

  23. Papadimitriou CH, Yannakakis M (1990) Towards an architecture-independent analysis of parallel algorithms. SIAM J Comput 19(2):322–328

    Article  MathSciNet  Google Scholar 

  24. 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

  25. Ahmad I, Kwok Y-K (1998) On exploiting task duplication in parallel program scheduling. IEEE Trans Parallel Distrib Syst 9(9):872–892

    Article  Google Scholar 

  26. Kruatrachue B, Lewis T (1988) Grain size determination for parallel processing. IEEE Softw 5(1):23–32

    Article  Google Scholar 

  27. 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

    Article  Google Scholar 

  28. 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

  29. 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

    Article  MathSciNet  Google Scholar 

  30. Khan MA (2012) Scheduling for heterogeneous systems using constrained critical paths. Parallel Comput 38(4–5):175–193

    Article  Google Scholar 

  31. 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

  32. 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

    Article  Google Scholar 

  33. Keshanchi B, Navimipour NJ (2016) Priority-based task scheduling in the cloud systems using a memetic algorithm. J Circuits Syst Comput 25(10):1650119

    Article  Google Scholar 

  34. 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

    Article  Google Scholar 

  35. 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

  36. 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

    Article  Google Scholar 

  37. 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

  38. 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

  39. Ilavarasan E, Thambidurai P (2007) Low complexity performance effective task scheduling algorithm for heterogeneous computing environments. J Comput Sci 3(2):94–103

    Article  Google Scholar 

  40. 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

    Article  Google Scholar 

  41. 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

    Article  Google Scholar 

  42. 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

  43. 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

  44. 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

    Article  Google Scholar 

  45. 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

    Article  Google Scholar 

  46. 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

    Article  Google Scholar 

  47. 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

    Article  Google Scholar 

  48. 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

  49. Wu MY, Gajski DD (1990) Hypertool: a programming aid for message-passing systems. IEEE Trans parallel Distrib Syst 1(3):330–343

    Article  Google Scholar 

  50. Cosnard M, Marrakchi M, Robert Y, Trystram D (1988) Parallel Gaussian elimination on an MIMD computer. Parallel Comput 6(3):275–296

    Article  MathSciNet  Google Scholar 

  51. Cormen TH, Leiserson CE, Rivest RL (1990) Introduction to algorithms. Chap. 16: dynamic programming. MIT press, Cambridge

    Google Scholar 

  52. Kim SJ (1988) A general approach to mapping of parallel computations upon multiprocessor architectures. In: Proc. International Conference on Parallel Processing, vol. 3.

  53. 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

    Article  Google Scholar 

  54. 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

  55. 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

    Article  Google Scholar 

  56. 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

  57. 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

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Zahid Halim.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-021-03685-9

Keywords

Navigation