An important challenge facing cloud computing is how to correctly and effectively handle and serve millions of users’ requests. Efficient task scheduling in cloud computing can intuitively affect the resource configuration and operating cost of the entire system. However, task and resource scheduling in a cloud computing environment is an NP-hard problem. In this paper, we propose a three-layer scheduling model based on whale-Gaussian cloud. In the second layer of the model, a whale optimization strategy based on the Gaussian cloud model (GCWOAS2) is used for multiobjective task scheduling in a cloud computing which is to minimize the completion time of the task via effectively utilizing the virtual machine resources and to keep the load balancing of each virtual machine, reducing the operating cost of the system. In the GCWOAS2 strategy, an opposition-based learning mechanism is first used to initialize the scheduling strategy to generate the optimal scheduling scheme. Then, an adaptive mobility factor is proposed to dynamically expand the search range. The whale optimization algorithm based on the Gaussian cloud model is proposed to enhance the randomness of search. Finally, a multiobjective task scheduling algorithm based on Gaussian whale-cloud optimization (GCWOA) is presented, so that the entire scheduling strategy can not only expand the search range but also jump out of the local maximum and obtain the global optimal scheduling strategy. Experimental results show that compared with other existing metaheuristic algorithms, our strategy can not only shorten the task completion time but also balance the load of virtual machine resources, and at the same time, it also has a better performance in resource utilization.
With the rapid development of Internet of Things and big data technology, cloud computing [
The scheduling problem of cloud computing is mainly divided into three layers: the first is scheduling virtual resources for user applications [
In the cloud computing environment, many forms of scheduling methods have been adopted, including priority-based scheduling [
Among EC algorithms, the whale optimization algorithm (WOA) [
The cloud model [
In this article, our main purpose is to find a reasonable mapping between tasks and virtual machines to reduce execution time and reduce costs while meeting user’s QoS. Therefore, we designed a three-layer scheduling model to achieve multiobjective scheduling and optimization. In the GCWOAS2 strategy, taking into account the blindness of the randomly initialized population, the opposition-based learning (OBL) mechanism [
In this paper, we study the multiobjective task scheduling problem based on the Gaussian whale-cloud model in cloud computing. The main contributions are summarized as follows: A three-layer architecture model of whale-Gauss cloud scheduling is proposed, which are user task layer, task scheduling layer, and data center layer to describe the entire process of task scheduling. In the population initialization process, an initialization population strategy based on the opposition-based learning mechanism is proposed to generate the scheduling plan, so that the initialized scheduling plan is closer to the optimal plan. Simulation experiments show that each individual in the new population is closer to the optimal solution. An adaptive adjustment factor based on dynamic changes is proposed to dynamically adjust the search step size to make the task search for VMs in a wider range in the scheduling process. Experiments have proved that this strategy can get more solutions than before. A whale optimization algorithm based on the Gaussian cloud model is proposed, which makes the scheduling process more random and fuzzier, can make the scheduling strategy jump out of the local optimum, and enhances the optimization ability, with significant effects. Finally, a multiobjective task scheduling algorithm based on the Gaussian whale-cloud optimization-GCWOA algorithm is proposed, and the GCWOA algorithm is used in the GCWOAS2 scheduling strategy, which can effectively combine all the advantages of the above contributions.
The other parts of this article are arranged as follows: in the second part, we study the related work. In the third part, we describe the task scheduling model. In the fourth part, the basic knowledge is introduced. In the fifth part, we propose our own method. The sixth part compares and evaluates our models. And the seventh part draws a summary.
The heterogeneity and dynamics of cloud resources make the scheduling strategy for effectively allocating resources to tasks particularly complicated. In addition, the CPU running rate and bandwidth of virtual machines and hosts in the cloud are different, which will cause scheduling problems becoming more difficult.
To make more reasonable and effective use of resources in the cloud, metaheuristic algorithms [
Xiong et al. [
Ding et al. [
However, the scheduling focus of these methods is on the optimal solution of a single goal, and the overall situation cannot be considered. Although this example achieves the best results, it will lead to the effects of other examples are not very well, so that the results have great limitations.
With the application of cloud computing in the industrial Internet, single-objective optimization can no longer meet industrial needs, and multiobjective optimization has begun to attract more and more attention. Many scholars have conducted a lot of research in the context of multiobjective scheduling. The current research on multiobjective optimization mainly includes task completion time, QoS quality, operating cost, and energy consumption [
Hosseinzadeh et al. [
In [
In evolutionary computation, balancing the diversity and convergence of the population for multiobjective evolutionary algorithms (MOEAs) is one of the most challenging topics [
Although the above method has good performance in multiobjective scheduling, it has insufficient advantages in the convergence speed and convergence accuracy of the algorithm, and further optimization is needed.
In order to solve the above problems, in this paper we propose a multiobjective task scheduling strategy based on Gaussian cloud-whale optimization (GCWOAS2). A good scheduling strategy can effectively reduce the response time of tasks, meet the needs of users with different constraint levels, and further improve resource utilization and reduce energy consumption. So far, we have not found any research on applying the WOA algorithm to cloud task scheduling. Therefore, we apply the GCWOAS2 strategy proposed to cloud task scheduling in this paper. Experiments have proved that this can effectively reduce task execution time and balance the load.
In cloud computing, scheduling strategies can directly affect the utilization efficiency of resources at all levels and the operating costs of service providers, so the quality of task scheduling becomes the key to the smooth and convenient completion of production operations [
In this article, we designed a whale-Gaussian cloud scheduling model, as shown in Figure User task layer: in this layer, after the user sends a task, a series of workloads are split into subtasks and placed in the task waiting queue so that the tasks can be scheduled in the next layer. Task scheduling layer: in this layer, task monitors and resource managers feed back the remaining tasks and resource information to the control center, and the control center feeds back the information to the nodes in the cloud environment. Tasks are scheduled on the computing nodes according to our proposed GCMWOA algorithm. After the scheduling is completed, the task and resource information is fed back to the control center. In this way, nodes in the cloud can cooperate and communicate to complete the user’s task request. Data center layer: in this layer, the virtual machine information is sent to the server, and the scheduling and landing of physical resources are completed in the server.
Whale-Gaussian cloud scheduling model architecture.
The demand information submitted by the user is transformed into a set of subtasks at the task level. These subtasks enter the task waiting queue. At the scheduling layer, tasks begin to find suitable resource nodes in the cloud environment. The model can clearly divide all processes of task scheduling and make the scheduling of each part more intuitive. However, the scheduling strategy and scheduling algorithm we proposed are mainly concentrated on the second layer of the model-task scheduling layer. In this process, we assume that all tasks are independent of each other.
When we use algorithms to schedule tasks to virtual machines for execution, since it is unknown which virtual machine the task is suitable for running in, many solutions will be randomly generated when the algorithm initializes the population, so we propose to introduce the opposition-based learning mechanism to the initialization In the population, when the population is initialized, the generated solution will be closer to the optimal solution. We have introduced an adaptive dynamic adjustment factor, so that our proposed algorithm will be able to search for as many tasks and virtual machine matching schemes as possible, which is conducive to obtaining the optimal solution. Since the algorithm may save the local suboptimal solution as the optimal solution in the iterative process, in order to avoid this problem, we introduce the Gaussian cloud model so that the algorithm can jump out of the local optimum and find the optimal solution.
To conveniently express the task scheduling process we designed, we give the following definitions:
Tasks and VM set: suppose there is a set of virtual machine resources recorded as
Mapping matrix A between tasks and VMs: each task in Definition
We use
Time function: in this article, the length of the task set and the running speed of the virtual machine are known. Our goal is to optimize task completion time, balance virtual machine load, and reduce operating costs. The time can be calculated according to formula (
Load cost function: load balancing means that the completion time of the virtual machine is basically the same as the total completion time of the task. We define the load balancing function as shown in the following formula:
In formula (
Operational cost function: the cost spent on a virtual machine is calculated by using the CPU, memory, and bandwidth of the virtual machine in this article. We define the cost function as shown in
In formula (
In order to more accurately converge and get the optimal solution, we use the min-max method to normalize the matrix. This method is used for normalization because the numerical proportions of the three targets
Multiobjective function: express the above three objective functions as
Different cloud computing systems have different performance requirements for target tasks. Therefore, in this article, we convert the above three objective function utilization weights from multiobjective scheduling to single-objective scheduling. The final objective function becomes
In formula (
From the overall optimization of the algorithm, in order to obtain the smallest
Optimization objective function: in this article, the three objectives to be optimized are equally important, so we set
In this article, our main optimization goals are task execution time, virtual machine load, and the cost of running all virtual machines. In the process of task scheduling, the commonly used method to reduce task execution time is to place the task in the virtual machine with the fastest running speed, that is, the largest CPU value, but this will cause the load of the virtual machine with a large CPU value to be too high. Other virtual machines with small CPU values are idle, resulting in unbalanced load, which in turn affects operating costs. This kind of operation is more efficient in terms of time, but it sacrifices the load of the virtual machine and also affects the cost. Therefore, we propose a multiobjective scheduling in this article. Our strategy can take into account the time and load issues at the same time, so that all objectives are optimized.
In this part, we give the main ideas and algorithms of the whale optimization algorithm and Gaussian cloud model and use them as the basis for cloud computing task scheduling based on the GCMWOA algorithm.
Whale optimization algorithm (WOA) [
The probability of choosing whether to surround the prey or the bubble net to trap the prey is the same when the whale swims, that is,
When choosing to move to the optimal position,
In each iteration process,
When choosing to swim to the position of a random whale, the swimming formula is shown in the following formula:
While whales use bubble nets to attack their prey, they also continuously update their position by directly constructing a spiral equation between themselves and their prey. The position update of the whale is shown in the following formulas:
In formula (
The task scheduling solution we proposed can be transformed into the whale position problem in the whale optimization algorithm [
The concept of opposition-based learning (OBL) was proposed by Tizhoosh [
Opposition-based learning is defined as follows: assuming that the solutions generated in
The cloud model [
The normal cloud model is an algorithm that basically obeys the normal distribution of cloud drops. After determining the expectations
The pseudocode of the Gaussian cloud model generation algorithm is shown in (Algorithm
Generate a normal distribution random number Generate a normal distribution random number Calculate the membership function End for
The distribution and digital characteristics of cloud drops in Gaussian clouds are shown in Figure
Gaussian cloud model under different conditions. (a)
Figure
The problem of searching for the best mapping between tasks and virtual machines in the process of task scheduling in cloud computing can be transformed into the problem of solving the optimal position of whales in the whale optimization algorithm. The search process of whale swimming is the process of task finding a suitable virtual machine. The position of the leader whale is the optimal solution in the entire scheduling process. The minimum value of the leader’s fitness function value is the minimum value obtained by normalizing time, load, and cost in the entire scheduling process [
Our research found that the whale optimization algorithm randomly generates an initial population at the beginning of the iteration, which cannot guarantee the diversity of the population, and will affect the search efficiency of the algorithm to a certain extent. At the same time, the algorithm does not jump out of the local optimal solution, and it is easy to fall into the local optimal when it converges quickly. Therefore, by making the following improvements to the whale optimization algorithm, we propose a multiobjective task scheduling strategy GCWOAS2 based on Gaussian cloud-whale optimization in cloud computing: (1) generate its reverse population while randomly generating the population to increase the diversity of the population. (2) In the search process, an adaptive movement factor is introduced to expand the search range, so that the algorithm jumps out of the local optimum. (3) The normal cloud model is introduced to make the algorithm enhance the global search and jump out of the local optimum.
Since the randomly generated population has not been estimated, it has greater uncertainty, and the convergence rate is unpredictable, so we consider the reverse individual of each individual at the same time, and choose the minimum fitness function value shown in formula (
The pseudocode of the initial population algorithm based on opposition-based learning mechanism is shown in Algorithm
Randomly generate an initial population According to formula ( Calculate the fitness of Select individuals with higher fitness and put them in the final population
As shown in the above content, formula (
In addition, we also used the Gaussian cloud model to improve the whale’s swimming process to further improve the algorithm’s search ability in cloud task scheduling.
The Gaussian cloud model is introduced into the whale optimization algorithm to improve the walking step length of the whale and optimize the random swimming around the prey during the swimming search and the process of driving the prey by the bubble net. Due to the randomness of the Gaussian cloud model, tasks can be matched to more different types of VM in the cloud computing task scheduling process, which expands the search scope, improves the probability of matching to different VMs, and improves the convergence speed. The global optimization capability has also been effectively improved.
In order to make the algorithm expand the search range out of the local optimum during the search process, we use the randomness of the Gaussian cloud model to update the position in the random walk process, and the process is as follows:
The new position obtained after random walk is shown in the following formula:
Here, we propose a method of using the randomness of the Gaussian cloud model to improve the spiral update method of the bubble net in the process of driving prey, increase the choice of the spiral path of the whale in the optimization process, and make the whale have a certain degree in the search process. The randomness increases the search range of the whale group and improves the global search ability of the algorithm:
In this step, the parameters in the formula have the same meaning as in the previous text, and
Then, the bubble net drives the prey to update the individual position as shown in
According to the basic Gaussian cloud model shown in Algorithm
Record current individual Calculate the membership function The membership function is used to update the new position of the whale in the swimming process as shown in formula ( According to the upper and lower bounds of the solution space, the number of iterations is dynamically adjusted Calculate the membership function The membership function is used to update the new position of the whale in the swimming process as shown in formula (
Based on the above design, we propose a multiobjective task scheduling algorithm based on Gaussian whale-cloud optimization (GCWOA) for cloud computing task scheduling, and the flowchart is shown in Figure Step 1: this step is mainly used to design the mapping relationship between tasks and whales in cloud computing, and the initial position of each whale. In addition, we also initialize the dimensions of the search space, the upper and lower bounds of the search space, and the maximum number of iterations of the population. Step 2: introduce a reverse learning mechanism to generate a suitable scheduling plan in the process of generating the initial population, and expand the search range. Step 3: after the initialization is completed, the algorithm begins to iterate. In this step, the optimal position and the worst position of the whale are calculated according to the fitness function we proposed to calculate the time, load, and cost (refer to formula ( Step 4: determine the swimming mode of the whale according to the vector Step 5: when all the whale positions are updated, that is, all scheduling plans are found, the next iteration will be performed. When the maximum number of iterations is reached, the algorithm terminates, otherwise go to Step 2 to continue to update the position of the whale. After the iteration is completed, the optimal position, that is, the most suitable task and virtual machine mapping, will be transferred to matrix A to obtain the best task scheduling plan.
GCWOA algorithm flowchart.
According to the above steps, the complete GCWOA algorithm we get is shown in Algorithm
Generate a population NOP according to Algorithm Calculate the optimal solution The coefficient vectors Calculate the membership function The membership function is used to update the new position of the whale in the swimming process as shown in formula ( Use formula ( According to the upper and lower bounds of the solution space, the number of iterations is dynamically adjusted According to formula ( The membership function is used to update the new position of the whale in the swimming process as shown in formula (
In this part, we performed simulation verification and performance evaluation on the GCWOA algorithm proposed in this article and compared it with other existing algorithms. In this experiment, we used CPU (AMD quad-core, 2.4 GHz), memory (4.0 GB), Windows 10 operating system, and MatlabR2016b as the simulation platform and carried out the proposed GCWOA algorithm with common metaheuristic algorithms such as ACO and PSO. For comparison, the algorithm is compared with the original WOA algorithm described in the article. According to our simulation results, we compare and evaluate the performance of these algorithms in cloud computing task scheduling.
The performance evaluation indicators of our algorithm include time, virtual machine load, virtual machine cost, and the total cost of the final model. Our experiment mainly evaluates the performance of each algorithm in a small number of tasks. The main parameters used by each algorithm in the experiment are shown in Table
The main parameters of the algorithm.
Algorithm | Parameter | Value | Description |
---|---|---|---|
ACO | 0.7 | Pheromones | |
0.3 | Probability of path selection | ||
PSO | 0.9 | Inertia weight | |
1.8 | Acceleration constant | ||
1.8 | Acceleration constant | ||
GCWOA(WOA) | 1 | Spiral search path parameters | |
−5 | Upper bound of solution space | ||
10 | Lower bound of solution space |
VM and task parameters.
Parameter | Value range |
---|---|
CPU (VM) | [200, 500] |
Memory (VM) | [100, 500] |
Bandwidth (VM) | [100, 250] |
Length (Task) | [50, 100] |
We implement and evaluate the performance of each algorithm by increasing the number of iterations and changing the number of tasks. The experimental result table is shown in Table
Experimental results after 100 iterations.
Number of tasks | Target value | Algorithm | |||
---|---|---|---|---|---|
ACO | PSO | WOA | GCWOA | ||
Task100 | F1 | 0.3012 | 0.2698 | 0.2690 | 0.2623 |
F2 | 0.1948 | 0.1685 | 0.1533 | 0.1489 | |
F3 | 0.3833 | 0.3424 | 0.3370 | 0.3302 | |
F4 | 0.3255 | 0.2986 | 0.3168 | 0.3098 | |
Task1000 | F1 | 0.5954 | 0.5322 | 0.5576 | 0.5245 |
F2 | 0.3779 | 0.3701 | 0.3749 | 0.3684 | |
F3 | 0.6569 | 0.4659 | 0.5362 | 0.4440 | |
F4 | 0.7515 | 0.7606 | 0.7618 | 0.7599 |
In Figure
The best performance of 100 tasks with the number of iterations. (a) The value of total cost. (b) The value of time cost. (c) The value of load cost. (d) The value of price cost.
The time cost and virtual machine load are shown in Figures
However, compared with Figures
This shows that these three algorithms consume a large amount of virtual machine resources at a certain stage. In general, the GCWOA algorithm does not optimize this cost well. The reason for this problem may be due to multiobjective scheduling. In order to achieve the global optimal solution, the GCWOA algorithm sacrifices a certain local optimal value (here, the virtual machine cost) in the search process to balance the two. At the same time, it also proves that the GCWOA algorithm can be used to solve complex scheduling problems.
We also evaluated the performance of the four algorithms with the number of iterations under large-scale tasks. As shown in Figure
The performance of 1000 tasks with the number of iterations. (a) The value of total cost. (b) The value of time cost. (c) The value of load cost. (d) The value of price cost.
Compared with the other three algorithms, the total cost of our proposed GCWOA algorithm is significantly lower than other algorithms, which proves that the GCWOA algorithm can also optimize large-scale task scheduling. The time cost and load cost of the four algorithms are shown in Figures
As shown in Figure
The rapid increase in the number of user tasks has led to data flooding, low scheduling efficiency, and unbalanced resource allocation, making task scheduling in cloud computing become an agenda. This paper proposes a “whale-Gaussian cloud” model, which combines heuristic algorithms and Gaussian cloud to achieve better scheduling. On the basis of this model, we propose a scheduling algorithm based on GCWOA. In addition to combining the whale optimization algorithm with the Gaussian cloud model, we also introduce an opposite learning mechanism and an adaptive adjustment factor into the algorithm. The opposite learning mechanism is used to generate more suitable task-VM mapping. Both the adaptive adjustment factor and the Gaussian cloud model can guide the algorithm in the whale optimization algorithm to select the optimal scheduling scheme in cloud computing. We have conducted a large number of experiments to verify the performance of our proposed scheduling strategy. The experimental results show that the algorithm proposed in this paper has ideal effects in processing small tasks and large tasks and can reduce task completion time and balance load of virtual machines.
However, no matter how large the task is, the algorithm in this paper does not perform well in terms of operating costs. How to make the GCWOAS2 strategy further reduce operating costs will be the focus of our future research. In the future, we will continue to study the application of heuristic algorithms in multiobjective scheduling to enable more effective and reasonable scheduling of resources in cloud computing nodes.
The data used to support the findings of this study are available from the corresponding author upon request.
The authors declare that they have no conflicts of interest.
This work was supported by the Training Program of the Major Research Plan of NSF of China under grant 91746104, Humanity and Social Science Fund of the Ministry of Education under grant 20YJAZH078 and 20YJAZH127, Open Project of Tongji University Embedded System and Service Computing of Ministry of Education of China under grant ESSCKF 2019-06 and ESSCKF 2019-08, and Science Education and Industry Integration Innovation Pilot Project of Qilu University of Technology (Shandong Academy of Sciences) under grant 2020KJC-ZD03.