Infrastructure as a Service(Iaa S)is a cloud computing model that provides basic computing resources and allows users to configure computing resources on demand through shared resource pools.With the rapid development of cloud computing,the problems of high energy consumption and low resource usage of cloud platform become more and more obvious.Cloud resource scheduling is considered to be an effective way to solve this problem.In this paper,we proposed an optimal solution based on answer set programming for such cloud resource scheduling which is NPcomplete problem.We also applied our solution to a practical cloud platform.The specific works of this paper are as follows:1)Based on the idea of dynamic packing problem,we proposed a descriptive solution method of cloud resource scheduling using Answer Set Programming(ASP).Firstly,the method to improve resource utilization and to reduce energy consumption of cloud platform should shut down as many hosts as possible under the condition that satisfies virtual machine computing resources.We formalized the problem of cloud resources scheduling.Secondly,we used ASP coding to solve such a descriptive optimization problem,based on the formalization of cloud resource scheduling and the performance evaluation index of cloud platform.Its correctness was proved.Finally,we tested the performance of our approach as well as the related ones,over the Planet Lab data set on Cloud Sim which is a popular cloud computing simulation platform.The results show that in a small cluster and a reduction of Service Level Agreement(SLA),the ASP method can save about 15% more energy compared with the traditional greedy strategy based LRR-MU algorithm,and can save up to 5%energy compared with the current heuristic algorithm LB-BFD,which has better performance.Compared with TWD-WMM algorithm based on three-branch decision,it also saves about 9% energy,which confirms the effectiveness of ASP method.2)We designed and implemented a small cloud platform resource scheduling system based on Open Stack.We build a cloud computing platform using Openstack components at first.Secondly,the ASP scheduling method is embedded into the platform by modifying the underlying code.Finally,the benchmark test program is run in each virtual machine on the platform to show the availability of our ASP method. |