Font Size: a A A

Research On Task Scheduling And Resource Provision For SaaS Applications

Posted on:2020-10-28Degree:DoctorType:Dissertation
Country:ChinaCandidate:Y WeiFull Text:PDF
GTID:1368330572471482Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Cloud computing is a combination of Internet technology,virtualization technology,grid computing,utility computing and other technologies.It is an emerging commercial computing model and resource sharing service model.Currently,cloud providers mainly provide three types of services:Infrastructure as a Service(IaaS),Platform as a Service(PaaS),and Software as a Service(SaaS).IaaS is the basic one mainly providing users with various infrastructure resources,such as servers,virtual machines,storage and network bandwidth.In the SaaS model,traditional desktop applications,enterprise or intra-organizational applications are migrated to the cloud.SaaS providers provide users with a variety of online application rental services.Due to the low cost,high reliability,and on-demand provision of IaaS services,more and more SaaS providers use IaaS resources to deploy and execute their applications.For such SaaS providers,they play a dual role in the cloud computing market.On one hand,they provide paid SaaS services to their consumers;on the other hand,they rent resources from IaaS providers to deploy and execute their applications.Their goal is to reduce resource rental costs and maximize revenue while guaranteeing the service quality of SaaS applications.How to reasonably rent IaaS resources and assign user tasks among resources is a big challenge for these SaaS providers.At present,there are still many problems related to the research of task scheduling and resource provision in the cloud computing environment.In consideration of the diversity,dynamics and multiple constraints of IaaS resources and user tasks,the main work of this thesis are as follows:(1)Resource management of SaaS applications is an important issue,which has attracted great attention.In particular,achieving efficient task scheduling is one of the most essential goals.In this paper,we propose an online task scheduling approach based on deep reinforcement learning.In the dynamic and uncertain cloud environment,SaaS applications continuously receive task requests from users.Dispatching these tasks to the most suitable resources and satisfying user QoS requirements as much as possible is a difficult online scheduling mission.From the perspective of SaaS providers,they only know the information of their rented VM instances and the new task.They cannot predict the future tasks in terms of arrival time,resource demands and other properties.In order to solve this problem,we propose an intelligent QoS-aware task scheduling algorithm based on deep reinforcement learning.It is able to learn to make optimal online task-to-VM decisions directly from its experiences without any prior knowledge.In the experiment,we evaluate our algorithm and five baselines in different workload scenarios.Experimental results show that our proposed task scheduling approach can efficiently reduce task average completion time,improve resource utilization,and adapt to different workload conditions.(2)Cloud workflow applications can be used to handle complex and combinatorial tasks in many fields.For a SaaS provider,the goal of workflow scheduling is cost-effectively selecting appropriate IaaS resources to execute tasks contained in workflows while without violating user QoS constraints.In this paper,we propose two efficient workflow scheduling algorithms,mainly considering supporting workflow task parallelization and adapting to the dynamics of IaaS resources.Workflow scheduling is one of the research hotspots in the cloud computing field.Most studies assume that each task in a workflow can only be completed by one VM instance,and the execution time on different VMs is fixed and known in advance.However,this assumption is not reasonable.In reality,many workflow tasks regarding scientific computing and image processing can be divided into several subtasks.If these subtasks can be executed on multiple VMs in parallel,the total execution time of workflow will be reduced.In addition,the performance of VMs in IaaS datacenters is always fluctuant due to factors such as changes in application workloads and network bandwidth.It is difficult for SaaS providers to know the accurate performance of VMs in a dynamic cloud environment.Considering the above two problems,we first propose a genetic algorithm based workflow scheduling approach that supports task parallelization,and then propose a Q-learning based workflow scheduling approach that not only supports task parallelization but also considers the dynamics in the IaaS datacenters.These approaches can help SaaS providers to better deploy their workflow applications in IaaS public clouds.(3)For SaaS applications,requests from users always change as time goes by.On one hand,if their computing capacity is not able to bearing application workloads,user satisfaction will be affected;on the other hand,if their computing capacity is over provisioning,it will result in the waste of VM instances and unnecessary cost.In order to realize application auto-scaling,we propose a workload based elastic resource provision approach.Cloud resources provided by IaaS providers are paid on demand.SaaS providers are allowed to dynamically adjust their rented VM instances according to the changes of application workloads.Therefore,if the computing capacity provided by rented VMs is always close to the real user demands at different time,rental cost can be reduced while guaranteed the servive quality.The adaptive resource renting algorithm proposed in this paper fully considers the fluctuation of application workload and the diversity of IaaS resources.Under different market conditions,it can help SaaS providers make reasonable VM renting adjustment decisions according to the current environment.(4)Focusing on the resource provision and trading in a competitive environment among multiple SaaS providers,we propose an auction based IaaS resource trading framework and a feedback-based bidding adjustment approach for SaaS providers.Cloud computing is a commercial resource sharing model.When multiple SaaS providers submit resource requests to the IaaS cloud platform at the same time,resource competition may occur among them.Considering the shortcomings of current pricing models adopted by IaaS providers,we first propose a market-oriented auction-based IaaS trading framework.In such an auction-based trading,SaaS providers participating in the auction are rational and selfish.During the auction proceses,each of them will only make the most favorable decisions according to its own needs and preferences.Therefore,the auction-based IaaS service trading can be modeled as a noncooperative game with incomplete information.In order to help SaaS providers to adjust their bids during the auction processes and select the optimal resource combination to execute their tasks,we propose a feedback-based bidding adjustment approach.The rationality and effectiveness of this approach has been proved by the theory of Nash equilibrium.Experiments indicate that this approach can realize fair and multi-win resource allocation among all SaaS providers.
Keywords/Search Tags:cloud computing, task scheduling, resource provision, trading mechanisms, reinforcement learning
PDF Full Text Request
Related items