Font Size: a A A

Research On SLA-Based Multi-Tenant Service Profit Maximzation

Posted on:2017-10-11Degree:MasterType:Thesis
Country:ChinaCandidate:Z K WangFull Text:PDF
GTID:2348330488953123Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
SaaS (Software as a service) applications are accepted by more and more users with its characteristics of "single instance multi-tenant". In this service mode, an application instance can provide service to multiple tenants, reducing the cost of building several independent application instances for each tenant, and this mode is very flexible for scaling. However, with the development of SaaS, tenants'data also accumulated gradually. What's more, the character of SaaS application is different from the traditional application, which can be set in advance, and it is also different from the free mode of social networking, search applications, whose business pattern is made when developing the application. Therefore, compared with traditional application, multi-tenant application are more complex because of tenant's different business requirements. Therefore, different tenants have different database performance standards for database service provider, including service throughput, the average response time and so on. In order to ensure the database Service quality of SaaS application, each tenant will negotiate a Service Level Agreement (Service-Level Agreement, SLA) with the SaaS database Service provider. According to the SLA contract constraint, if SaaS services provided by the database service providers want to earn the benefits, the performance such as jobs'response time should satisfy the SLA constrain, otherwise, pay for the corresponding punishment. Therefore, to meet the tenant personalized performance requirements. SaaS database service providers have to make effective use of the whole resource and make execution order for tenants' jobs. In addition, during running the SaaS application instance, service providers also have responsibility to monitor cluster resources usage and optimize performance, to provide an environment with a plenty of resources for executing tenants" jobs.Controlling the quality of Saas service refers to several factors in Cloud computing environment. Firstly, multi-tenant application usually has the characteristic of multiple peek and multiple mixture. Multiple peek shows different tenants have different hot data and business business peak, and multiple mixture means different tenants' business workload pressure, when some tenants coexist in a node, the total pressure can produce more complex pressure. This two aspects emphasis the difficulty for service providers to predict the tenant workload pressure and build a job scheduling model. Different tenant have different resources demand such as 10. MEM and CPU resources according to their business style. For example, some tenants have a lot of calculated jobs, so they need more CPU resources, some tenants" business needs lots of join operations among different tables, so they require many MEM resources to caching large amounts of data, while there are also frequently read/write operations in some tenants jobs, so they need many I/O resources. However, when blending them together.the total workload pressure can not be calculated by adding them up, it is a more complicated model than the line model, which in turn increases the difficulty of predicting the resources a tenant needs executing its jobs. Secondly, tenants" data coexists in a database node, and they share storage resources, so all the tenants on the same data node will compete for resources to finish their jobs. Generally, the complex jobs of a tenant have long response time, while some simple jobs will finish in a short response time, and unreasonable execution order that complex jobs time occupies the resources for a long time will cause SLA violation to simple jobs. Therefore, how to make good use of the characteristics of tenant's data distribution, balance tenants workload pressure among nodes in the cluster, and make effective execution order for each tenant's jobs, attracts more and more database service providers' attention in order to develop effective method to maximize the overall SLA-based profit.This paper focuses on data distributed database service management of multi-tenant application, and proposes AdaptiveSLA, a two-stage job scheduling framework based on P2P network. On the condition that all tenants'data has been placed on each data node of distributed database, every data node receives jobs from the tenant application servers and makes two-stage scheduling policy, to maximize the whole profit for the database service provider and minimize the cost of mitigating data among data nodes. First of all, during the initial process, this paper uses machine learning algorithm to build a tenant performance demand predicting model on every data node. Secondly, the first schedule stage is responsible for crisis detection and crisis mitigation during executing jobs. Every node uses crisis detector periodic to check the free resources status, if the nodes detect node performance crisis, they will use the sliding window protocol for tenants' subsequent jobs to find the most appropriate dispatch target nodes, after which the crisis can be eliminated. The second schedule stage works when the data node running tenants'jobs, it takes every job's response time that SLA constrained and its execution time into consideration comprehensively to make the execution order, which can help finish jobs as many as possible before their SLA violation, in other words, this increases the final profit for the database service provider and reduces compensation of breaking the contract. This paper also designs several experiments to evaluate these methods and models, extensive experimental results demonstrate the effective and efficiency of AdaptiveSLA scheduling policy.
Keywords/Search Tags:Cloud computing, SLA, Multi-tenant, Two-stage schedule
PDF Full Text Request
Related items