TY - JOUR AU - Manikandan, N AB - Abstract A cloud computing system typically comprises of a huge number of interconnected servers that are organized in a datacentre. Such servers dynamically cater to the on-demand requests put forward by the clients seeking solutions to their applications through an interface. The scheduling activity concerned with scientific applications is designated under the NP hard problem category since they make use of heterogeneous resources of dynamic capabilities. Recently cloud computing researchers had developed numerous meta-heuristic approaches for providing solutions to the challenges arising in the task scheduling activities. Scheduling of tasks poses a major concern in cloud computing environment. This decreases the efficiency of the system considerably, if not handled properly. Hence, an improvised task scheduling algorithm that enhances the performance of the cloud is needed. There are two factors that affect the cloud environment: service quality and energy usage. To increase the performance in above suggested factors (memory, makespan and energy efficiency), an efficient hybridized algorithm, obtained by integrating the Cuckoo Search Algorithm (CSA) and Whale Optimization Algorithm (WOA), called the CWOA had been proposed in this work. The performance of our proposed CWOA algorithm had been compared with Ant Colony Optimization, CSA and WOA and it was found to produce an improvement of 5.62%, 4.36% and 2.27% with respect to makespan, 16.36%, 19.19% and 13.13% with respect to memory utilization and 19.08%, 19.34% and 16.75% with respect to energy consumption parameters, respectively. Comprehensive results have been tabulated in the result section of this article. 1 CLOUD INTRODUCTION In the [1] design and acquisition of resources—processors, memory, storage and applications-are altered according to development in cloud computing. This major shift in cloud computing has immensely affected cost factors of the acquisition of hardware and software. Precision is not much valued by the users as cloud provides high scalability. By the process of virtualization, sharing of cloud resources is achieved [2–5]. Virtualisation multiplies several virtual systems into a single remote physical server. Thus virtualization attains optimization of the resource usage. An important part of the cloud data centre is virtual machine (VM). These VMs are used to access and make use of the cloud data which is distributed at multiple servers around the world through a network [6–8]. An instance of cloud infrastructure platform service is Amazon Elastic Computing Cloud (Amazon EC2). An important task of cloud computing is to increase the revenue for the user as well as for the cloud providers. The surge in revenue is achieved by task scheduling in addition to revenue maximization. Task scheduling helps by improving the performance [14–18]. Therefore the algorithms for task scheduling must be decided upon with care such that the metric such as response time, system utilization period, makespan i.e. execution time and throughput of the system are reduced. These parameters are vital factors for analysing the performance of the cloud activities [19–21]. The main offerings proposed in this article are summarized herewith: The proposed algorithm focuses on scheduling the tasks in a way so as to reduce the memory usage and energy consumed. The tasks provided by the user are scheduled in a parallel manner thereby attaining simultaneous scheduling. This improves the processing speed for user assigned tasks. The algorithm proposed begins by analysing the availability of cloud resources and then proceeds with the scheduling of the tasks with appropriate resources. The proposed algorithm is energy efficient in nature. Energy efficiency is achieved by parallel execution of tasks to the corresponding resources which are present across the cloud. Tasks are processed at their respective time slots. This ensures that energy consumption is reduced as much as memory. An analysis of the factors that affect the proposed algorithm’s efficiency had been performed. After the analysis, experiments through simulation had been conducted to study the performance of the proposed algorithm in various scenarios. Verification is done to check if the algorithm fares well in factors of energy, makespan and memory by comparing it with other existing algorithms. Simulations had been carried out using the Cloudsim 3.0 toolkit. The remainder of this manuscript had been structured as follows. In Section 2, the literature articles that are in relevance to the proposed work had been reviewed. Section 3 provides discussion related to the proposed framework. Description of the problem along with performance metrics taken into consideration are also discussed in Section 3. The proposed CWOA scheduler is discussed in Section 4. The simulation results and conclusion had been specified in Sections 5 and 6, respectively. 2 RELATED WORK In [9], an optimization algorithm for handling the task scheduling issues was presented. The demand for tasks about the cloud resources along with additional information was provided in the proposed resource cost model. There exists a relationship between the cost of resources and budget. The proposed algorithm was based upon this relationship. Factors such as makespan and budget costs form the large share of constraints in the optimisation issues. The proposed system utilized the ant colony algorithm in which two factors—performance, budget cost—were considered for evaluation and feedback. The quality of the solution was adjusted by these factors or constraints with respect to time and feedback thereby attaining optimisation. In [10], High-Performance Computing Cloud (HPCC) or Science Cloud (SC) provided the resources that were requested by the users based on their demand. As the availability of the cloud resources and their demand, both were dynamic the scheduling process was considered complex and NP-Complete. To solve this problem, cloud resource broker was introduced. The purpose of CLOUDRB was to manage the resources and complete the tasks assigned by the user within the specified time. The algorithm used in the CLOUDRB was particle swarm optimization (PSO)-based resource allocation. A fitness function had been designed accordingly where the cost and time values were chosen and optimized. Simulations were done in MATLAB environment to study the efficiency of the presented method. It had been observed that the execution time, cost and job rejection ratio were minimized in favour to the cloud user. The proposed method was tested against real-world HPC applications and its performance was compared with Eucalyptus-based cloud environment where it had produced enhanced performance. In [11] the main feature of Cloud was dynamic resource allocation which improved the performance, scalability, cost, and reduced the need for maintenance. For implementing dynamic allocation, task scheduling is of vital importance so that the performance and cost of the process can be improved. Two algorithms namely, cuckoo search algorithm (CSA) and oppositional based learning algorithm were integrated into a hybridized algorithm called oppositional cuckoo search algorithm (OCSA) in relevance to makespan and cost factors had been designed. This hybrid algorithm was simulated in CloudSim and the results were found to be fruitful. In [12], task scheduling, the most important process in cloud computing, and the implementation mechanism needed for attaining efficient task allocation was discussed. The primary focus was to minimize the costs, resource usage and energy requirement. The algorithms of cuckoo search (CS) and gravitational search algorithm were hybridized for scheduling purposes. Through hybridisation, the bright sides of CS and GSA were fused, which eliminated their individual demerits. Users requested for resources that included both physical and virtual type adhering to pay per use in the Cloud [13]. It was necessary to improve the efficiency of task scheduling and resource allocation to attain increase in performance. In order to increase the efficiency, two factors were taken into account: makespan and cost. The processes of task scheduling and resource allocation could be optimized by appropriately managing the parameters. In the proposed method, CS and harmony search (HS) algorithm were hybridized into Cuckoo Harmony Search Algorithm (CHSA) in order to solve the problem of efficiency. The hybridization results in an intelligent process scheduling. An innovative multi-objective function was designed into which the obtained values of various parameters like cost, energy consumption, memory usage, credit and penalty using the proposed algorithm were substituted. The performance of the proposed algorithm was compared with other existing algorithms. Simulation results had proved that the proposed CHSA algorithm improvised the efficiency with respect to all the mentioned parameters than other existing algorithms. Cost, memory utilization, energy consumed, penalty and credit were observed to be reduced in CHSA algorithm than in the other algorithms. Efficiency in scheduling can be realized by reducing the implementation time and cost, in addition to satisfying other user specified QoS obligations. In [7], issues in parallel machine scheduling had been looked into and an appropriate solution had been proposed through an oppositional learning-based grey wolf optimizer (OGWO). Improvisation of cost and time model had been considered in the proposed approach. Additionally the fusion of opposition based learning and standard GWO had led to increased computational speed resulting in convergence profile of the proposed approach. In [22], the activities of resource allocation and scheduling (RAS) had been primarily focused in the cloud computing environment. The policy framed and the proposed algorithm had a positive impact on the performance of cloud and cost factor. Users’ tasks need to be efficiently allocated such that higher profit could be realized by the IaaS provider along with guaranteeing the expected QoS. In [23], the aforesaid issue had been framed as an integer programming (IP) model and an efficient solution had been produced using an innovative scheduling approach named self-adaptive learning particle swarm optimization (SLPSO). In SLPSO, velocity of each particle had been updated for ensuring its diversity and strength by adopting four different strategies. Optimum resource utilization can be realized with the help of efficient scheduling algorithms. In [24], Symbiotic Organisms Search (SOS) had been competitively analysed for its performance against PSO. In this regard, a Simulated Annealing (SA) based SOS (SASOS) had been proposed for improving the convergence rate and SOS solution quality. This had resulted in achieving an optimized task scheduling in the cloud environment. Fewer parameters were utilized for ascertaining the global exploration strengths of the SOS algorithm. The solution to the challenges in application scheduling in the cloud environment had been proposed through a number of meta-heuristic optimization strategies in [25–27]. The proposed scheduling strategies had overlooked the aspect of global security. The authors had proposed a Global League Championship Algorithm optimization technique that could be applied for effectively scheduling the scientific applications globally in the cloud. On analysing the literature it was inferred that none of the above-mentioned work had provided a near optimum result when parameters like memory, energy and execution time are considered together. The proposed method in this article had considered makespan, memory and energy utilization parameters as performance metrics for optimizing the task and resource allocation activity in cloud. An innovative Cuckoo Whale Optimization (CWOA) Algorithm obtained by hybridizing the CSA and Whale Optimization Algorithm (WOA) had been proposed that minimizes the memory, makespan and energy consumption parameters to achieve efficiency with respect to task scheduling and resource allocation. 3 PROBLEM DEFINITION AND EXPLANATION A simplified explanation of the system framework, tasks and the resources had been provided in this section. The parameters that had been considered along with their meaning are listed in the below Table 1. TABLE 1. Notation used in the CWOA Scheduler. Symbol . Definitions . |$PM$| Physical machine |$VM$| Virtual machine Tji Tasks i, 1 < j < K Nji Resources j, l < i < K |${P}_{ji}$| Power utilized by the jth virtual machine defined under the ith physical machine |${E}_{max}$| Maximum energy consumed when the virtual machine executes the given task |${\mu}_{ji}$| Resource utilized by the jth virtual machine defined under the ith physical machine |$\alpha, \beta, \gamma$| Control parameters |${CPU}_{ji}$| Total capacity of CPU |${Memory}_{ji}$| Total capacity of memory |${ET}_{ji}$| Execution time on the jth virtual machine defined under the ith physical machine TL Task length PC Processor capacity Symbol . Definitions . |$PM$| Physical machine |$VM$| Virtual machine Tji Tasks i, 1 < j < K Nji Resources j, l < i < K |${P}_{ji}$| Power utilized by the jth virtual machine defined under the ith physical machine |${E}_{max}$| Maximum energy consumed when the virtual machine executes the given task |${\mu}_{ji}$| Resource utilized by the jth virtual machine defined under the ith physical machine |$\alpha, \beta, \gamma$| Control parameters |${CPU}_{ji}$| Total capacity of CPU |${Memory}_{ji}$| Total capacity of memory |${ET}_{ji}$| Execution time on the jth virtual machine defined under the ith physical machine TL Task length PC Processor capacity Open in new tab TABLE 1. Notation used in the CWOA Scheduler. Symbol . Definitions . |$PM$| Physical machine |$VM$| Virtual machine Tji Tasks i, 1 < j < K Nji Resources j, l < i < K |${P}_{ji}$| Power utilized by the jth virtual machine defined under the ith physical machine |${E}_{max}$| Maximum energy consumed when the virtual machine executes the given task |${\mu}_{ji}$| Resource utilized by the jth virtual machine defined under the ith physical machine |$\alpha, \beta, \gamma$| Control parameters |${CPU}_{ji}$| Total capacity of CPU |${Memory}_{ji}$| Total capacity of memory |${ET}_{ji}$| Execution time on the jth virtual machine defined under the ith physical machine TL Task length PC Processor capacity Symbol . Definitions . |$PM$| Physical machine |$VM$| Virtual machine Tji Tasks i, 1 < j < K Nji Resources j, l < i < K |${P}_{ji}$| Power utilized by the jth virtual machine defined under the ith physical machine |${E}_{max}$| Maximum energy consumed when the virtual machine executes the given task |${\mu}_{ji}$| Resource utilized by the jth virtual machine defined under the ith physical machine |$\alpha, \beta, \gamma$| Control parameters |${CPU}_{ji}$| Total capacity of CPU |${Memory}_{ji}$| Total capacity of memory |${ET}_{ji}$| Execution time on the jth virtual machine defined under the ith physical machine TL Task length PC Processor capacity Open in new tab N resources R = {R1,R2,….,Rj,…,Rn} and K tasks T = {T1,T2,….Ti,…….Tk} are assumed to be available in the proposed system. Let the resources defined virtually too be referred as cloud resources. Definition 1 (Resources): Refers to the set of resources that are utilized by the CPU and memory, that is Nji = (⁠|${CPU}_{ji}$|⁠: |${Memory}_{ji}$|⁠). Definition 2 (Tasks): Ti = (⁠|${CPU}_{ji}$|⁠:|${Memory}_{ji}$|⁠; ETji) The CPUji and Memoryji indicate the quantity of CPU and memory available in jth virtual machine defined under the ith physical machine while executing the user submitted task, whereas ETji indicates the execution time. The tasks are submitted by the user and handled by the task manager. 3.1 Cloud scheduling architecture using CWOA The task scheduling process in the cloud begins with the cloud user assigning a task to the cloud. Tasks from several users are accumulated and sent to the Task Scheduler for scheduling. The algorithm used in the Task Scheduler is CWOA algorithm which works efficiently in terms of makespan, memory and energy usage. The task manager is an aggregator of tasks that are submitted by various users. The accumulated tasks are supplied as input to the CWOA task scheduler. The Resource Manager is a component in the cloud that contains information about all the available energy and memory resources at any particular instance. The local resource manager keeps track of the available resources that are present currently in a physical machine. It provides this information to the resource manager. With the help of the Resource Manager, the Task Scheduler assigns task to resources according to their availability. Thus, the Task Scheduler with CWOA algorithm reduces memory usage and energy consumption drastically. Figure 1 shows the cloud scheduling architecture using CWOA technique. FIGURE 1. Open in new tabDownload slide Cloud scheduling architecture using CWOA. FIGURE 2. Open in new tabDownload slide CWOA Flowchart. 4 WOA AND THE LÉVY FLIGHT TRAJECTORY The WOA is a novel meta-heuristic algorithm which got its inspiration from the hunting method of the humpback whales called as bubble-net hunting method. The algorithm explains the distinct hunting technique of the humpback whales. The whales hunt their prey by creating bubbles around them while encircling them in the surface of the water. In this hunting approach the whales can dive up to 12 m down the surface of the water and then start to create the bubbles around the prey in a spiral manner while progressing towards the surface [28]. 4.1 Mathematical model description/explanation 4.1.1 Encircling the prey After the whereabouts of the prey (fish herds) is identified by the humpback whales, they form circle around the prey. The algorithm assumes that the objective target which is nearby to the flawless response is the superlative contender for the resolution. Once the pre-eminent agent for the hunting process is defined, the locations of the remaining whales’ will be streamlined towards it. In the optimization process the scheme of encircling the prey is mathematically modelled using the equations proposed by Mirjalili et al. [29]. $$\begin{equation} \overrightarrow{\mathrm{D}}=\left|\overrightarrow{\mathrm{C}}\cdot{\overrightarrow{X}}^{\ast}\left(\mathrm{t}\right)-\mathrm{X}\left(\mathrm{t}\right)\right| \end{equation}$$(1) $$\begin{equation} \overrightarrow{\mathrm{X}}\left(\mathrm{t}+1\right)={\overrightarrow{X}}^{\ast}\left(\mathrm{t}\right)-\overrightarrow{\mathrm{A}}\cdot \overrightarrow{\mathrm{D}} \end{equation}$$(2) Where the vectors |$\overrightarrow{\mathrm{A}}$| and |$\overrightarrow{\mathrm{C}}$| represent the coefficient vectors, t represents the present value of restatement, X* represents the location trajectory of the ideal resolution attained till the present moment and X(t) represents the location vector. In the above-mentioned equations |•| represents the outright value and • represents the component by component multiplication. If there exists an ideal resolution other than the present one in any restatement, then the location trajectory X* is accordingly updated. The vectors |$\overrightarrow{\mathrm{A}}$| and |$\overrightarrow{\mathrm{C}}$| are determined using the equations (3) and (4) given below: $$\begin{equation} \overrightarrow{\mathrm{A}}=2\overrightarrow{\mathrm{a}}\cdot \overrightarrow{\mathrm{r}}-\overrightarrow{\mathrm{a}} \end{equation}$$(3) $$\begin{equation} \overrightarrow{\mathrm{C}}=2\cdot \overrightarrow{\mathrm{r}} \end{equation}$$(4) The components of |$\overrightarrow{\mathrm{a}}$| are decreased linearly from 2 to 0 and the random vector |$\overrightarrow{\mathrm{r}}$| varies from 0 to 1. Equation (2) symbolizes the location update of a search agent in the zone of the present superlative solution in the encircling process around the prey. 4.1.2 Bubble-net attacking strategy (exploitation period) Two approaches namely shrinking encircling system and logarithmic spiral updating position are exhibited to represent a mathematical equation for the bubble-net attacking strategy of the humpback whales which are explained below. 4.1.2.1 Shrinking encircling system In this approach the value of |$\overrightarrow{\mathrm{a}}$| is decreased linearly from 2 to 0 represented by equation 3 which also reduces the fluctuation scope of |$\overrightarrow{\mathrm{A}}$| by |$\overrightarrow{\mathrm{a}}$|⁠. |$\overrightarrow{\mathrm{A}}$| is a random number in the range of [−a, a] where |$\overrightarrow{\mathrm{a}}$| is reduced from 2 to 0 in the sequence of repetitions. The new location of a search agent can be considered anywhere from the currently existing location by setting |$\overrightarrow{\mathrm{A}}$| randomly in the range of [−1,1]. 4.1.2.2 Logarithmic spiral position updating system The humpback whales initially explore the prey and then they determine their remoteness from the prey. Afterwards they traverse in a conical logarithmic spiral motion to hunt the prey. Each humpback whale updates its location based on the spiral flight path. The approach is expressed mathematically as follows $$\begin{equation} \overrightarrow{\mathrm{D}^{\prime }}=\left|{\overrightarrow{X}}^{\ast }\ \left(\mathrm{t}\right)-\overrightarrow{\mathrm{X}\ }\left(\mathrm{t}\right)\right| \end{equation}$$(5) $$\begin{equation} \overrightarrow{{\mathrm{X}}^{\prime }}\left(\mathrm{t}+1\right)=\overrightarrow{{\mathrm{D}}^{\prime }}\cdot{\mathrm{e}}^{\mathrm{bl}}\cdot \cos \left(2\pi \mathrm{l}\right)+{\overrightarrow{X}}^{\ast }\ \left(\mathrm{t}\right) \end{equation}$$(6) Here |$\overrightarrow{\mathrm{D}^{\prime }}=|{\overrightarrow{X}}^{\ast}(\mathrm{t})-\overrightarrow{\mathrm{X}\ }(\mathrm{t})|$|represents the remoteness of the ith whale from the prey, l represents a random value in the range [−1,1] and b represents a constant to define the logarithmic spiral shapes and • represents a component by component multiplication. The humpback whales in addition to swimming around the prey in a circular fashion also move in a conical logarithmic spiral motion to prey them at the same time. The updated locations of the humpback whales will be denoted by either equation (2) or (6) each having an equal chance of 50% which can be represented as follows $$\begin{equation} \mathrm{X}\left(\mathrm{t}+1\right)=\left\{\begin{array}{@{}l}{\overrightarrow{X}}^{\ast}\left(\mathrm{t}\right)-\overrightarrow{\mathrm{A}}\cdot \overrightarrow{\mathrm{D}}\qquad\qquad\qquad \mathrm{if}\ \mathrm{p}<0.5\\ \overrightarrow{\mathrm{D}^{\prime }}\cdot{\mathrm{e}}^{\mathrm{bl}}\cdot \cos \left(2\pi \mathrm{l}\right)+{\overrightarrow{X}}^{\ast}\left(\mathrm{t}\right)\qquad \mathrm{if}\ \mathrm{p}>0.5\end{array}\right. \end{equation}$$(7) In the above-mentioned representation, p denotes a random number ranging from 0 to 1. Apart from the bubble-net attacking strategy, the humpback whales also search for the prey in a random manner. The random searching strategy of the whales is represented by the mathematical model briefed in the next section. 4.1.3 Searching for the prey (exploration period) After forming a line the humpback whales start scanning for the prey at random. In this stage the focus is on the search space and the search agent needs to be driven away from other reference whales. Vector |$\overrightarrow{\mathrm{A}}$| denotes the scanning for prey by the humpback whales. The value for vector |$\overrightarrow{\mathrm{A}}$| must be either greater than 1 or less than −1. This phase varies from the exploitation phase in the sense that the location of the search agent is updated with reference to a randomly selected search agent in place of the superlative agent discovered till then. The expression ||$\overrightarrow{\mathrm{A}}$|| > 1 is used to impose search in the WOA algorithm to find out the global optimum and to prevent native optimum. The mathematical model for the same is represented as $$\begin{equation} \overrightarrow{\mathrm{D}}=\left|\overrightarrow{\mathrm{C}}\cdot \overrightarrow{{\mathrm{X}}_{\mathrm{rand}}}-\overrightarrow{\mathrm{X}}\right| \end{equation}$$(8) $$\begin{equation} \overrightarrow{\mathrm{X}}\left(\mathrm{t}+1\right)={\overrightarrow{\mathrm{X}}}_{\mathrm{rand}}-\overrightarrow{\mathrm{A}}\cdot \overrightarrow{\mathrm{D}} \end{equation}$$(9) Where |${\overrightarrow{\mathrm{X}}}_{\mathrm{rand}}$|is selected from the recent generation and specifies a random position vector (a random whale). 4.2 Lévy flight Lévy introduced the Lévy flight trajectory. Lévy flight is a random walk in which the step-lengths have a Lévy distribution, a probability distribution that is heavy-tailed where tails are not exponentially bounded. Optimization and optimal search are performed by Lévy flight. Simulation results have demonstrated that Lévy flight has more promising potential. Lévy flight trajectory is obliging in attaining a better trade-off between exploration and exploitation in the WOA. Therefore, it is used to update the humpback whales’ locations after the position updating, which can be mathematically expressed as follows: $$\begin{equation} \overrightarrow{\mathrm{X}}\left(\mathrm{t}+1\right)=\overrightarrow{\mathrm{X}}\left(\mathrm{t}\right)+\mu \mathrm{sign}\left[\operatorname{rand}-1\!\left/ \!2\right.\right]\oplus \mathrm{Levy} \end{equation}$$(10) Where |$\overrightarrow{\mathrm{X}}(\mathrm{t})$|represents the ith whale position at the iteration t, μ is a random number which is retained steadily with a uniform distribution, the product ⊕ specifies entry wise multiplication and rand is a random number that is selected from the range [0,1]. Lévy flight can significantly increase the hunting capability of the WOA. $$\begin{equation} Levy\sim u={t}^{-\lambda },1<\lambda \le 3 \end{equation}$$(11) 4.3 FITNESS CALCULATION 4.3.1 Fitness parameters The proposed work takes into consideration of makespan, memory and energy utilization parameters. The fitness calculation is centred around these three parameters. They had been defined as below: Makespan: It is the time taken to complete the execution of all received tasks. The value of makespan needs to be minimal to achieve optimal solution. Both task length (TL) and the capacity of the processor (PC) have impact on the makespan. TL depends upon number of instructions present in the task to be executed. Resources with adequate processing capability need to be identified for executing the received task [10]. Therefore the execution time of the received tasks is given by the following equation: $$\begin{equation} {\mathrm{ET}}_{\mathrm{ji}}=\mathrm{TL}/\mathrm{PC} \end{equation}$$(12) Where TL is the length of task and PC indicates the processing capability of the resource chosen. Memory utilization: The memory utilized by the tasks should be less such that the total memory utilization rate remains optimal. The memory utilization can be assessed by taking the account of CPUs utilized and the extent of memories utilized by the VMs in completing the tasks. Therefore the memory utilized in executing the received tasks is given by the following equation $$\begin{equation} \mathrm{Memory}=\frac{1}{Physical\ Machine\ast Virtual\ Machine}\left[\sum_{i=1}^{PM}\sum_{i=1}^{VM}\frac{1}{2}\left(\frac{CPU\ Utilized}{CPU_{ji}}+\frac{ Memory\ Utilized}{Memory_{ji}}\right)\right] \end{equation}$$(13) Where CPU Utilized is the number of CPUs utilized by the VM; CPUji is the total number of available CPUs in the jth VM defined under the ith physical machine and Memory Utilized is the extent of memories utilized in various CPUs by the VM and |${\mathrm{Memory}}_{\mathrm{ji}}$| is the total memory available in the jth VM defined under the ith physical machine. Energy consumption: The total energy expended in executing a set of tasks T is also a vital metric for evaluating the performance of the cloud datacentre. Energy consumption is related to memory since the number of memories utilized proportionately increases energy. In this proposed work, the energy consumption parameter needs to be minimized and is represented using the Equation (14). $$\begin{eqnarray} \mathrm{Energy}\ \mathrm{Consumption}=\frac{1}{\left(\mathrm{Physical}\ \mathrm{machine}\right)\ \mathrm{X}\ \left(\mathrm{Virtual}\ \mathrm{Machine}\right)} \\ \nonumber \left[{\sum}_{\mathrm{i}=1}^{\mathrm{P}\mathrm{M}}\ {\sum}_{\mathrm{i}=1}^{\mathrm{VM}}\ {\mathrm{P}}_{\mathrm{ji}}{\mathrm{E}}_{\mathrm{max}}+\left(\mathrm{i}-{\mathrm{P}}_{\mathrm{ji}}\right){\mu}_{\mathrm{ji}}{\mathrm{E}}_{\mathrm{max}}\right] \end{eqnarray}$$(14) Where |${\mathrm{P}}_{\mathrm{ji}}$| is Power Utilized by the jth VM defined under the ith physical machine; Emax is the maximum energy consumed by the VM while executing the given task and |${\mu}_{\mathrm{ji}}$| indicates the resource utilized by the jth VM defined under the ith physical machine. The value of |${\mu}_{\mathrm{ji}}$| could be obtained using the below equation: $$\begin{equation} {\mu}_{\mathrm{ij}}=\frac{1}{2}\left[\left(\frac{\mathrm{CPU}\ \mathrm{Utilized}}{{\mathrm{CPU}}_{\mathrm{ji}}}\right)\right]+\left[\left(\frac{\mathrm{Memory}\ \mathrm{Use}}{{\mathrm{Memory}}_{\mathrm{ji}}}\right)\right] \end{equation}$$(15) In this proposed work, the fitness function to obtain optimal solutions for task scheduling in cloud is formulated by considering makespan, memory and energy utilization parameters. The fitness function designed should achieve near optimal solutions and the same is depicted in equation below: $$\begin{eqnarray} \mathrm{Fitness}\ \mathrm{Function}&=&\sum_{\mathrm{i}=1}^{\mathrm{m}}{\mathrm{T}}_{\mathrm{i}}\left(\alpha \cdot \mathrm{Energy}+\beta \cdot \mathrm{Memory}\right. \nonumber \\ &&\left. +\gamma \cdot \mathrm{Makespan}\right) \end{eqnarray}$$(16) Where. |$\alpha, \beta, \gamma$| are control parameters having their values in the range of [0,1]. 4.4 Flow chart for proposed CWOA algorithm 4.5 Proposed CWOA algorithm Let the whales population be |${X}_i\ \Big(i=1,2,\dots \dots n\Big)$| Compute the search agent fitness   |${X}^{\ast }= the\ best\ search\ agent$|   |$\boldsymbol{while}\ \Big(t<\mathit{\max}\ iteration\Big)$| for every search agent Update a, A, C, l, and p   |$\boldsymbol{if}\mathbf{1}\Big(p<0.5\Big)$|   |$\boldsymbol{if}\mathbf{2}\Big(\Big|A\Big|<1\Big)$| The current search agent’s position is updated using Equation. (2)   |$\boldsymbol{else}\ \boldsymbol{if}\mathbf{2}\Big(\Big|A\Big|\ge 1\Big)$| Choose a search agent in random (⁠|${\overrightarrow{X}}_{rand}$|⁠) The current search agent’s position is updated using Equation. (9)   |$\boldsymbol{end}\ \boldsymbol{if}\mathbf{2}$| |$\boldsymbol{else}\ \boldsymbol{if}\mathbf{1}\Big(p\ge 0.5\Big)$| The current search agent’s position is updated using Equation. (6) |$\boldsymbol{end}\ \boldsymbol{if}\mathbf{1}$| |$\boldsymbol{end}\ \boldsymbol{for}$| For every search agent Update the current search agent’s position using the Cuckoo search algorithm using Equation. (10) |$\boldsymbol{end}$| Determine if the movement of search agent exceeds the search space, and update accordingly. Compute the search agent fitness t If there is a better solution, update X*   |$\boldsymbol{t}=\boldsymbol{t}+\mathbf{1}$| |$\boldsymbol{End}\ \boldsymbol{while}$| return X* Let the whales population be |${X}_i\ \Big(i=1,2,\dots \dots n\Big)$| Compute the search agent fitness   |${X}^{\ast }= the\ best\ search\ agent$|   |$\boldsymbol{while}\ \Big(t<\mathit{\max}\ iteration\Big)$| for every search agent Update a, A, C, l, and p   |$\boldsymbol{if}\mathbf{1}\Big(p<0.5\Big)$|   |$\boldsymbol{if}\mathbf{2}\Big(\Big|A\Big|<1\Big)$| The current search agent’s position is updated using Equation. (2)   |$\boldsymbol{else}\ \boldsymbol{if}\mathbf{2}\Big(\Big|A\Big|\ge 1\Big)$| Choose a search agent in random (⁠|${\overrightarrow{X}}_{rand}$|⁠) The current search agent’s position is updated using Equation. (9)   |$\boldsymbol{end}\ \boldsymbol{if}\mathbf{2}$| |$\boldsymbol{else}\ \boldsymbol{if}\mathbf{1}\Big(p\ge 0.5\Big)$| The current search agent’s position is updated using Equation. (6) |$\boldsymbol{end}\ \boldsymbol{if}\mathbf{1}$| |$\boldsymbol{end}\ \boldsymbol{for}$| For every search agent Update the current search agent’s position using the Cuckoo search algorithm using Equation. (10) |$\boldsymbol{end}$| Determine if the movement of search agent exceeds the search space, and update accordingly. Compute the search agent fitness t If there is a better solution, update X*   |$\boldsymbol{t}=\boldsymbol{t}+\mathbf{1}$| |$\boldsymbol{End}\ \boldsymbol{while}$| return X* Open in new tab Let the whales population be |${X}_i\ \Big(i=1,2,\dots \dots n\Big)$| Compute the search agent fitness   |${X}^{\ast }= the\ best\ search\ agent$|   |$\boldsymbol{while}\ \Big(t<\mathit{\max}\ iteration\Big)$| for every search agent Update a, A, C, l, and p   |$\boldsymbol{if}\mathbf{1}\Big(p<0.5\Big)$|   |$\boldsymbol{if}\mathbf{2}\Big(\Big|A\Big|<1\Big)$| The current search agent’s position is updated using Equation. (2)   |$\boldsymbol{else}\ \boldsymbol{if}\mathbf{2}\Big(\Big|A\Big|\ge 1\Big)$| Choose a search agent in random (⁠|${\overrightarrow{X}}_{rand}$|⁠) The current search agent’s position is updated using Equation. (9)   |$\boldsymbol{end}\ \boldsymbol{if}\mathbf{2}$| |$\boldsymbol{else}\ \boldsymbol{if}\mathbf{1}\Big(p\ge 0.5\Big)$| The current search agent’s position is updated using Equation. (6) |$\boldsymbol{end}\ \boldsymbol{if}\mathbf{1}$| |$\boldsymbol{end}\ \boldsymbol{for}$| For every search agent Update the current search agent’s position using the Cuckoo search algorithm using Equation. (10) |$\boldsymbol{end}$| Determine if the movement of search agent exceeds the search space, and update accordingly. Compute the search agent fitness t If there is a better solution, update X*   |$\boldsymbol{t}=\boldsymbol{t}+\mathbf{1}$| |$\boldsymbol{End}\ \boldsymbol{while}$| return X* Let the whales population be |${X}_i\ \Big(i=1,2,\dots \dots n\Big)$| Compute the search agent fitness   |${X}^{\ast }= the\ best\ search\ agent$|   |$\boldsymbol{while}\ \Big(t<\mathit{\max}\ iteration\Big)$| for every search agent Update a, A, C, l, and p   |$\boldsymbol{if}\mathbf{1}\Big(p<0.5\Big)$|   |$\boldsymbol{if}\mathbf{2}\Big(\Big|A\Big|<1\Big)$| The current search agent’s position is updated using Equation. (2)   |$\boldsymbol{else}\ \boldsymbol{if}\mathbf{2}\Big(\Big|A\Big|\ge 1\Big)$| Choose a search agent in random (⁠|${\overrightarrow{X}}_{rand}$|⁠) The current search agent’s position is updated using Equation. (9)   |$\boldsymbol{end}\ \boldsymbol{if}\mathbf{2}$| |$\boldsymbol{else}\ \boldsymbol{if}\mathbf{1}\Big(p\ge 0.5\Big)$| The current search agent’s position is updated using Equation. (6) |$\boldsymbol{end}\ \boldsymbol{if}\mathbf{1}$| |$\boldsymbol{end}\ \boldsymbol{for}$| For every search agent Update the current search agent’s position using the Cuckoo search algorithm using Equation. (10) |$\boldsymbol{end}$| Determine if the movement of search agent exceeds the search space, and update accordingly. Compute the search agent fitness t If there is a better solution, update X*   |$\boldsymbol{t}=\boldsymbol{t}+\mathbf{1}$| |$\boldsymbol{End}\ \boldsymbol{while}$| return X* Open in new tab 4.6 Summary of proposed CWOA The whale population and the necessary variables are all initialized. For each iteration, fitness is evaluated for each search agent together with the values for the variables A, l, C, p and a. Based on the calculated value of the variable p and A either the current search agent’s position is updated or a random search agent is selected and its position is updated. The position of the search agent is then updated using Lévy flight. If any of the search agents goes beyond the search space its position is amended. If there is any scope for improving the location of the current search agent then the same is performed. The above-mentioned steps are repeated until the iteration has reached its maximum value. Once the value of the iteration has reached the maximum value the algorithm gets terminated. 5 EXPERIMENTAL SETUP The performance of the proposed algorithm was evaluated by conducting simulated experiments in CloudSim3.0 environment. CloudSim is a toolkit that is widely used for simulation purposes. In the CloudSim environment, two data centres are designed and a host for each data centre is assigned. Each host executes a time-shared VM scheduling algorithm. Each host is provided with 20 GB RAM, 1 TB storage and 10 GB/s bandwidth. Among the two hosts, one is of dual core type and the other one is of quad core type. Each host are configured with X86 architecture, Linux operating system, Xen virtual machine monitor (VMM), and a processing capability of 1000000 MIPS. The simulation was carried out with 20 VMs. Each VM has an image size comprising of 10 GB, 0.5 GB memory, 1 GB/s bandwidth and a singular processing element. 1000–10000 MIPS is the range of each VMs processing power. The description of the various parameters used in the experimental setup are listed in the below Table 2. TABLE 2. Parameter description. Entity type . Parameters . Value . Task Task count 100–500 Length of the task [400,1000]MIPS Size of the file [200,1000]MB Size of the output [20,40]MB Host Host memory 20 GB Host storage 1 TB Host bandwidth 20 GB/s Virtual machine Number of VMs 20 Type of policy Time-shared VM RAM 0.5 GB VMM Xen OS Linux Data center Number of CPUs 1 on each Number of data center 02 Number of hosts 02 Entity type . Parameters . Value . Task Task count 100–500 Length of the task [400,1000]MIPS Size of the file [200,1000]MB Size of the output [20,40]MB Host Host memory 20 GB Host storage 1 TB Host bandwidth 20 GB/s Virtual machine Number of VMs 20 Type of policy Time-shared VM RAM 0.5 GB VMM Xen OS Linux Data center Number of CPUs 1 on each Number of data center 02 Number of hosts 02 Open in new tab TABLE 2. Parameter description. Entity type . Parameters . Value . Task Task count 100–500 Length of the task [400,1000]MIPS Size of the file [200,1000]MB Size of the output [20,40]MB Host Host memory 20 GB Host storage 1 TB Host bandwidth 20 GB/s Virtual machine Number of VMs 20 Type of policy Time-shared VM RAM 0.5 GB VMM Xen OS Linux Data center Number of CPUs 1 on each Number of data center 02 Number of hosts 02 Entity type . Parameters . Value . Task Task count 100–500 Length of the task [400,1000]MIPS Size of the file [200,1000]MB Size of the output [20,40]MB Host Host memory 20 GB Host storage 1 TB Host bandwidth 20 GB/s Virtual machine Number of VMs 20 Type of policy Time-shared VM RAM 0.5 GB VMM Xen OS Linux Data center Number of CPUs 1 on each Number of data center 02 Number of hosts 02 Open in new tab 5.1 Results and discussion 5.1.1 Memory utilization The proposed CWOA approach was tested for its memory efficiency by varying the tasks from 100, 250 and 500 for which 25, 50 and 75 numbers of VMs were assigned individually. The work is performed in 25 iterations. Figures 3–5 show the comparative memory utilization for ACO, CS, WOA and CWOA approaches. The Figure 3 given below depicts the plot of 100 tasks executed using 25 VMs. It could be inferred from Fig. 3 that for the fifth iteration, memory utilized for ACO, CS, WOA and CWOA are 0.236(MB), 0.24(MB), 0.23(MB) and 0.2(MB), respectively. Also for the 10th iteration, memory utilized for ACO, CS, WOA, and CWOA are 0.231(MB), 0.23(MB), 0.22(MB), and 0.2(MB), respectively. In the 15th iteration, memory utilized for ACO, CS, WOA and CWOA are 0.227(MB), 0.24(MB), 0.22(MB) and 0.21(MB), respectively. In the 20th iteration, memory utilized for ACO, CS, WOA and CWOA are 0.233(MB), 0.24(MB), 0.23(MB) and 0.19(MB), respectively. Finally in the 25th iteration, memory utilized for ACO, CS, WOA, and CWOA are 0.225(MB), 0.23(MB), 0.22(MB) and 0.19(MB), respectively. On the whole, the proposed CWOA approach in comparison to ACO, CS and WOA had produced an overall improvement of 16.36%, 19.19% and 13.13% with respect to memory utilization. FIGURE 3. Open in new tabDownload slide VM-25, number of tasks-100 for memory utilization. FIGURE 4. Open in new tabDownload slide VM-50, number of tasks-250 for memory utilization. FIGURE 5. Open in new tabDownload slide VM-75, number of tasks-500 for memory utilization. Figure 4 shows the plot of memory utilization obtained by assigning 250 tasks to 50 VMs under ACO, CS, WOA and CWOA approaches. Work is performed in 25 iterations. It could be inferred from Fig. 4 that for the fifth iteration, memory utilized for ACO, CS, WOA and CWOA are 0.258(MB), 0.26(MB), 0.25(MB) and 0.23(MB), respectively. Also for the 10th iteration, memory utilized for ACO, CS, WOA and CWOA are 0.255(MB), 0.26(MB), 0.25(MB) and 0.22(MB), respectively. In the 15th iteration, memory utilized for ACO, CS, WOA and CWOA are 0.239(MB), 0.24(MB), 0.23(MB) and 0.21(MB), respectively. In the 20th iteration, memory utilized for ACO, CS, WOA and CWOA are 0.235(MB), 0.24(MB), 0.23(MB) and 0.2(MB), respectively. Finally in the 25th iteration, memory utilized for ACO, CS, WOA and CWOA are 0.227(MB), 0.23(MB), 0.22(MB) and 0.2(MB), respectively. Therefore it could be clearly noted that the proposed CWOA approach had produced better efficiency with respect to memory utilization when compared to other existing approaches in all the above observed iterations. On the whole, the proposed CWOA approach in comparison to ACO, CS and WOA had produced an overall improvement of 14.52%, 16.03% and 11.32% with respect to memory utilization. Figure 5 shows the plot of memory utilization obtained by assigning 500 tasks to 75 VMs under ACO, CS, WOA and CWOA approaches. Work is performed in 25 iterations. It could be inferred from Fig. 5 that for the fifth iteration, memory utilized for ACO, CS, WOA and CWOA are 0.29(MB), 0.28(MB), 0.27(MB) and 0.25(MB), respectively. Also for the 10th iteration, memory utilized for ACO, CS, WOA and CWOA are 0.25(MB), 0.28(MB), 0.27(MB) and 0.24(MB), respectively. In the 15th iteration, memory utilized for ACO, CS, WOA and CWOA are 0.25(MB), 0.26(MB), 0.25(MB) and 0.23(MB), respectively. In the 20th iteration, memory utilized for ACO, CS, WOA and CWOA are 0.254(MB), 0.26(MB), 0.25(MB) and 0.23 (MB), respectively. Finally in the 25th iteration, memory utilized for ACO, CS, WOA and CWOA are 0.24(MB), 0.25(MB), 0.24(MB) and 0.23(MB), respectively. Therefore it could be clearly noted that the proposed CWOA approach had produced better efficiency with respect to memory utilization when compared to other existing approaches in all the above observed iterations. On the whole, the proposed CWOA approach in comparison to ACO, CS and WOA had produced an overall improvement of 8.81%, 12.71% and 8.47% with respect to memory utilization. 5.1.2 Energy consumption The efficiency with respect to energy consumption of the proposed CWOA approach had been observed by varying the tasks as 100, 250 and 500. For these tasks 25, 50 and 75 numbers of VMs were assigned, respectively. The work is performed in 25 iterations. Figures 6–8 show the comparative energy consumption plots for ACO, CS, WOA and CWOA approaches. The Figure 6 given below depicts the plot of 100 tasks executed using 25 VMs. It could be inferred from Fig. 6 that for the fifth iteration, energy consumed for ACO, CS, WOA and CWOA are 00.49(KWH), 0.5(KWH), 0.49(KWH) and 0.4(KWH), respectively. Also for the 10th iteration, energy consumed for ACO, CS, WOA and CWOA are 0.45(KWH), 0.49(KWH), 0.48(KWH) and 0.39(KWH), respectively. In the 15th iteration, energy consumed for ACO, CS, WOA and CWOA are 0.47(KWH), 0.46(KWH), 0.45(KWH) and 0.4(KWH), respectively. In the 20th iteration, energy consumed for ACO, CS, WOA and CWOA are 0.46(KWH), 0.45(KWH), 0.44(KWH) and 0.39(KWH), respectively. Finally in the 25th iteration, energy consumed for ACO, CS, WOA and CWOA are 0.46(KWH), 0.45(KWH), 0.44(KWH) and 0.39(KWH), respectively. Therefore it could be clearly noted that the proposed CWOA approach had produced better efficiency with respect to energy consumption when compared to other existing approaches. On the whole, the proposed CWOA approach in comparison to ACO, CS and WOA had produced an overall improvement of 19.08%, 19.34% and 16.75% with respect to energy consumption. FIGURE 6. Open in new tabDownload slide VM-25, number of tasks-100 for energy consumption. FIGURE 7. Open in new tabDownload slide VM-50, number of tasks-250 for energy consumption. FIGURE 8. Open in new tabDownload slide VM-75, number of tasks-500 for energy consumption. Figure 7 shows the plot of energy consumption obtained by assigning 250 tasks to 50 VMs under ACO, CS, WOA and CWOA approaches. Work is performed in 25 iterations. It could be inferred from Fig. 7 that for the 5th iteration, energy consumption for ACO, CS, WOA and CWOA are 0.47(KWH), 0.454(KWH), 0.44(KWH) and 0.423(KWH), respectively. Also for the 10th iteration, energy consumption for ACO, CS, WOA and CWOA are 0.47(KWH), 0.459(KWH), 0.447(KWH) and 0.424(KWH), respectively. In the 15th iteration, energy consumption for ACO, CS, WOA and CWOA are 0.47(KWH), 0.45(KWH), 0.458(KWH) and 0.43(KWH), respectively. In the 20th iteration, energy consumption for ACO, CS, WOA and CWOA are 0.47(KWH), 0.46(KWH), 0.45(KWH) and 0.434(KWH), respectively. Finally in the 25th iteration, energy consumption for ACO, CS, WOA and CWOA are 0.47(KWH), 0.45(KWH), 0.45(KWH) and 0.43(KWH), respectively. Therefore it could be clearly noted that the proposed CWOA approach had produced better efficiency with respect to energy consumption when compared to other existing approaches in all the above observed iterations. On the whole, the proposed CWOA approach in comparison to ACO, CS and WOA had produced an overall improvement of 10.28%, 6.16% and 4.85% with respect to energy consumption. Figure 8 shows the plot of energy consumption obtained by assigning 500 tasks to 75 VMs under ACO, CS, WOA and CWOA approaches. Work is performed in 25 iterations. It could be inferred from Fig. 8 that for the fifth iteration, energy consumption for ACO, CS, WOA and CWOA are 0.483(KWH), 0.48(KWH), 0.47(KWH) and 0.46(KWH), respectively. Also for the 10th iteration, energy consumption for ACO, CS, WOA, and CWOA are 0.491(KWH), 0.484(KWH), 0.472(KWH) and 0.466(KWH), respectively. In the 15th iteration, energy consumption for ACO, CS, WOA and CWOA are 0.492(KWH), 0.486(KWH), 0.475(KWH) and 0.469(KWH), respectively. In the 20th iteration, energy consumption for ACO, CS, WOA and CWOA are 0.493(KWH), 0.487(KWH), 0.481(KWH) and 0.472(KWH), respectively. Finally in the 25th iteration, energy consumption for ACO, CS, WOA and CWOA are 0.494(KWH), 0.49(KWH), 0.481(KWH) and 0.474(KWH), respectively. Therefore it could be clearly noted that the proposed CWOA approach had produced better efficiency with respect to energy consumption when compared to other existing approaches in all the above observed iterations. On the whole, the proposed CWOA approach in comparison to ACO, CS and WOA had produced an overall improvement of 4.78%, 3.67% and 1.62% with respect to energy consumption. 5.1.3 Makespan evaluation The efficiency with respect to makespan of the proposed CWOA approach had been observed by varying the number of tasks as 100, 250 and 500. For these tasks 25, 50 and 75 numbers of VMs were assigned, respectively. The work is performed in 25 iterations. Figures 9–11 show the comparative makespan plots for ACO, CS, WOA and CWOA approaches. The Figure 9 given below depicts the plot of 100 tasks executed using 25 VMs. It could be inferred from Fig. 9 that for the fifth iteration, makespan values for ACO, CS, WOA and CWOA are 0.46(S), 0.464(S), 0.45(S), 0.44(S), respectively. Also for the 10th iteration, makespan values for ACO, CS, WOA and CWOA are 0.47(S), 0.469(S), 0.457(S) and 0.445(S), respectively. In the 15th iteration, makespan values for ACO, CS, WOA and CWOA are, 0.471(S), 0.47(S), 0.468(S) and 0.446(S), respectively. In the 20th iteration, makespan values for ACO CS, WOA and CWOA are 0.47(S), 0.46(S), 0.45(S) and 0.445(S), respectively. Finally in the 25th iteration, makespan values for ACO, CS, WOA and CWOA are 0.472(S), 0.46(S), 0.45(S) and 0.44(S), respectively. Therefore it could be clearly noted that the proposed CWOA approach had produced better efficiency with respect to makespan values obtained when compared to other existing approaches. On the whole, the proposed CWOA approach in comparison to ACO, CS and WOA had produced an overall improvement of 5.62%, 4.36% and 2.27% with respect to makespan. FIGURE 9. Open in new tabDownload slide VM-25, number of tasks-100 for makespan evaluation. FIGURE 10. Open in new tabDownload slide VM-50, number of tasks-250 for makespan evaluation. FIGURE 11. Open in new tabDownload slide VM-75, number of tasks-500 for makespan evaluation. Figure 10 shows the plot of makespan values obtained by assigning 250 tasks to 50 VMs under ACO, CS, WOA and CWOA approaches. Work is performed in 25 iterations. It could be inferred from Fig. 10 that for the fifth iteration, the makespan values for ACO, CS, WOA and CWOA are 0.488(S), 0.474(S), 0.461(S) and 0.458(S), respectively. Also for the 10th iteration, the makespan values for ACO, CS, WOA and CWOA are 0.482(S), 0.479(S), 0.467(S) and 0.455(S), respectively. In the 15th iteration, the makespan values for ACO, CS, WOA and CWOA are 0.481(S), 0.48(S), 0.478(S) and 0.466(S), respectively. In the 20th iteration, the makespan values for ACO, CS, WOA and CWOA are 0.481(S), 0.47(S), 0.46(S) and 0.455(S), respectively. Finally in the 25th iteration, the makespan values for ACO, CS, WOA and CWOA are 0.482(S), 0.471(S), 0.46(S) and 0.451(S), respectively. Therefore it could be clearly noted that the proposed CWOA approach had produced better efficiency with respect to the makespan values obtained when compared to other existing approaches in all the above observed iterations. On the whole, the proposed CWOA approach in comparison to ACO, CS and WOA had produced an overall improvement of 5.56%, 3.80% and 1.73% with respect to makespan. Figure 11 shows the plot of makespan values obtained by assigning 500 tasks to 75 VMs under ACO, CS, WOA and CWOA approaches. Work is performed in 25 iterations. It could be inferred from Fig. 11 that for the fifth iteration, the makespan values for ACO, CS, WOA and CWOA are 0.488(S), 0.47(S), 0.464(S) and 0.46(S), respectively. Also for the 10th iteration, the makespan values for ACO, CS, WOA and CWOA are 0.48(S), 0.478(S), 0.475(S) and 0.474(S), respectively. In the 15th iteration, the makespan values for ACO, CS, WOA and CWOA are 0.481(S), 0.473(S), 0.465(S) and 0.46(S), respectively. In the 20th iteration, the makespan values for ACO, CS, WOA and CWOA are 0.48(S), 0.472(S), 0.471(S) and 0.463(S), respectively. Finally in the 25th iteration, the makespan values for ACO, CS, WOA and CWOA are 0.485(S), 0.473(S), 0.471(S) and 0.467(S), respectively. Therefore it could be clearly noted that the proposed CWOA approach had produced better efficiency with respect to the makespan values obtained when compared to other existing approaches in all the above observed iterations. On the whole, the proposed CWOA approach in comparison to ACO, CS and WOA had produced an overall improvement of 3.87%, 1.80% and 0.94% with respect to makespan. 5.1.4 Performance observation of proposed CWOA 5.1.4.1 Fixing VM and varying tasks The performance of the proposed CWOA was observed by fixing the VM count to 25 numbers and varying the number of tasks to 100, 250, 500 and 1000. The performance of CWOA had been compared with ACO, CS and WOA algorithms with respect to memory, energy and makespan parameters. Results obtained had been plotted in Figs. 12–14. It could be inferred from these plots that the proposed CWOA had produced improved results when compared to ACO, CS and WOA algorithms. For instance, it could be observed from these plots that for a VMs’ count of 25 and 1000 tasks, the proposed CWOA had produced an improvement of 10.91%, 9.35% and 7.5% with respect to memory utilization, 14.22%, 12.91% and 10.37% with respect to energy consumption and 10.67%, 4.85% and 3.91% with respect to makespan when compared with ACO, CS and WOA algorithms, respectively. FIGURE 12. Open in new tabDownload slide Fixing VM and varying tasks for memory utilization. FIGURE 13. Open in new tabDownload slide Fixing VM and varying tasks for energy consumption. FIGURE 14. Open in new tabDownload slide Fixing VM and varying tasks for makespan. 5.1.4.2 Fixing tasks and varying VMs The performance of the proposed CWOA was observed by fixing the tasks count to 1000 and varying the number of VMs to 25, 50 and 75. The performance of CWOA had been compared in this setup with ACO, CS and WOA algorithms with respect to memory, energy and makespan parameters. Results obtained had been plotted in Figs. 15–17. It could be inferred from these plots that the proposed CWOA had produced improved results when compared to ACO, CS and WOA algorithms. For instance, it could be observed from these plots that for a tasks’ count of 1000 and 75 VMs, the proposed CWOA had produced an improvement of 19.4%, 9.55% and 5.57% with respect to memory utilization, 14.8%, 9.94% and 4.72% with respect to energy consumption and 15.34%, 8.09% and 4.23% with respect to makespan when compared with ACO, CS and WOA algorithms, respectively. FIGURE 15. Open in new tabDownload slide Varying VMs and fixed number of tasks for memory utilization. FIGURE 16. Open in new tabDownload slide Varying VMs and fixed number of tasks for energy consumption. FIGURE 17. Open in new tabDownload slide Varying VMs and fixed number of tasks for makespan. 5.1.4.3 Observation of varying number of iterations on large number of tasks The performance of the proposed CWOA was observed by fixing the task count to 1000, VM count to 25 and varying the number of iterations from 25, 50, 75,100,125,150,175 and 200. The performance of CWOA had been compared in this setup with ACO, CS and WOA algorithms with respect to memory, energy and makespan parameters. Results obtained had been plotted in Figs. 18–20. It could be inferred from these plots that the proposed CWOA had produced improved results when compared to ACO, CS and WOA algorithms. For instance, it could be observed from these plots that by fixing the tasks’ count to 1000 and VM count to 25 and varying the iterations from 25 to 200, the proposed CWOA had produced an improvement of 18.44%, 11.83% and 6.84% with respect to memory utilization, 26.61%, 22.16% and 14.21% with respect to energy consumption and 21.50%, 14.75% and 8.38% with respect to makespan when compared with ACO, CS and WOA algorithms, respectively. FIGURE 18. Open in new tabDownload slide VM-25, number of tasks-1000 for memory evaluation. FIGURE 19. Open in new tabDownload slide VM-25, number of tasks-1000 for energy consumption. FIGURE 20. Open in new tabDownload slide VM-25, number of tasks-1000 for makespan. 6 CONCLUSION A method to schedule tasks efficiently to VMs in the cloud computing systems had been presented in this article. The proposed CWOA approach reduces the energy usage for every task assigned. The proposed CWOA approach primarily deals with memory, makespan and energy consumption parameters for improving the efficiency of task scheduling and resource allocation processes. CWOA algorithm had been designed to use energy, makespan and memory efficiently for user submitted tasks. From the obtained experimental results for various configurations considered, the proposed hybrid CWOA algorithm produces better, near optimal results when compared to ACO, CS and WOA algorithms. In future, the simulation work performed could be extended to real cloud environment for validating the performance of the proposed CWOA approach with other algorithms. DATA AVAILABILITY The data underlying this article will be shared on reasonable request to the corresponding author. CONFLICT OF INTEREST The author(s) herewith confirm that there is no known conflict of interest associated with this publication and there has been no financial support for this work that could have influenced its outcome. References [1] Abdullahi , M. and Ngadi , M.A. ( 2016 ) Symbiotic organism search optimization based task scheduling in cloud computing environment . Future Gener. Comput. Syst. , 56 , 640 – 650 . Google Scholar Crossref Search ADS WorldCat [2] Jacob , T.P. and Pradeep , K. ( 2019 ) A multi-objective optimal task scheduling in cloud environment using cuckoo particle swarm optimization . Wireless Person Commun. , 109 , 315 – 331 . Google Scholar Crossref Search ADS WorldCat [3] Gobalakrishnan , N. and Arun , C. ( 2018 ) A new multi-objective optimal programming model for task scheduling using genetic gray wolf optimization in cloud computing . Comput. J. , 61 , 1523 – 1536 . Google Scholar Crossref Search ADS WorldCat [4] Natesan , G. and Chokkalingam , A. ( 2019 ) Multi-objective task scheduling using hybrid whale genetic optimization algorithm in heterogeneous computing environment . Wireless Person Commun. , 110 , 1887 – 1913 . Google Scholar Crossref Search ADS WorldCat [5] Manikandan , N. and Pravin , A. ( 2019 ) LGSA: Hybrid task scheduling in multi objective functionality in cloud computing environment . 3D Research , 10 , 12 . Google Scholar Crossref Search ADS WorldCat [6] Natesan , G. and Chokkalingam , A. ( 2019 ) Task scheduling in heterogeneous cloud environment using mean grey wolf optimization algorithm . ICT Express. , 5 , 110 – 114 . Google Scholar Crossref Search ADS WorldCat [7] Natesan , G. and Chokkalingam , A. ( 2017 ) Opposition learning-based grey wolf optimizer algorithm for parallel machine scheduling in cloud environment . Int. J. Intell. Eng. Syst. , 10 , 186 – 195 . Google Scholar OpenURL Placeholder Text WorldCat [8] Natesan , G. and Chokkalingam , A. ( 2019 ) Optimal task scheduling in the cloud environment using a mean Grey wolf optimization algorithm . Int. J. Tech. , 10 , 126 – 136 . Google Scholar Crossref Search ADS WorldCat [9] Zuo , L. , Shu , L., Dong , S., Zhu , C. and Hara , T. ( 2015 ) A multi-objective optimization scheduling method based on the ant colony algorithm in cloud computing . IEEE Access. , 3 , 2687 – 2699 . Google Scholar Crossref Search ADS WorldCat [10] Somasundaram , T.S. and Govindarajan , K. ( 2014 ) CLOUDRB: A framework for scheduling and managing high-performance computing (HPC) applications in science cloud . Future Gener. Comput. Syst. , 34 , 47 – 65 . Google Scholar Crossref Search ADS WorldCat [11] Krishnadoss , P. and Jacob , P. ( 2018 ) OCSA: Task scheduling algorithm in cloud computing environment . Int. J. Intell. Eng. Syst. , 11 , 271 – 279 . Google Scholar OpenURL Placeholder Text WorldCat [12] Pradeep , K. and Jacob , T.P. ( 2018 ) CGSA scheduler: A multi-objective-based hybrid approach for task scheduling in cloud environment . Inf. Sec. J.: A Glob. Persp. , 27 , 77 – 91 . Google Scholar OpenURL Placeholder Text WorldCat [13] Pradeep , K. and Jacob , T.P. ( 2018 ) A hybrid approach for task scheduling using the cuckoo and harmony search in cloud computing environment . Wireless Person Commun. , 101 , 2287 – 2311 . Google Scholar Crossref Search ADS WorldCat [14] Buyya , R. , Yeo , C.S., Venugopal , S., Broberg , J. and Brandic , I. ( 2009 ) Cloud computing and emerging IT platforms: Vision, hype, and reality for delivering computing as the 5th utility . Future Gener. Comput. Syst. , 25 , 599 – 616 . Google Scholar Crossref Search ADS WorldCat [15] Zhang , Q. , Cheng , L. and Boutaba , R. ( 2010 ) Cloud computing: State-of-the-art and research challenges . J. Inter. Serv. Appl. , 1 , 7 – 18 . Google Scholar Crossref Search ADS WorldCat [16] Jennings , B. and Stadler , R. ( 2015 ) Resource management in clouds: Survey and research challenges . J. Netw. Syst. Manag. , 23 , 567 – 619 . Google Scholar Crossref Search ADS WorldCat [17] Mustafa , S. , Nazir , B., Hayat , A. and Madani , S.A. ( 2015 ) Resource management in cloud computing: Taxonomy, prospects, and challenges . Comput. Elect. Eng. , 47 , 186 – 203 . Google Scholar Crossref Search ADS WorldCat [18] Kalra , M. and Singh , S. ( 2015 ) A review of metaheuristic scheduling techniques in cloud computing . Egypt Inform. J. , 16 , 275 – 295 . Google Scholar Crossref Search ADS WorldCat [19] Xue , S. , Zhang , Y., Xu , X., Xing , G., Xiang , H. and Ji , S. ( 2017 ) QET: A QoS-based energy-aware task scheduling method in cloud environment . Clust. Comput. , 20 , 3199 – 3212 . Google Scholar Crossref Search ADS WorldCat [20] Yao , G. , Ding , Y., Jin , Y. and Hao , K. ( 2017 ) Endocrine-based coevolutionary multi-swarm for multi-objective workflow scheduling in a cloud system . Soft Comput. , 21 , 4309 – 4322 . Google Scholar Crossref Search ADS WorldCat [21] Zhang , R. , Tian , F., Ren , X., Chen , Y., Chao , K., Zhao , R. and Wang , W. ( 2018 ) Associate multi-task scheduling algorithm based on self-adaptive inertia weight particle swarm optimization with disruption operator and chaos operator in cloud environment . Serv. Orient. Comput. App. , 12 , 87 – 94 . Google Scholar Crossref Search ADS WorldCat [22] Ma , T. , Chu , Y., Zhao , L. and Ankhbayar , O. ( 2014 ) Resource allocation and scheduling in cloud computing: Policy and algorithm . IETE Tech. Rev. , 31 , 4 – 16 . Google Scholar Crossref Search ADS WorldCat [23] Zuo , X. , Zhang , G. and Tan , W. ( 2013 ) Self-adaptive learning PSO-based deadline constrained task scheduling for hybrid IaaS cloud . IEEE Trans. Auto. Sci. Eng. , 11 , 564 – 573 . Google Scholar Crossref Search ADS WorldCat [24] Abdullahi , M. and Ngadi , M.A. ( 2016 ) Hybrid symbiotic organisms search optimization algorithm for scheduling of tasks on cloud computing environment . PLoS One , 11 , e0158229 . Google Scholar Crossref Search ADS PubMed WorldCat [25] Abdulhamid , S.I.M. , Abd Latiff , M.S., Abdul-Salaam , G. and Hussain Madni , S.H. ( 2016 ) Secure scientific applications scheduling technique for cloud computing environment using global league championship algorithm . PLoS One , 11 , e0158102 . Google Scholar Crossref Search ADS PubMed WorldCat [26] Zhou , Z. , Li , F., Zhu , H., Xie , H., Abawajy , J.H. and Chowdhury , M.U. ( 2020 ) An improved genetic algorithm using greedy strategy toward task scheduling optimization in cloud environments . Neural Comput. Appl. , 32 , 1531 – 1541 . Google Scholar Crossref Search ADS WorldCat [27] Kumar , K.P. and Kousalya , K. ( 2019 ) Amelioration of task scheduling in cloud computing using crow search algorithm . Neural Comput. Applic. , 32 , 5901 – 5907 . Google Scholar Crossref Search ADS WorldCat [28] Sreenu , K. and Sreelatha , M. ( 2019 ) W-scheduler: Whale optimization for task scheduling in cloud computing . Cluster Comput. , 22 , 1087 – 1098 . Google Scholar Crossref Search ADS WorldCat [29] Mirjalili , S. and Lewis , A. ( 2016 ) The whale optimization algorithm . Adv. Eng. Softw. , 95 , 51 – 67 . Google Scholar Crossref Search ADS WorldCat © The Author(s) 2021. Published by Oxford University Press on behalf of The British Computer Society. All rights reserved. For permissions, please e-mail: journals.permissions@oup.com This article is published and distributed under the terms of the Oxford University Press, Standard Journals Publication Model (https://academic.oup.com/journals/pages/open_access/funder_policies/chorus/standard_publication_model) © The Author(s) 2021. Published by Oxford University Press on behalf of The British Computer Society. All rights reserved. For permissions, please e-mail: journals.permissions@oup.com TI - CWOA: Hybrid Approach for Task Scheduling in Cloud Environment JF - The Computer Journal DO - 10.1093/comjnl/bxab028 DA - 2022-07-15 UR - https://www.deepdyve.com/lp/oxford-university-press/cwoa-hybrid-approach-for-task-scheduling-in-cloud-environment-C0x7iSCb7d SP - 1860 EP - 1873 VL - 65 IS - 7 DP - DeepDyve ER -