Font Size: a A A

CPU/IO Resource Scheduling Research In Cloud Environment Based On Reforcement Learning

Posted on:2020-06-15Degree:MasterType:Thesis
Country:ChinaCandidate:H ChenFull Text:PDF
GTID:2428330590973235Subject:Computer technology
Abstract/Summary:PDF Full Text Request
With the continuous development of cloud computing,the virtualization technology has been improved,and in the cloud computing environment,the most concerned is the resource scheduling problem.As the scale of cloud computing environment expands,energy consumption continues to increase.Resource scheduling,as the core of resource use and energy conservation in cloud computing,naturally becomes more and more important.The main resources in cloud computing are divided into four categories: CPU,memory,disk and network bandwidth.In this paper,the main research is the scheduling problem of CPU and network bandwidth resources.In Xen open source system,because the system does not distinguish between CPU intensive tasks and IO intensive tasks,the IO intensive tasks may lack CPU resources and not be able to process network packet,which leads to that this task needs to wait for the next cycle of the CPU resources allocation.The result of this method is that the response time of IO-intensive tasks is too high to satisfy the Service Level Agreement(SLA).At the same time,when IO intensive tasks are too much,the network bandwidth may reach the upper limit,so that a certain user domain DomainU may not obtain appropriate bandwidth resources,and the bandwidth resources of a user domain may not be used or use up to its upper limit,resulting in the waste of bandwidth resources.Therefore,this paper ueses RNN and q-learning algorithm to allocate CPU resources in CPU resource scheduling.First,the RNN network model was trained for classification using the past data.The remaining credit values of each cycle of CPU resources and the sequence data of the state were used to classify the task types running in the current user domain DomainU,which were mainly divided into IO intensive tasks and other types.Then,according to the classification results,the proportion of IO intensive tasks and other types of tasks can be determined,and then the Cap value can be set with the equalization method,and the action adjustment of the length time slice can be carried out by using the q-learning algorithm,so as to ensure that the fastest task completion time can be achieved in this state.When the time slice is long,it is beneficial for the execution of CPU intensive tasks,because it can reduce the times of context switching and reduce the system overhead.When the time slice is short and the switching frequency between tasks is high,IO intensive tasks can be more likely to be executed,thus reducing the response delay of IO tasks.Experimental results show that the above methods can shorten the overall task execution time.In network bandwidth scheduling,the number of IO-intensive tasks in the current system is measured by detecting the total bandwidth usage.When the total bandwidth usage exceeds the threshold by monitoring the data,if it is found that the bandwidth usage of DomainU does not reach the upper limit,the part of DomainU's bandwidth that does not exceed the average will be taken out and allocated to other customer domains,so as to improve the utilization of bandwidth and reduce the waste of resources.
Keywords/Search Tags:Resource scheduling, The CPU resources, RNN, Reinforcement learning, Network bandwidth
PDF Full Text Request
Related items