We propose a cloud service scheduling model that is referred to as the Task Scheduling System (TSS). In the user module, the process time of each task is in accordance with a general distribution. In the task scheduling module, we take a weighted sum of makespan and flowtime as the objective function and use an Ant Colony Optimization (ACO) and a Genetic Algorithm (GA) to solve the problem of cloud task scheduling. Simulation results show that the convergence speed and output performance of our Genetic Algorithm-Chaos Ant Colony Optimization (GA-CACO) are optimal.
Cloud service is a service that users obtain through the network, which features instant response and scalability. Nowadays, there are mainly three service modules for cloud computing [
Owing to the features [
As cloud computing services have grown in popularity, the amount of data and tasks to be dealt with have also sharply increased, requiring a lot of system resources and sometimes resulting in severe resource waste. We therefore aim to schedule these data and tasks more efficiently. In order to analyze the problem at a somewhat detailed level, we have built a module for cloud task scheduling, as shown in Figure
Cloud scheduling system model.
In order to facilitate analysis of request processing, we assume that requests sent by users are arriving in a Poisson distribution [
The rest of the paper is organized as follows: Section
The goal of cloud scheduling is to optimize the process of tasks and VCN. An excellent task scheduling algorithm leads to better system performance. We can consider our task scheduling problem as an NP problem. A lot of algorithms have been suggested to tackle the NP problem [
In this paper, we will take makespan and flowtime as the criteria of algorithm’s performance in cloud task scheduling. Makespan represents the time when TSS finishes the latest task. Flowtime equals the sum of execution time of all tasks [
In order to perform a quantitative analysis of the TSS system modules, we will make some assumptions as follows. Tasks can be expressed within the range of code instruction length, which also is the size of the task. The arrival of tasks follows the Poisson distribution and the length of the queue is unbounded. Each node is independent of all others and each node can only execute one task at a time. When nodes fail, they do so independently of one another.
As previously mentioned, tasks are stored in QOT and then scheduled by TSS. TSS’s task processing can be divided into three phases [
First, we assumed that tasks follow a M/G/S queuing model [
During the TSS operation, QOT pops
QOT and VCN.
Thus
We try to minimize the makespan and flowtime, so the objective function can be expressed as
For an optimization problem, a number of candidate solutions that are called individuals and whose abstract representations are named chromosomes, are improved in each iteration and eventually evolve to the optimum solution. The Genetic Algorithm (GA) uses a selection operation to determine the survival for each individual. That is, the fitness of the whole population is evaluated. Multiple individuals are chosen randomly from the current population based on their fitness, and individuals with high fitness are inherited in the next generation with a higher probability; on the contrary, for low fitness individuals, the probability of being inherited in the next generation is smaller. For each generation, a new population is generated according to the natural selection process described above and mutation.
The roulette selection [
Roulette selection.
Assuming that every individual’s chromosome represents a small sector on a wheel and its size is proportional to the fitness of the chromosome, then individuals with better adaptability are more likely to be chosen.
In order to promote evolution of populations and speed up convergence towards the optimal solutions, as well as to increase the diversity of the population, we need to perform genetic operations such as crossover and mutation on the individuals selected according to the roulette selection discussed previously. Crossover operation Two chromosomes interchange part of their genes with each other based on the crossover probability, forming two new individuals. Before crossover:
After crossover:
Mutation operation Mutation changes the code string of a chromosome of an individual to a new value of certain gene. The mutation operation is a good method to maintain population diversity. Before mutation:
After mutation
See Algorithm
An Ant Colony Optimization algorithm is a random probability model made to search for an optimal path, which is inspired by how ants discover a path to food. Ants will release a certain amount of pheromones as they explore. Gradually, the pheromone concentration on the shortest path becomes higher and attracts more ants, thus forming a positive feedback which leads to the discovery of the best path. Initially, the amount of pheromone on edges is assumed to be a small positive constant
See Algorithm
When the ant colony system initializes, the pheromones of all paths take the same value, so the selecting probability of all the paths is the same. It is difficult to find an optimal path under this condition, resulting in slow convergence time for Ant Colony Optimization. To overcome this problem, some researchers have proposed the Chaotic Ant Colony Algorithm (CACO) [
Here we will introduce the mathematical model of CACO. Formula (
The position of ants depends on the following:
See Algorithm
In this section, we will show that simulation results verify the usefulness of the algorithm. In this experiment, we have compared the results of three options: GA, CAO, and GA-CACO. The GA-CACO algorithm indeed has the best performance. The experiment is performed under the hardware environment with “Intel Core-i3-2310 CPU-2.10 Ghz” processor and 10 G RAM. More details about resource allocation are shown in Table
Environment configuration.
Type | Specification | Value |
---|---|---|
Data center | Hardware resources of cloud computing | 1 |
Cloud network nodes | Cloud computing nodes, similar to VM | 20–100 |
Tasks | Tasks submitted remotely | 10–100 |
The length of task | 500–1000 |
Figure
Performance comparison of three algorithms.
GA-CACO | CAO | GA | |
---|---|---|---|
10 | 3.5229 | 3.6348 | 3.6720 |
20 | 5.8303 | 6.2052 | 6.4110 |
40 | 10.6139 | 11.4159 | 12.0167 |
60 | 18.7145 | 19.9727 | 20.5220 |
80 | 24.0400 | 25.5633 | 26.7745 |
Comparison among GA, ACO, and GA-CACO under different number of tasks.
Convergence comparison between ACO and GA-CACO.
In this paper, we present a cloud service task scheduling model TSS, which consists of three modules: a user module, a data center module, and a task scheduling module. In the user module, we assume that the tasks model is a Poisson process. In the task scheduling module, because of the deficiencies of GA and ACO, we have proposed a GA-CACO algorithm, which merges GA and CACO. And finally, we compared GA-CACO, GA, and ACO for several different task sizes. The results indicate that GA-CACO algorithm is optimal for the optimization of the objective function and also has acceptable convergence speed.
The authors declare that they have no competing interests.
This work was supported by the Project 61201153 supported by National Natural Science Foundation of China, the Research Project of CCF-Qimingxingchen Hongyan (CCF-VenustechRP2016004), and the National 973 Program of China under Grant 2012CB315805.