Skip to main content

Advertisement

Log in

Enhanced genetic algorithm with some heuristic principles for task graph scheduling

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

Abstract

Multiprocessor systems with parallel computing play an important role in data processing. Considering the optimal use of existing computing systems, scheduling on parallel systems has gained great significance. Usually, a sequential program to run on parallel systems is modeled by a task graph. Because scheduling of task graphs onto processors is considered the most crucial NP-complete problem, many attempts have been made to find the most approximate optimal scheduling using genetic algorithms. Its chromosomal representation largely influences the performance of the genetic algorithm. The chromosomal structure used in the existing genetic algorithms does not entirely scan the solution space. As a result, these algorithms fail to produce an appropriate schedule frequently. To overcome this constraint, the present study proposed a new method for constructing chromosomal representation. The proposed approach was divided into three phases: ranking, clustering, and cluster scheduling, where a genetic algorithm schedules clusters. To optimize the proposed genetic algorithm’s performance, it was equipped with four heuristic principles: load balancing, reuse of idle time, task duplication, and critical path. Finally, by comparing the obtained results for 6 task graphs in 3 types, the amount of optimization was equal to the results of previous best algorithm, but in the other 3 types, the amount of optimization was a value between 4.25 and 6.88%.

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.

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
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20

Similar content being viewed by others

Notes

  1. A Iranian Software for Landscape Allocation using Genetic Algorithm(LAGA).

References

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

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

    Article  Google Scholar 

  3. Bahnasawy NA, Koutb MA, Mosa M, Omara F (2011) A new algorithm for static task scheduling for heterogeneous distributed computing systems. Afr J Math Comput Sci Res 3(6):221–234

    Google Scholar 

  4. Boveiri HR (2020) An enhanced cuckoo optimization algorithm for task graph scheduling in cluster-computing systems. Soft Comput 24(13):10075–10093

    Article  Google Scholar 

  5. Boveiri HR, Khayami R, Elhoseny M, Gunasekaran M (2019) An efficient swarm-intelligence approach for task scheduling in cloud-based internet of things applications. J Ambient Intell Humaniz Comput 10(9):3469–3479

    Article  Google Scholar 

  6. Brest J, Zumer V (2001) A comparison of the static task graph scheduling algorithms. In: Proceedings of the 23rd international conference on information technology interfaces. ITI 2001. pp 43–48. IEEE

  7. 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  MATH  Google Scholar 

  8. Davidović T, Crainic TG (2006) Benchmark-problem instances for static scheduling of task graphs with communication delays on homogeneous multiprocessor systems. Comput Oper Res 33(8):2155–2177

    Article  MathSciNet  MATH  Google Scholar 

  9. Gholami H, Zakerian R (2020) A list-based heuristic algorithm for static task scheduling in heterogeneous distributed computing systems. In: 2020 6th international conference on web research (ICWR), pp 21–26. IEEE

  10. Hall M, Padua D, Pingali K (2009) Compiler research: the next 50 years. Commun ACM 52(2):60–67

    Article  Google Scholar 

  11. Izadkhah H (2019) Learning based genetic algorithm for task graph scheduling. Appl Comput Intell Soft Comput. https://doi.org/10.1155/2019/6543957

    Article  Google Scholar 

  12. Jiang X, Li S (2017) Bas: beetle antennae search algorithm for optimization problems. arXiv:1710.10724

  13. Keshanchi B, Souri A, Navimipour NJ (2017) An improved genetic algorithm for task scheduling in the cloud environments using the priority queues: formal verification, simulation, and statistical testing. J Syst Softw 124:1–21

    Article  Google Scholar 

  14. Kwok Y-K, Ahmad I (2005) On multiprocessor task scheduling using efficient state space search approaches. J Parallel Distrib Comput 65(12):1515–1532

    Article  MATH  Google Scholar 

  15. Lin X, Wang Y, Xie Q, Pedram M (2014) Task scheduling with dynamic voltage and frequency scaling for energy minimization in the mobile cloud computing environment. IEEE Trans Serv Comput 8(2):175–186

    Article  Google Scholar 

  16. Liu Y, Meng L, Tomiyama H (2019) A genetic algorithm for scheduling of data-parallel tasks on multicore architectures. IPSJ Trans Syst LSI Des Methodol 12:74–77

    Article  Google Scholar 

  17. Nasr AA, El-Bahnasawy NA, El-Sayed A (2015) Task scheduling algorithm for high performance heterogeneous distributed computing systems. Int J Comput Appl 110(16):23–29

    Google Scholar 

  18. Nikravan M, Kashani MH (2007) A genetic algorithm for process scheduling in distributed operating systems considering load balancing. In: Proc. of 21st European conference on modelling and simulation, ECMS. ISBN 978-0-9553018-2-7, ISBN 978-0-9553018-3-4 (CD)

  19. NoorianTalouki R, Shirvani MH, Motameni H (2021) A heuristic-based task scheduling algorithm for scientific workflows in heterogeneous cloud computing platforms. J King Saud Univ-Comput Inf Sci. https://doi.org/10.1016/j.jksuci.2021.05.011

    Article  Google Scholar 

  20. Omara FA, Arafa MM (2009) Genetic algorithms for task scheduling problem. In: Abraham A, Hassanien AE, Siarry P, Engelbrecht A (eds) Foundations of computational intelligence, volume 3. Studies in computational intelligence, vol 203. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-01085-9_16

    Chapter  Google Scholar 

  21. Page AJ, Naughton TJ (2005) Framework for task scheduling in heterogeneous distributed computing using genetic algorithms. Artif Intell Rev 24(3–4):415–429

    Article  Google Scholar 

  22. Panda SK, Jana PK (2015) Efficient task scheduling algorithms for heterogeneous multi-cloud environment. J Supercomput 71(4):1505–1533

    Article  Google Scholar 

  23. Parsa S, Lotfi S, Lotfi N (2007) An evolutionary approach to task graph scheduling. In: International conference on adaptive and natural computing algorithms, pp 110–119. Springer

  24. Rajak R, Katti C, Rajak N (2013) A modified task scheduling algorithm of task graph without communication time. Int J New Comput Archit Appl (IJNCAA) 3(4):88–93

    Google Scholar 

  25. Ramezani R (2020) Dynamic scheduling of task graphs in multi-fpga systems using critical path. J Supercomput, pp 1–22

  26. Shamlou MN, Izadkhah H (2018) Enhanced genetic algorithm with some heuristic principles for task graph scheduling. In: DCHPC 2018: international conference on distributed computing and high performance computing

  27. Shirvani MH (2020) A hybrid meta-heuristic algorithm for scientific workflow scheduling in heterogeneous distributed computing systems. Eng Appl Artif Intell 90:103501

    Article  Google Scholar 

  28. Silva E, Gabriel P (2019) Genetic algorithms and multiprocessor task scheduling: a systematic literature review. In: Anais do XVI Encontro Nacional de Inteligência Artificial e Computacional, pp 250–261. SBC

  29. Talouki RN, Shirvani MH, Motameni H (2021) A hybrid meta-heuristic scheduler algorithm for optimization of workflow scheduling in cloud heterogeneous computing environment. J Eng Des Technol. https://doi.org/10.1108/JEDT-11-2020-0474

    Article  Google Scholar 

  30. Tang Z, Qi L, Cheng Z, Li K, Khan SU, Li K (2016) An energy-efficient task scheduling algorithm in dvfs-enabled cloud environment. J Grid Comput 14(1):55–74

    Article  Google Scholar 

  31. Tanha M, Hosseini Shirvani M, Rahmani AM (2021) A hybrid meta-heuristic task scheduling algorithm based on genetic and thermodynamic simulated annealing algorithms in cloud computing environments. Neural Comput Appl 33(24):16951–16984

    Article  Google Scholar 

  32. Tian Q, Li J, Xue D, Wu W, Wang J, Chen L, Wang J (2020) A hybrid task scheduling algorithm based on task clustering. Mobile Netw Appl 25(4):1518–1527. https://doi.org/10.1016/j.jksuci.2021.05.011

    Article  Google Scholar 

  33. Topcuoglu H, Hariri S, Wu M-Y (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distrib Syst 13(3):260–274

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Farnaz Mahan.

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

Nematpour, M., Izadkhah, H. & Mahan, F. Enhanced genetic algorithm with some heuristic principles for task graph scheduling. J Supercomput 79, 1784–1813 (2023). https://doi.org/10.1007/s11227-022-04684-0

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-022-04684-0

Keywords

Navigation