Abstract
Scheduling means devoting tasks among computational resources, considering specific goals. Cloud computing is facing a dynamic and rapidly evolving situation. Devoting tasks to the computational resources could be done in numerous different ways. As a consequence, scheduling of tasks in cloud computing is considered as a NP-hard problem. Meta-heuristic algorithms are a proper choice for improving scheduling in cloud computing, but they should, of course, be consistent with the dynamic situation in the field of cloud computing. One of the newest bio-inspired meta-heuristic algorithms is the chicken swarm optimization (CSO) algorithm. This algorithm is inspired by the hierarchical behavior of chickens in a swarm for finding food. The diverse movements of the chickens create a balance between the local and the global search for finding the optimal solution. Raven roosting optimization (RRO) algorithm is inspired by the social behavior of raven and the information flow between the members of the population with the goal of finding food. The advantage of this algorithm lies in using the individual perception mechanism in the process of searching the problem space. In the current work, an ICDSF scheduling framework is proposed. It is a hybrid (IRRO-CSO) meta-heuristic approach based on the improved raven roosting optimization algorithm (IRRO) and the CSO algorithm. The CSO algorithm is used for its efficiency in satisfying the balance between the local and the global search, and IRRO algorithm is chosen for solving the problem of premature convergence and its better performance in bigger search spaces. First, the performance of the proposed hybrid IRRO-CSO algorithm is compared with other imitation-based swarm intelligence methods using benchmark functions (CEC 2017). Then, the capabilities of the proposed scheduling hybrid algorithm (IRRO-CSO) are tested using the NASA-iPSC parallel workload and are compared with the other available algorithms. The obtained results from the implementation of the hybrid IRRO-CSO algorithm in MATLAB show an improvement in the average best fitness compared with the following algorithms: IRRO, RRO, CSO, BAT and PSO. Finally, simulation tests performed in cloud computing environment show improvements in terms of reduction of execution time, reduction of response time and the increase in throughput by using the proposed hybrid IRRO-CSO approach for dynamic scheduling.
Similar content being viewed by others
Notes
Differential evolutionary (DE).
References
Kalra M, Singh S (2015) A review of metaheuristic scheduling techniques in cloud computing. Egypt Inform J 16:275–295
Salimian L, Safi F (2013) Survey of energy efficient data centers in cloud computing. In: Proceedings of the 2013 IEEE/ACM 6th International Conference on Utility and Cloud Computing, pp 369–374
Haratian P, Safi-Esfahani F, Salimian L, Nabiollahi A (2017) An adaptive and fuzzy resource management approach in cloud computing. IEEE Trans Cloud Comput. https://doi.org/10.1109/TCC.2017.2735406
Donyadari E, Safi-Esfahani F, Nourafza N (2015) Scientific workflow scheduling based on deadline constraints in cloud environment. Int J Mechatron Electr Comput Technol 5:1–15
Alaei N, Safi-Esfahani F (2017) RePro-active: a reactive–proactive scheduling method based on simulation in cloud computing. J Supercomput 74:1–29
Motavaselalhagh F, Safi Esfahani F, Arabnia HR (2015) Knowledge-based adaptable scheduler for SaaS providers in cloud computing. Human-Centric Comput Inf Sci 5(1):16
Awan M, Shah MA (2015) A survey on task scheduling algorithms in cloud computing environment. Int J Comput Inf Technol 4(2):441–448
Jeong Y-S, Snasel V, Arabnia HR, Hung JC (2017) Fuzzy neuro theory and technologies for cloud computing. Elsevier, Amsterdam
Xu L, Wang K, Ouyang Z, Qi X (2014) An improved binary PSO-based task scheduling algorithm in green cloud computing. In: Proceeding of the 2014 9th International Conference on Communication Network China, CHINACOM 2014, pp 126–131
Kaur G, Sharma ES (2014) Optimized utilization of resources using improved particle swarm optimization based task scheduling algorithms in cloud computing. Int J Emerg Technol Adv Eng 4(6):110–115
Brabazon A, Cui W, O’Neill M (2016) The raven roosting optimisation algorithm. Soft Comput 20(2):525–545
Chen J, Xin B, Peng Z, Dou L, Zhang J (2009) Optimal contraction theorem for exploration-exploitation tradeoff in search and optimization. IEEE Trans Syst Man Cybern Part A Syst Hum 39(3):680–691
Torabi S, Safi-Esfahani F (2017) Improved raven roosting optimization algorithm (IRRO). Swarm Evol Comput. https://doi.org/10.1016/j.swevo.2017.11.006
Meng X, Liu Y, Gao X, Zhang H (2014) A new bio-inspired algorithm: chicken swarm optimization. In: International Conference in Swarm Intelligence, pp 86–94
Valafar H, Arabnia HR, Williams G (2004) istributed global optimization and its development on the multiring network. Neural Parallel Sci Comput 12(4):465–490
Arabnia HR, Fang WC, Lee C, Zhang Y (2010) Guest editor’s introduction: context-aware middleware and intelligent agents for smart environments. IEEE Intell Syst 25(2):10–11
Ramezani F, Lu J, Hussain F (2013) Task scheduling optimization in cloud computing applying multi-objective particle swarm optimization. In: Basu S et al (eds) ICSOC 2013, LNCS 8274. Springer, Berlin, pp 237–251
Glover F (1986) Future paths for integer programming and links to artificial intelligence. Comput Oper Res 13(5):533–549
Sridhar M (2015) Hybrid particle swarm optimization scheduling for cloud computing. In: 2015 IEEE International Advance Computing Conference (IACC), pp 1196–1200
Priyadarsini RJ, Arockiam L (2015) PBCOPSO: a parallel optimization algorithm for task scheduling in cloud environment. Indian J Sci Technol 8 (July)
Rouhi S, Nejad EB (2015) CSO-GA: a new scheduling technique for cloud computing systems based on cat swarm optimization and genetic algorithm. Cumhur Sci J 36(4):1672–1685
Chu S, Tsai P, Pan J (2006) Cat swarm optimization. In: Pacific Rim International Conference on Artificial Intelligence, pp 854–858
Aujla S, Amandeep U (2015) Task scheduling in cloud using hybrid cuckoo algorithm. Int J Comput Netw. Appl 2(3):144–150
Kumar VS (2015) Trust based resource selection in cloud computing using hybrid algorithm. Int J Intell Syst Appl 7(July):59–64
George S (2015) Hybrid PSO-MOBA for profit maximization in cloud computing. Int J Adv Comput Sci Appl 6(2):159–163
Rani E, Kaur H (2017) Efficient load balancing task scheduling in cloud computing using raven roosting optimization algorithm. Int J Adv Res Comput Sci 8(5):2419–2424
Abedinpourshotorban H, Shamsuddin SM, Beheshti Z, Jawawi DNA (2016) Electromagnetic field optimization: a physics-inspired metaheuristic optimization algorithm. Swarm Evol Comput 26:8–22
Kirkpatrick S, Gelatt CD, Vecchi MP (1983) Optimization by simulated annealing. Sci New Ser 220(4598):671–680
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix A: definition of IRRO and CSO algorithms
1.1 Improved raven roosting optimization (IRRO)
The roost is considered the center of information, a place where information on food sources is exchanged between members. In this paper, the main focus was structure of the RRO algorithm. The part of the raven population that leaves the roost to find food and follows the leader is divided into two groups, according to weak ravens and greedy ravens. The ravens that cannot find food sources for themselves in a day are determined as weak ravens. Members of this group see the ravens that return to the roost having found the rich food sources and follow them to find the food. The second group consists of greedy ravens that follow the leader to get more food sources. How to divide this part of the population in two groups and to determine the identity of the ravens (weak or greedy) all depend on the fitness values of the ravens themselves. The percentage of ravens “Weak_Population_Percent” with the worst fitness values would act in weakness; the others would be greedy. Usually, premature convergence occurs because of a weakness in its capacity for exploration (global search). The standard RRO algorithm has also the problem of premature convergence. To solve this problem, the control parameter \( {\text{Food}}_{st} \) is used. This parameter represents the amount of food remaining for each raven. First, the value of this parameter is considered to be 1, but with increasing the number of iteration of the algorithm, the value of this parameter decreases to zero. By reducing the amount of \( {\text{Food}}_{st} \), the tendency of the raven increases to find the new location and then the exploration capability is improved in the search space. The \( {\text{Food}}_{{st_{t,j} }} \) parameter was updated using Eq. (4):
where \( {\text{Food}}\_{\text{Max}} \) is the maximum amount of food for the raven and is set to 1. The parameter \( {\text{Food}}_{{st_{t + 1,j} }} \) is calculated based on the updated values of the parameters \( {\text{Food}}_{{st_{t,j} }} \) for the jth member. Also \( {\text{Max}}It \) is the maximum of the number of iterations, and \( i \) is the current iteration. The flowchart and pseudo-code of the RRO algorithm are specified in Fig. 11 and Algorithm 2, respectively. The parts highlighted in Algorithm 2 show the ideas employed in the proposed algorithm.
1.2 Chicken swarm optimization (CSO)
The chicken swarm optimization algorithm is inspired by the hierarchical behavior of chickens in a swarm for finding food. The behavior of the chickens in modeled by the following rules: (1) There are a number of groups in a chicken swarm. Each group consists of a rooster (as the head of the group) and a number of hens and chickens. (2) Based on their fitness, the members of the population are categorized to a number of groups. The members with the best fitness are considered as roosters. Each group has a rooster as its head. The members with worse fitness are considered as chickens and the rest are considered as hens. Initially, the relation between hen and chickens is set in a random way. (3) In times, the role of the dominant and the relation between hen and chickens is changed by the parameter G. (4) The chickens in a group follow their head rooster to find food. They might also steal food from other groups or might search in the vicinity of their mother hen for food (competition phase). The position of all N members of the population is defined by the vector \( x_{ij}^{t} \) in the D-dimensional problem space, where \( i \in \left[ {1, \ldots ,N} \right] \) and \( j \in \left[ {1, \ldots ,D} \right] \). The competition among different sub-groups causes global optimization of the problem. This algorithm belongs to the group of multi-warm algorithms and inherits the properties of other algorithms like PSO and the differential evolutionary algorithm (DE).Footnote 1 Its general procedure can be seen in Algorithm 3.
Appendix B
See Tables 3, 4, 5, 6, 7, 8, 9, 10, 11 12.
Appendix C: experimental results of IRRO-CSO algorithm in MATLAB
See Table 13.
Rights and permissions
About this article
Cite this article
Torabi, S., Safi-Esfahani, F. A dynamic task scheduling framework based on chicken swarm and improved raven roosting optimization methods in cloud computing. J Supercomput 74, 2581–2626 (2018). https://doi.org/10.1007/s11227-018-2291-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-018-2291-z