An enhanced cuckoo optimization algorithm for task graph scheduling in cluster-computing systems

  • Hamid Reza BoveiriEmail author
Methodologies and Application


Optimized task scheduling is key to achieve high performance in the cluster-computing systems whose application is broad ranging from scientific to the military purposes. This combinatorial problem is NP-hard from the time complexity perspective, where applying newly proposed metaheuristics to it deserves further investigation based on the well-known no-free-lunch theorem. Accordingly, in this paper, an enhanced version of cuckoo optimization algorithm (COA) named E-COA is proposed to cope with the static task scheduling problem in the mesh topology cluster-computing environments. The proposed approach is equipped with an efficient adaptive semi-stochastic egg-laying strategy that significantly improves the local and global search potentiality of the basic COA. The experiments on a comprehensive set of randomly generated task graphs with different structural parameters reveal the efficiency of the proposed approach from the performance point of view, especially for the small-scale samples, and where the number of clusters in the machine is very restricted, i.e., we are in the lack of computational resource.


Cluster-computing environments Mesh topology Task graph scheduling Cuckoo optimization algorithm (COA) Metaheuristics 



This work has been financially supported by the Department of Gotvand, Shoushtar Branch, Islamic Azad University, Shoushtar, Iran, as a research project.


This study was funded by the Department of Gotvand, Shoushtar Branch, Islamic Azad University, Shoushtar, Iran, as a research project.

Compliance with ethical standards

Conflict of interest

The author declares that he has no conflict of interest.

Ethical approval

This article does not contain any studies with human participants or animals performed by any of the authors.


  1. Abu-Jamous B, Fa R, Nandi AK (2015) Integrative cluster analysis in bioinformatics. Wiley, New YorkCrossRefGoogle Scholar
  2. Adam TL, Chandy KM, Dickson JR (1974) A comparison of list schedules for parallel processing systems. Commun ACM 17(12):685–690CrossRefGoogle Scholar
  3. Akbari M, Rashidi H (2016) A multi-objectives scheduling algorithm based on cuckoo optimization for task allocation problem at compile time in heterogeneous systems. Expert Syst Appl 60:234–248CrossRefGoogle Scholar
  4. Bashir MB, Latiff MSBA, Coulibaly Y, Yousif A (2016) A survey of grid-based searching techniques for large scale distributed data. J Netw Comput Appl 60:170–179CrossRefGoogle Scholar
  5. Baxter J, Patel J (1989) The LAST algorithm—a heuristic-based static task allocation algorithm. In: 1989 International conference on parallel processing, University Park, PAGoogle Scholar
  6. Bazgosha A, Ranjbar M, Jamili N (2017) Scheduling of loading and unloading operations in a multi stations transshipment terminal with release date and inventory constraints. Comput Ind Eng 106:20–31CrossRefGoogle Scholar
  7. Boveiri HR (2015a) List-scheduling techniques in homogeneous multiprocessor environments: a survey. Int J Softw Eng Appl 9(4):123–132Google Scholar
  8. Boveiri HR (2015b) An efficient task priority measurement for list-scheduling in multiprocessor environments. Int J Softw Eng Appl 9(5):233–246Google Scholar
  9. Boveiri HR (2015c) Multiprocessor task graph scheduling using a novel graph-like learning automata. Int J Grid Distrib Comput 8(1):41–54CrossRefGoogle Scholar
  10. Boveiri HR (2015d) Task assigning techniques for list-scheduling in homogeneous multiprocessor environments: a survey. Int J Softw Eng Appl 9(12):303–312Google Scholar
  11. Boveiri HR (2016) A novel ACO-based static task scheduling approach for multiprocessor environments. Int J Comput Intell Syst 9(5):800–811CrossRefGoogle Scholar
  12. Boveiri HR (2018) 125 random task-graphs for multiprocessor task scheduling. Mendeley Data. CrossRefGoogle Scholar
  13. Boveiri HR, Elhoseny M (2018) A-COA: an adaptive cuckoo optimization algorithm. Neural Comput Appl. CrossRefGoogle Scholar
  14. Boveiri HR, Khayami R (2017) Static homogeneous multiprocessor task graph scheduling using ant colony optimization. KSII Trans Internet Inf Syst 11(6):3046–3070Google Scholar
  15. 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–3479CrossRefGoogle Scholar
  16. Buyya R (1999) High performance cluster computing: architectures and systems, vol 1. Prentice Hall, Upper Saddle RiverGoogle Scholar
  17. Cao J, Chan AT, Sun Y, Das SK, Guo M (2006) A taxonomy of application scheduling tools for high performance cluster computing. Cluster Comput 9(3):355–371CrossRefGoogle Scholar
  18. Chen M, Mao S, Liu Y (2014) Big data: a survey. Mob Netw Appl 19(2):171–209CrossRefGoogle Scholar
  19. Elyasigomari V, Lee DA, Screen HR, Shaheed MH (2017) Development of a two-stage gene selection method that incorporates a novel hybrid approach using the cuckoo optimization algorithm and harmony search for cancer classification. J Biomed Inform 67:11–20CrossRefGoogle Scholar
  20. Faradonbeh RS, Monjezi M (2017) Prediction and minimization of blast-induced ground vibration using two robust meta-heuristic algorithms. Eng Comput 33(4):835–851CrossRefGoogle Scholar
  21. Hwang JJ, Chow YC, Anger FD, Lee CY (1989) Scheduling precedence graphs in systems with interprocessor communication times. SIAM J Comput 18(2):244–257MathSciNetCrossRefGoogle Scholar
  22. Hwang R, Gen M, Katayama H (2008) A comparison of multiprocessor task scheduling algorithms with communication costs. Comput Oper Res 35(3):976–993MathSciNetCrossRefGoogle Scholar
  23. Kruatrachue B, Lewis TG (1987) Duplication scheduling heuristic: a new precedence task scheduler for parallel systems. Technical report 87-60-3Google Scholar
  24. Kwok YK, Ahmad I (1999) Benchmarking and comparison of the task graph scheduling algorithms. J Parallel Distrib Comput 59(3):381–422CrossRefGoogle Scholar
  25. McCreary C, Gill H (1989) Automatic determination of grain size for efficient parallel processing. Commun ACM 32(9):1073–1079CrossRefGoogle Scholar
  26. Rajabioun R (2011) Cuckoo optimization algorithm. Appl Soft Comput 11(8):5508–5518CrossRefGoogle Scholar
  27. Sih GC, Lee EA (1993) A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures. IEEE Trans Parallel Distrib Syst 4(2):175–187CrossRefGoogle Scholar
  28. Top 500 Supercomputer List (2017)
  29. Wolpert DH, Macready WG (1997) No free lunch theorems for optimization. IEEE Trans Evol Comput 1(1):67–82CrossRefGoogle Scholar
  30. Wu MY, Gajski DD (1990) Hypertool: a programming aid for message-passing systems. IEEE Trans Parallel Distrib Syst 1(3):330–343CrossRefGoogle Scholar
  31. Xiong Y, Wan S, She J, Wu M, He Y, Jiang K (2016) An energy-optimization-based method of task scheduling for a cloud video surveillance center. J Netw Comput Appl 59:63–73CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Department of Gotvand, Shoushtar BranchIslamic Azad UniversityShoushtarIran

Personalised recommendations