By utilizing the virtualization technology, the cloud computing can consolidate massive amounts of computing resources, storage resources and network resources to build a virtualized resources pool. The cloud computing exploits the resource scheduling and management algorithms to deploy all kinds of resources, extend resources dynamically and allocate resources on demand. However, the performance of each resource node has large differences. It is an important issue to solve for cloud computing how to use limited resources to provide satisfactory services to users. Therefore, research on the resource scheduling of cloud computing is of great practical significance to improve the resource utilization rate, reduce energy consumption, reduce operating costs and achieve best network performance.In this thesis, the cloud computing and several frequently-used resource scheduling algorithms are introduced, which mainly include traditional scheduling algorithms, heuristic scheduling algorithms and the improved scheduling algorithms based on the heuristic scheduling algorithms. After in-depth studies of the ant colony algorithm, which is a kind of heuristic scheduling algorithm, we propose an improved algorithm which is based on ant colony algorithm and used in resource scheduling of cloud computing. At last we verify the performance of the improved algorithm through the simulation experiment. The research contents of this thesis are as follows:(1) Because there are so many types of cloud computing resources, only when the type matches can tasks be assigned to the resource nodes to handle. And an improved algorithm based on ant colony algorithm, aiming at that task is classified explicitly which is submitted by users and stored in a task sets, is presented. A lookup table is added to the algorithm and the factor of success rate is added to the updating formula of the pheromone. In the lookup table the recommended resource nodes are stored. When search resources, the lookup table will be given priority to check. In this way, the time of the allocation of resources can be shortened when the repetition rate, of which the resources are needed by tasks, is high. Then we put the improved algorithm to use in resource scheduling of cloud computing. Through the simulation experiment by using the tool CloudSim, we compared the running conditions of the improved algorithm with the running conditions of RR algorithm and the running conditions of ant colony algorithm in turn. And we found that by using the improved algorithm the execution time of tasks is shortened and the utilization rate of resources is improved.(2) After make a study and comparison on the particle swarm optimization algorithm and ant colony algorithm, we propose a resource scheduling algorithm which is combined particle swarm optimization algorithm with ant colony algorithm according to their own characteristics. If we use ant colony algorithm to do a search in the prior period, it will converge slowly as there are a few pheromones in the prior period. However, particle swarm optimization algorithm searches faster. So the particle swarm optimization algorithm is used to do an initial search at first when we schedule the resources. Then we convert the initial solution formed in last search into initiatory distribution of pheromone of ant colony and reuse ant colony algorithm to search. Among them, the inertia weight, the velocity of the particle and the position of the particle are defined in the part of particle swarm optimization algorithm. And the principle of wolf pack that only the strong can survive is introduced. We increase the amount of pheromone with optimal path, remove the worst pheromones and adopt restriction operations and mutation operation for pheromone in order to prevent it from falling into local optimum in the part of ant colony algorithm. Finally, through using the simulation tool CloudSim we compared and analyzed the running results of PSO-ACO, ant colony algorithm, particle swarm optimization algorithm and Min-Min in turn. It is found that by using the improved algorithm the execution time of tasks is shortened and the load of resources is relatively balanced. |