Journal of Information & Computational Science 9: 14 (2012) 4065 4073 Available at http://www.joics.com Profit-driven Cloud Service Request Scheduling Under SLA Constraints Zhipiao Liu, Qibo Sun, Shangguang Wang, Hua Zou, Fangchun Yang State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications, Beijing 10086, China Abstract As cloud computing becomes widely deployed, more and more cloud services are offered to end users in a pay-as-you-go manner. How to schedule the dynamic user service requests more cost-effectively with less SLA violations is one of the most intractable problems of cloud service providers. To deal with this challenge, we first establish a cloud service request model with SLA constraints, and then present a new optimization algorithm for profit-driven service request scheduling based on dynamic reuse, which takes account of the personalized SLA characteristics of user requests and current system workload. Our proposed algorithm builds a dynamic virtual machine resource pool on demand, achieves optimal cloud service request scheduling in reasonable time, and thus significantly reduces operational costs of cloud service providers and increase profits of cloud service providers. Our simulation experiments show that our proposed algorithm improves virtual resource utilization and increases profits of cloud service providers compared with several baseline algorithms. Keywords: Cloud Service; SLA; VM; Request Scheduling Optimization; Binary Integer Programming 1 Introduction As a promising computing paradigm, cloud computing has drawn extensive attention from academia and industry in recent years. Cloud computing is formally defined as an IT resource supply model which provides users with configurable computing resources (e.g., servers, storage, applications) over network in the form of services [1, 2]. Nowadays almost every leading IT companies such as Amazon, Google and IBM, have introduced related cloud services. Compared with traditional desktop computing, cloud computing presents many advantages, such as flexible scalability, pay-as-you-use, high power conservation and economies of scale. Deploying traditional business services on Virtual Machine (VM) instances rented from one or more Project supported by the Specialized Research Fund for the Doctoral Program of Higher Education (No. 20110005130001); China Postdoctoral Science Foundation (No. 2011M500226); New Century Excellent Talents in University (No. 100263); National 863 High-tech Project of China (No. 2011AA01A102). Corresponding author. Email address: liuzp@bupt.edu.cn (Zhipiao Liu). 1548 7741 / Copyright 2012 Binary Information Press November 15, 2012
4066 Z. Liu et al. / Journal of Information & Computational Science 9: 14 (2012) 4065 4073 infrastructure service providers can cut down up-front investment and lower daily operating cost [3]. Due to these benefits, it is becoming a trend to migrate existing enterprise applications into the IaaS (Infrastructure as a Service) cloud [4]. Therefore, more and more cloud services hosted by cloud service providers (e.g., SaaS providers) will be provided to interested end users, which are deployed on Virtual Machine (VM) instances rented from one or more third-party infrastructure vendors. As a result, a three-tier cloud service provision structure has been formed involving three typical parties: infrastructure service providers, cloud service providers and end users. The cloud service provisioning process can be simply described as follows: above all, the end user sends his/her service request to the cloud service provider; the cloud service provider accepts the user request and applies to the underlying cloud infrastructure vendors such as Amazon for virtual resources on demand; The cloud infrastructure vendor responds to resource lease request, and then allocates VM instances to the corresponding cloud service provider for processing the cloud user request; Finally, the cloud service provider charges end user for processing his/her service request and pays the cloud infrastructure vendor for renting VM instances to deploy service capacity. In this paper, we only care about the interests of end users and cloud service providers. Earning profit is the principal driving force for service providers, and SLA (Service Level Agreement) is the focus of users attention. Therefore, much research has been done in terms of these two themes. Young Choon Lee et al. [5] develop a pricing model using processing-sharing and propose two sets of profit-driven scheduling algorithms for composite services in clouds. However, the scheduling algorithms proposed cannot completely eliminate the occurrence of SLA violation event. J. L. Chen et al. [3] introduce utility theory leveraged from economics, investigate the interaction of service profit and customer satisfaction, but the proposed scheduling algorithms based on resource bid do not respond to end users requests until the next time interval. Due to the fact that the bid time interval cannot be too short in practice, the long waiting time increases the probability of SLA violation in cloud computing environment, where cloud consumers need to be served immediately, and thus reduces significantly the profits of cloud service providers. However, most previous scheduling approaches do not take into consideration the personalized features of the user request and the elasticity of SLA properties in cloud computing scenario, which can be used for increase the profit of cloud service providers. In order to improve this situation, We first establish a cloud service request model with SLA constraints, and then present a new optimization algorithm named PSRSDR (Profit-driven Service Request Scheduling based on Dynamic Reuse) to achieve optimal request scheduling, which intends to take full advantage of the divisibility of user request and the elasticity of SLA, so that the VM rental cost can be minimized while still ensuring that the service performance can meet SLAs expectation of end user requests. Simulation experiments show that our proposed algorithm outperforms other revenue-aware algorithms in terms of virtual resource utilization and operation profit. The rest of this paper is organized as follows: Section 2 presents the cloud service request model with SLA constraints and the revenue function of cloud service provider; Section 3 describes our cloud service request scheduling approach in detail; Section 4 presents the simulation experiment results and comparative analysis; Section 5 concludes the paper.
Z. Liu et al. / Journal of Information & Computational Science 9: 14 (2012) 4065 4073 4067 2 Cloud Service Request Modeling In order to design a cost-effective user request scheduling algorithm, a reasonable user request model has to be established firstly in order to quantify the critical SLA property constraints. 2.1 Cloud Service Request Model A SLA is a contract between a service provider and a user, which is a collection of service level requirements that formally specify the promised service performance and the corresponding profits (or penalties). Generally speaking, SLAs include such properties as response time, user budget and reliability, remedies for performance failures, etc. [6, 7]. In this paper, we focus on SLA constraints on request processing time (i.e., the time elapsed from accepting a user service request to completion) and cost (i.e., the user s budget for processing this request), which are directly associated with the profit of cloud service providers and cloud consumers. In addition, we assume that every request of end user is subject to corresponding SLA constraints. According to the above introduction, centered on the two main time and cost constraints, we quantified the other SLA properties related to profit, and then model the user service request as a five-parameter tuple as follows: req = (budget, t s, mbdt, deadline, pr) (1) budget: The maximum amount of currency that the user is willing to pay for the request to be completed, i.e., the maximum revenue acquired by the cloud service provider for processing the user request. t s : The time required to finish the request by a standard VM instance. mbdt: The maximum processing delay without any penalty incurred by service provider. In order to get the maximum revenue, the SaaS provider should try to complete the request processing before this time point. Otherwise, revenue loss is inevitable for this provider. deadline: The processing time upper limit. If the user request is finished after this limit, a SLA violation event occurred. The service provider will compensate the user for failure to meet the deadline of the request. pr: It establishes a correlation between processing time and revenue of service providers. Penalty rate. A greater penalty value means that the user requirement in term of request processing is more demanding. If the actual processing time is greater than the value of this user request, the reduced revenue should be calculated based on the penalty rate, which establishes a correlation between the request processing time and the revenue of SaaS providers. Without loss of generality, we model the penalty rate as linear, as shown in Fig. 1.
4068 Z. Liu et al. / Journal of Information & Computational Science 9: 14 (2012) 4065 4073 budget submit time mbdt pr=tanθ θ penalty function deadline delay time Fig. 1: Cloud service request model under SLA constraints 2.2 Revenue Function of Cloud Service Providers Based on the above established request model, we can easily get the revenue function of service providers. budget, t a mbdt revenue = budget delay pr, mbdt < t a deadline (2) delay pr, t a > deadline revenue: The revenue of the service provider after the user request processing is completed. t a : The actual execution time of this user request. delay: The execution delay introduced to calculate the incurred penalty of service providers, which can be figured out as follows: As a result, we can obtain the final revenue of the cloud service provider for processing this user request by formula (2). { ta mbdt, if mbdt < t a deadline delay = t a deadline, if t a > deadline (3) 3 Profit-driven Cloud Service Request Scheduling Algorithm In order to meet diverse market needs, the leading IaaS vendors including Amazon offer VM instances of different configurations and prices. Cloud service providers run their cloud services on behalf of paying cloud users using leased virtual machine resources from cloud infrastructure vendors. From the viewpoint of cloud service providers, due to the considerable diversity in performance and prices of different types of instances, processing a request on different types of VM instances results in different processing time, and hence different profits. To quantify the performance difference of different instance types, we adopt the performance index introduced by [3]. Based on this parameter, the time of processing the same user request on different types VM instances can be figured out. Furthermore, we assume that all user requests can be divided into multiple
Z. Liu et al. / Journal of Information & Computational Science 9: 14 (2012) 4065 4073 4069 independent subtasks without precedence constraints between them in the context of this paper. In fact, many cloud service requests such as data-intensive text processing, image processing and video encoding are all divided [8, 9]. On the basis of the above ideas, we present PSRSDR, which tries to optimize the strategies of renting VM instances of different types and dispatching user requests to reuse these instances for minimizing operational cost while meeting SLAs. The algorithm can be described in Fig. 2. Cloud service request accepting Request dividing experimentally (s subtasks) VM filtering Enough qualified VMs in pool? No VM leasing VM combination choosing s the upper limit value of s? Determining optimal combination and request dispatching Yes Yes Legend I/O data I/O of a phase Fig. 2: The procedure of PSRSDR algorithm 1) Accepting Request: As an important part of our cloud service resource provision platform, the Cloud Service Request Scheduling System is responsible for running the PSRSDR algorithm and receiving user requests derived from access control model, which takes charge of user authentication and request access. In this paper, we assume that the request s execution time t s is known [10]. 2) Dividing Request Tentatively: PSRSDR intends to make full use of the divisibility of user requests and divides every request into s independent homogeneous subtasks (i.e., these subtasks have equal execution time on the same VM instance) for parallel processing, so that the unexpired idle VM instances in the resource pool rented from IaaS vendors can be reused effectively. Let s l = t h /deadline and s u = t l /mbdt where t h /t l is the time required to finish the request by the VM instance with highest/lowest performance in the candidate resource set and can be calculated via P I k. Above all, according to the SLA constraints in the user request model, initializing the number of divided subtasks s, and let s = s l. And then, executing the following steps 3)-5) iteratively until s > s u to determine the most profitable number of divided subtasks. 3) Filtering VM Instances: The primary purpose of this step is to narrow the VM set to accelerate the following problem solving. Traversing the rented resource pool (initially empty) to find out the VM instances meeting the following conditions: a) the current status is idle; b) t k /s < deadline, where t k is the time required to finish the request by a k type VM instance. c) rmrt > t k /s, where rmrt is the remaining lease time. Those qualified VM instances form the valid resource set V RS. If the number of VM instances in the valid pool is less than s, go to 4), or else to 5). 4) Leasing New VM Instances: When m < s, leasing new most profitable VM instances from infrastructure vendors to join the valid resource set V RS for parallel processing. Lease principle is to choose the most profitable VM instances per time unit in terms of this user request, and the lease number is s m.
4070 Z. Liu et al. / Journal of Information & Computational Science 9: 14 (2012) 4065 4073 Let utprofit k req denotes the estimated profit per time unit obtained by processing s subtasks of the request with s VM instances of type c k, which can be calculated as below: utprofit k req = (revenue k req uc k t k )/(t k /s) (4) where uc k is the rent cost per time unit of a type c k VM instance, and t k /s is the processing time of the user request which is equal to the execution time of every subtask due to the homogeneity of all substaks of the same request. revenue k req is the estimated revenue, which can be figured out based on the request processing time using formula (2). Firstly, calculating all the expected profits per time unit of different instance types in the valid resource set which must satisfy the type requirement in 3) so that the deadline constaint of this request is not violated. Secondly, finding out the most profitable instance type which has maximum expected profit per unit time through comparison and leasing s m instances to join the valid resource set. The lease period is (t k /s)/t u t u, where t u is the pricing time unit of the instance type specified by the infrastructure vendor, usually hour. 5) Choosing the Optimal Combination: The optimal VM combination consists of s VM instances from the valid resource set, which enables the SaaS provider to obtain the maximum expected profit for processing the s subtasks of the user request in parallel. The expected profit exprofit is the expected revenue exrevenue minus the expected cost ex cos t. This can be expressed as the following binary integer programming problem. max exprofit = exrevenue ex cos t (5) subject to s n cos t = x ij uc j t ij (6) i=1 j=1 s x ij = 1, j = 1, 2,..., n (7) i=1 n x ij = 1, i = 1, 2,..., s (8) j=1 where s is the number of subtasks derived from the same request, and n is the number of VM instances in the valid resource set. x ij = 1 denotes that the subtask i is executed on the VM j, 0 otherwise. t ij is the completion time of subtask i run on the VM j. The formula (7) ensures that a VM instance can only accept a subtask at the same time. The formula (8) ensures that a subtask can only be allocated to an instance for execution. The expected revenue exrevenue can be calculated using formula (2) according to max{t ij }, because the processing time of this user request is the maximum execution time of all subtasks. 6) Request Scheduling: Determining the most profitable number of subtasks s best and the corresponding VM combination among all the division schemes by comparing the maximum expected profits of different request division schemes (i.e., different s ). Finally, the user request is divided into s best subtasks, and dispatched to the optimal VM combination for parallel execution. In this section, we describe our scheduling approach for dynamically provisioning virtual resource on demand. Our proposed approach maximizes a cloud provider s profit by reducing the leased infrastructure cost and ensuring that all requests finish before their respective deadlines.
Z. Liu et al. / Journal of Information & Computational Science 9: 14 (2012) 4065 4073 4071 4 Experiment Evaluation In order to verify the effectiveness of PSRSDR approach proposed in this paper, we construct the following simulation experiments. 4.1 Experimental Setup All the simulations are conducted on the same computer with Intel Core2 Duo CPU 2.1 GHz processor, 2.0 GB of RAM, Windows XP Professional SP3, and Matlab7.11.0 (2010b). All approaches are run for 10 times and all results are reported, on average. The candidate VM instance resource pool in this paper is composed of three types of Amazon EC2 On-Demand Instances, i.e., Small, Large and Extra Large (Windows Usage, California, US) [11]. In our experiment, we model 1000 cloud user requests with different SLA constraints. Every user request is divisible and arrives in a Poisson process. The SLA parameters of different user requests are different. According to the budget constraint budget in the user request model, user requests are divided into two categories: high budget class and low budget class. 20% of the requests belong to high budget class. 80% of the requests belong to low budget class [12]. The budget values in each category follow a normal distribution. The category of next user request is random. The execution time constraint t s specified in user request model follows a exponential distribution The two time constraints mbdt and deadline are generated referred to the execution time t s. Here we let mbdt = α t s, deadline = β t s, α < β. The last constraint is determined jointly by the above three property constraints. We evaluate our approach based on the following measurement metrics: Number of leased instances: The number of on demand VM instances leased for processing user requests. Because the rental cost of instances is calculated based on time unit, here the number of initiated instances is counted according to instance-time unit. For example, if instances are leased for time units, then the number of initiated instances is. VM utilization rate: The total time used for processing user requests divided by the total lease time, i.e., the proportion of time that instances are busy processing requests. Operating profit: The net profit of the cloud service provider obtained from operating cloud services, which can be calculated using the formula, where is the total revenue charged for processing requests, is the total cost for renting instances. 4.2 Experimental Results Based on the performance indices of the candidate instance types obtained by profiling and benchmarking, we evaluate our algorithm through comparison with three baseline algorithms that use homogeneous instances, RFS, RFL and RFEL, which always choose Small, Large and Extra Large on demand instances from the candidate VM instance type set to process user request respectively. The three algorithms all guarantee that the user request is completed before the end of the property constraint mbdt by leasing enough new instances to maximize the revenue of cloud service providers, and hence they can be defined as revenue-aware scheduling algorithms. The simulation results are shown in Fig. 3.
4072 Z. Liu et al. / Journal of Information & Computational Science 9: 14 (2012) 4065 4073 Number of leased VM 12000 10000 8000 6000 4000 2000 Small instance Large instance Extra large instance VM utilization (%) 80 60 40 20 0 0 0 RFS RFL RFEL PSRSDR RFEL RFL RFS PSRSDR RFEL RFL RFS PSRSDR (a) Number of leased VM (b) Utilization (c) Profit Fig. 3: Algorithm comparison in terms of different measurement metrics Operating profit 200 150 100 50 As is indicated in Fig. 3 (a), our proposed algorithm PSRSDR leases fewer instances than RFS and RFL, but leases a little more than RFEL algorithm. The reason is that our algorithm takes the divisibility feature of requests into account and reuses those idle instances in the valid resource set as far as possible. On the contrary, the baseline algorithms always rent new instances for processing each new request ignoring resource reuse. As for RFEL, it always rent the most powerful VM instances (Extra Large) to handle user requests, and hence initiates the leased instances. Fig. 3 (b) shown that PSRSDR achieves higher resource utilization (approximately 80% in terms of our simulated request data), which lies in the fact that our algorithm always manages to utilize the unexpired idle VM resource for processing divided multiple subtasks in parallel. Only when the current idle instances cannot meet the subtask processing requirement do we rent the most profitable instances on demand. Fig. 3 (c) indicates that our proposed approach enables the cloud provider to achieve more profit than other algorithms. On the one hand, the three revenue-aware algorithms intend to lease more instances to finish every request. As a result, the cloud provider can maximize its revenue without incurring any penalty, but pay much more resource rental cost, which can be seen from Fig. 3 (a). On the other hand, due to taking no account of resource reuse, the VM instance utilization rate is significantly low compared to PSRSDR, which can be observed from Fig. 3 (b). Moreover, in the On-Demand provision pattern, infrastructure vendors charge cloud providers for leasing VM instances only based on the type and number of leased instances regardless of VM utilization rate. Therefore, all these factors make these revenue-aware algorithms operational profits are lower than that of PSRSDR. The goal of our proposed PSRSDR is also to maximize the profits of cloud service providers, but it aims to increase profit by reducing the resource rental cost instead of maximizing revenue. Taking into consideration the divisibility of user requests and the pricing model of On-Demand instances, PSRSDR makes full use of idle VM instances in the valid resource pool to achieve optimal subtasks dispatching. This may bring some penalties to cloud service providers, because of the fact that the finishing time of certain requests is greater than the constraint budget. However, the number of initiated VM instance is dramatically reduced and the VM utilization rate is significantly improved. In other words, our proposed PSRSDR balances operational revenue and resource rental cost, and hence achieves more operational profit compared with other revenueaware algorithms. To sum up, the simulation experiment results show that PSRSDR provides a more cost-effective
Z. Liu et al. / Journal of Information & Computational Science 9: 14 (2012) 4065 4073 4073 solution for cloud service request scheduling, and hence verify its effectiveness. 5 Conclusion In this paper, we establish a user request model under SLA constraints and present the cloud service request scheduling optimization algorithm PSRSDR, which uses binary integer programming to identify the most profitable VM combination to cost-effectively handle user requests in reasonable time. The simulation results show that our proposed scheduling algorithm can bring higher profit while meeting SLAs constraints compared with other revenue-aware scheduling algorithm. References [1] M. Armbrust, A. Fox, R. Griffith, A. Joseph et al., A view of cloud computing, Communications of the ACM, 53(4), 2010, 50-58 [2] P. Mell, T. Grance, A NIST definition of cloud computing, Technical Report, Special Publication 800-145, National Institute of Standards and Technology, Sep. 2011 [3] J. L. Chen, C. Wang, B. B. Zhou et al., Tradeoffs between profit and customer satisfaction for service provisioning in the cloud, in: Proceedings of HPDC 2011, 229-238 [4] M. Hajjat, X. Sun, Y. E. Sung et al., Cloudward bound: Planning for beneficial migration of enterprise applications to the cloud, in Proceedings of SIGCOMM 2010, 243-254 [5] Y. C. Lee, C. Wang, A. Y. Zomaya, B. B. Zhou, Profit-driven scheduling for cloud services with data access awareness, Journal of Parallel Distrib. Comput., 72(4), 2012, 591-602 [6] F. Liu, J. Tong, J. Mao et al., NIST cloud computing reference achitecture, Technical Report, National Institute of Standards and Technology, Sep 2011 [7] P. C. Xiong, Y. Chi, S. H. Zhu et al., ActiveSLA: A profit-oriented admission control framework for database-as-a-service providers, in Proceedings of SOCC 2011, 1-14 [8] J. Berlińska, M. Drozdowski, Scheduling divisible mapreduce computations, Journal of Parallel Distrib. Comput., 71(3), 2011, 450-459 [9] S. Yi, A. Andrzejak, Derrick Kondo, Monetary cost-aware checkpointing and migration on Amazon cloud spot instances, IEEE Transactions on Services Computing, in press [10] S. K. Garg, C. S. Yeo, A. Anandasivam, R. Buyya, Environment-conscious scheduling of HPC application on distributed cloud-oriented data centers, Journal of Parallel Distrib. Comput., 71(6), 2011, [11] Amazon EC2 Pricing, http://aws.amazon.com/ec2/pricing/, Jan 2012, 18 [12] A. AuYoung, L. Grit, J. Wiener, J. Wilkes, Service contracts and aggregate utility functions, in: Proceedings of HPDC 2006, 119-131