Chapter 18
Smart Pricing of Cloud Resources

YU XIANG and TIAN LAN

Large investments have been made in recent years in data centers and cloud computing. A survey by KPMG International [1] in February 2012 shows that more than 50% of senior executives find the most important impact of cloud computing to their business models to be its cost benefits. Accordingly, much research has been focused on demystifying various economic issues in data center and cloud computing, for example, economic and pricing models, cost-optimization techniques, tariff and charging structures, and business objectives.

As in today's clouds the demand for resources in clouds are dynamically fluctuating because of many factors, thus offering fixed resources to all the users regardless of their demands may either not be able to meets some users’ demand or leave some resources wasted. Therefore, one thing attracts most attention in today's Cloud computing is the idea of optimizing the utilization of computing resources among all cloud users, so that the computing resources can be distributed in the most effective manner and restrict the underutilization to a certain level. The intuitive idea to deal with this is that the resources should be regulated by the law of supply and demand, that is, when demand rises but supply remains the same, the price of types of virtual machines (VMs) should go up, and when demand drops, then prices should fall accordingly.

To implement this idea, cloud providers such as Amazon EC2 [2, 3] employs this sort of market-driven resource allocation for unused capacity. In Amazon EC2's spot markets, instead of renting a server for fixed price per hour for each hour that the server runs, users can make a bid for a certain number of hours of a certain type of server. The spot price is set by the cloud provider, which fluctuates in real time according to spot instances supply and demand. When the bid exceed the spot price, the instance will run until the spot price exceed the bid, in which case the instance will be terminated without notice. To use spot instances, users shall place a request that specifies the instance type, the availability zone desired, the number of spot instances desired, and the bidding price per instance hour. Amazon EC2 API provides the spot price history for the past 90 days to help customers decide their bids [4], as shown in Figure18.1.

Cloud resources can be dynamically allocated not only based on just the demand and supply such as in the case of spot instances but also based on service level agreement (SLA), that is, the providers has to ensure users can get certain service level when dynamically allocating resources based on demand and supply to maximize revenue. SLA is a critical bridge between cloudproviders and customers, as in clouds, the providers aim to obtain the revenues by leasing the resources and users rent these resources to meet their application requirements. SLA provides a platform for users to indicate their required quality of service (QoS) [5], which specifies responsibilities, guarantees, warranties, performance levels in terms of availability, response time, and so on. Owing to the fast-growing power consumption and application heterogeneity of data centers, cost optimization and smart service pricing are also becoming ever more urgent and important. In contrast to the adoption of low power devices and energy saving solutions in References [6] and [7], a cost-optimization approach in References [8] and [9] exploits the diversities of electricity prices over time and geographic regions. In particular, a load-balancing algorithm is proposed in Reference [9] to coordinate cloud computing workload with electricity prices at distributed data centers, in order to achieve the goal of minimizing the total electricity cost while guaranteeing the average service delay experienced by all jobs.

Figure 1.1

Figure 18.1 Amazon EC2 VM spot instance price History: price of a m1.large linux spot instance in US Southeast-1a from May 17 to May 23, 2012 [4].

These queuing-based models for price data center services based on an average service delay may be unsatisfactory to cloud users, not only because they may have heterogeneous job requirements and spending budgets but also because of a fundamental limitation of the average delay approach—individual job completion times are still randomly scattered over a wide range of values. Delayed response may frustrate users and, consequently, result in revenue loss. Therefore, the ability to deliver according to predefined job deadlines increasingly becomes a competitive requirement [10, 11]. Cloud providers and users can negotiate individual job deadlines to determine costs and penalties based on the desired performance and budget. This presents an opportunity to offer deadline-dependent pricing, which generates an additional source of revenue for cloud providers. It immediately raises the following question: How to jointly optimize both electricity cost of distributed data centers and total revenue from deadline-dependent pricing, in order to maximize the net profit cloud providers receive? Wang et al. [12] studied the problem of data center net profit optimization (NPO), which aims to maximize the difference between the total revenue from deadline-dependent pricing and the electricity cost of distributed data centers.

This chapter studies cloud resources allocation based on three types of pricing models, that is, to find out the optimal resource allocation that maximizes the total revenue, where the revenue function depends on various pricing models we employed; for instances, as we discussed earlier, price of cloud resource can be determined by three major factors such as demand and supply in current markets, the SLA level cloud servers provided, and the predefined job deadline users required. We proposed the detailed pricing model with respect to these three factors separately in the following sections and then obtain the optimal cloud resource allocation to maximize the revenue function formulated by these pricing models, an comparison of overall revenue with heuristic static pricing scheme is shown for each pricing model.

18.1 Data Center VM Instance Pricing

Amazon's spot instances mechanism can be described as a continuous seal-bid uniform price auction, where VMs of the same type are sold at identical price and the providers assigns resources to bidders in decreasing order of their bids until all available resources have been allocated, and the spot price may be adjusted when there are no instances running at the current spot price [13]. In this section, we formulate the problem of dynamic resource allocation for simultaneous spot markets, and here the goal is to allocate unused data center resources to each spot market in a timely manner that maximize the total revenue, subject to the capacity constraints of individual machines. In the rest of this section, we shall present our solution approach to achieve this goal for both fixed pricing scheme, where price of a VM type is fixed and thus is independent from market situation, and the uniform pricing scheme,where the price of a VM type is adjustable according to market demand and supply.

18.1.1 Dynamic Scheduling and Server Consolidation for Fixed Pricing Scheme

In the fixed pricing scheme, each VM type has a fixed price that does not fluctuate with the current supply and demand situation. Hence, the virtual machine revenue maximization problem (VRMP) can be modeled as a multiple knapsack problem (MKP) as follows: given a set of machines c18-math-0001 and c18-math-0002 resource types (differed in CPU, memory, and disk), where each machine c18-math-0003 has a capacity c18-math-0004 for each type of VM c18-math-0005. The set of VMs to be scheduled is c18-math-0006 and each VM c18-math-0007 has a size c18-math-0008 for each c18-math-0009 and a value c18-math-0010. To formulate the optimization problem, we would first choose the optimization variable (which is the VM scheduling parameter c18-math-0011), then define the objective and constraints. As we mentioned earlier, the objective is to maximize the total value, which is the summation of all of the chosen VMs(for a chosen VM, c18-math-0012; for an abandoned VM, c18-math-0013), which is c18-math-0014. While the constraints for this goal is the machine capacity, that is, the summation of the size of all chosen VMs should be smaller than or equal to c18-math-0015. On the basis of the intuition above, the problem can be formulated as

18.1 equation

It can be noticed that this MKP formulation is an NP-hard combinatorial optimization problem, we propose a c18-math-0017 local search algorithm [14] that can approximate the optimal solutions, which is specified by Algorithm 18.1. In this algorithm, c18-math-0018 is the current set of VMs on machine c18-math-0019, c18-math-0020 is the set of VMs chosen to maximize the total value, and c18-math-0021 isthe value of VM c18-math-0022. As it is depicted, the algorithm proceeds in rounds. For each round, first maximize the total revenue among pending requests and current running VMs on machine c18-math-0023; then if there is a potential new configuration for c18-math-0024 by scheduling, first try to schedule all VMs using available free capacity and then preempt and migrate VMs when the total demand is reaching capacity. To achieve fast convergence rate, we require each local search operation to improve solution quality for each machine c18-math-0025 by at least c18-math-0026.

18.1.2 Price Estimation for the Uniform Pricing Scheme

We now consider the case in which the price of each instance vary with the demand–supply curve and the resource availability. In this scenario, above all, we need to periodically analyzes the market situation and predict the demand and supply curves, on which the price of instances depend. The prediction of the demand curves can be constructed by capturing the relationship between the quantity of acceptable requests and the bidding price(as shown in Figure 18.2) over time period c18-math-0034 at sampling interval c18-math-0035, where c18-math-0036 denotes the current time and c18-math-0037 denotes the prediction period. Then we can decide the expected price for each type of VM in each market based on the prediction. Finally, we will be able to make online scheduling decisions for revenue maximization.

Figure 1.2

Figure 18.2 Example demand curve at time c18-math-0038 and over time.

Let c18-math-0039 denote the c18-math-0040th bidding price in decreasing order, c18-math-0041 denote the demand that bids at price c18-math-0042, and c18-math-0043 denote the demand that bids at price at least c18-math-0044 at time c18-math-0045. As the spot instances mechanism allows requests with bidding prices higher than or equal to the spot price c18-math-0046 to be accepted, then when c18-math-0047 equals c18-math-0048, we can schedule c18-math-0049 VM requests. (Demand curve as shown in Fig. 18.2.) As the bidding price of each individual VM request is independent of the current market situation, we can model the demand quantity to c18-math-0050 independently for each c18-math-0051 to predict the expected demand curve. Then we are able to predict the future demand c18-math-0052 for each c18-math-0053 from c18-math-0054 to c18-math-0055. Our approach to do this is to adopt an autoregressive (AR) model [15] that estimates c18-math-0056 from the historical values c18-math-0057 as

equation

where c18-math-0059 with c18-math-0060 is the set of parameters of the historical values and c18-math-0061 is uncorrelated white noise with mean 0 and standard deviation c18-math-0062, and all these parameters can be obtained from historical demand data. This is an appropriate model because it is not only lightweight and easy to implement but also capable of capturing short-term trends to let us compute the expected demand curve.

Now we have the demand and supply curve, our objective is now to schedule requests of each spot market to maximize the expected revenue over the next prediction period. This dynamic revenue maximization with variable price (DRMVP) problem is identical to the former VRMP except that price of individual VMs is determined by the estimated demand curve c18-math-0063. Again to formulate the optimization problem, first, we choose the same optimization variable as in Section 18.1.1, which is the scheduling vector of VMs. The difference is this time the variable varies with time because the price varies with time based on the demand curve, so it is defined as c18-math-0064. And the objective is the sum of the revenue over demand prediction period c18-math-0065, subject to the constraints that the total VMs scheduled during time c18-math-0066 should be smaller than or equal to the total number of VM requests in c18-math-0067, and the total size of all chosen VMs should not exceed the machine capacityc18-math-0068, noticed that each VM size c18-math-0069 here also varies with time because of demand curve prediction. Now we can model this problem as follows:

18.2 equation

As the objective function of this optimization problem is nonlinear, the problem is even more difficult to solve that of the fixed priced case; however, the revenue function c18-math-0071 for a single VM type is a piecewise linear function, and it can be observed from the c18-math-0072 using examples in Figure 18.2. In some situations, scheduling a VM can cause the current market price to be lowered, resulting in a sharp drop in total revenue. Thus motivated by similar work on market clearing algorithms for piecewise linear objective functions, our approach to deal with this issue is to approximate c18-math-0073 using a concave envelope function c18-math-0074, which is computed by constructing a upper convex hull using the extreme points in c18-math-0075. c18-math-0076 has the following property.

Table 18.2 Average Revenue Achieved by Different Policies

Policy Metric Income Revenue Loss Net Income
Static Mean 67,030.44 0399.01 66,631.43
Standard deviation 13,573.32 0172.45 13,400.87
Dynamic Mean 78,026.33 3398.36 74,627.97
Standard deviation 15,173.28 1083.63 14,089.65

18.2 Data Center SLA-Based Pricing

Cloud resources can not only be dynamically allocated based on just the demand and supply such as in the case of spot instances but also based on SLA, that is, the providers has to ensure users can get certain service level when dynamically allocating resources based on demand and supply to maximize revenue. SLA is a critical bridge between cloud providers and customers, as in clouds, the providers aim to obtain the revenues by leasing the resources and users rent these resources to meet their application requirements. SLA provides a platform for users to indicate their required QoS [5], which specifies responsibilities, guarantees, warranties, performance levels in terms of availability, response time, and so on. Usually, cloud providers charge users according to their requirement level for their tasks. For example, Amazon EC2 offers spot instances at a much lower price than that of reserved resources. Service instances (including the user and the VMs he/she rented for service) may have different attributes such as arrival rate, execution time, and pricing mechanism. The challenge here is how much resources must be distributed to a VM to maintain the promised performance in SLAs when trying to maximize the total revenue. Allocate more resources to those who have high arrival rate and high price will certainly ensure revenue, but in practice, there are cases when users have low arrival rate but high price and vice versa.

Our goal in this section is to maximize the SLA-based revenues [16] by proper resource allocation, that is, to schedule resources among different service instances in an adaptive manner based on the dynamic situation. For the rest of the section, first, we formulate the resource allocation problem based on the queuing theory to model user's requirement using parameters such as resource quantity, request arrival, service time, and pricing models. Then we propose our optimal SLA-based resource allocation algorithms, by which providers can maximize their revenues.

In order to find how many servers should be assigned for each service instance in order to achieve maximum revenue for a pricing model, we first formulate our mathematical model for this as follows: A data center consists of c18-math-0112 homogeneous servers that are grouped into clusters dynamically; each cluster is virtualized as a single machine. The provider signs SLAs with c18-math-0113 users, the number of servers allocated to each service instance is c18-math-0114, we assume that the more servers assigned, the more powerful the virtual machine is. We also assume that the requests from users are Poisson distributed with arrival rate c18-math-0115 and service rate c18-math-0116, thus the average service time is exponentially distributed with mean c18-math-0117, and the service rate of a VM with c18-math-0118 servers is c18-math-0119. Thus based on the above description, each service instance can be modeled as a FIFO(first in, first out) M/M/1 queue. Here we define service intensity c18-math-0120 as the ratio of arrival rate to service throughput of one server:

equation

The pricing mechanism specifies how service requests are charged, mostly provider oriented. Here we propose two user-oriented pricing mechanisms MRT (mean response time) and IRT (instant response time), in which users are charged according to achieved performance in terms of MRT, which is the mean of the time interval between a request arrives at the system and the instant at which the service is completed. Usually providers divide time into time slots, and we calculate the mean response time of every time slot. For the MRT pricing model, let c18-math-0122 be an offset factor of the actual response time to benchmark, which is defined as

equation

where c18-math-0124 is the measured average response time during a time slot and c18-math-0125 is a benchmark of response time defined in SLA, which determines by users’ requirement. Then the pricing mechanism can be formulated as

equation

where c18-math-0127 is the price of each service provision and c18-math-0128 is the price constant. As shown in Figure 18.3a, c18-math-0129 is the linear function of c18-math-0130 and when c18-math-0131, the provider will be penalized, also c18-math-0132 is the slope of the price function,

equation
Figure 1.3

Figure 18.3 Price models. (a) Price model in terms of MRT and (b) price model in terms of IRT.

As MRT is of less practical value as a performance metric when response time varies quite a lot, we propose the IRT pricing model, where request is charged according to measured response time. That is,

18.3 equation

The pricing model can be illustrated as in Figure 18.3b, in which the charge under this model is determined by the number of service provisions with response time within required c18-math-0135.

Now we are ready to study the optimal allocation based on MRT and IRT. On the basis of some mathematical background of the most popular M/M/1 model in queuing theory, the average response time c18-math-0136 of service instance c18-math-0137 at the steady system state is

equation

and the service performance level is

equation

The mean revenue c18-math-0140 is calculated as

equation

The overall revenues during a time slot from service instance c18-math-0142 is

equation

Then the optimization problem can be formulated as

18.4 equation

This optimization problem can be solved using Lagrange method. The Lagrange composite function can be constructed as

equation

where c18-math-0146 is the Lagrange multiplier constant. Letting c18-math-0147, with c18-math-0148,

equation

then substituting this into the constraint of the optimization problem, we have

equation

Then we yield the final answer, which is the number of servers used for each service instance,

equation

This holds when the request arrival rate of each service instance is less than the service processing rate according to M/M/1 queuing model, otherwise the length of request queue will not converge. Thus our result only holds when

equation

Thus we have

equation

What is more, Figure 18.3 shows that the providers would be penalized once mean response time cannot meet the requirement in SLA, which is c18-math-0154; hence, our results ensures that

equation

Finally, we have the lower bound of resources that can be assigned for each service instance:

equation

Next we will consider the optimal solution for IRT pricing model, the sojourn time probability distribution is

equation

Assuming that service instance c18-math-0158 is allocated to c18-math-0159 servers, then the mean revenue brought by a service provision is

equation

Then the overall mean revenue from service instance c18-math-0161 during a time slot is

equation

Thus our optimization problem can be formulated as

18.5 equation

Constructing Lagrange composite function

equation

Letting c18-math-0165, where c18-math-0166,

equation

Then we have

equation

Finally, we get

equation

And bounds should be obtained similarly as for the MRT case.

Experiments have been run on a C-based simulator we developed, and events been simulated include arrival, departure, resource allocation for both the MRT and IRT pricing models with the synthetic dataset, and the traced data set. Experimental results for both MRT and IRT shown in Figure 18.4 proved that our algorithms outperform heuristic method.

Figure 1.4

Figure 18.4 Evolution of revenue during 5 min over time with traces.

18.3 Data Center TIME-DEPENDENT Pricing

In this section, we consider the problem of data center NPO, which aims to maximize the difference between the total revenue from deadline-dependent pricing and the electricity cost of distributed data centers [12]. Time-dependent pricing, which charges users based on not only how much resources are consumed but also when they are consumed, has been widely studied in the electricity industry [17–20] and the Internet service provider (ISP) industry [21–23] as an effective solution to even out resource consumption peaks and reduce operating costs. However, the problem for data center pricing is largely different because the prices are determined by job deadlines (i.e., completion times), whereas job duration or progress are irrelevant.

The goal here is to maximize the data center net profit through job scheduling. It requires (i) to maximize the total revenue as a function of individual job completion deadlines, (ii) to minimize the electricity cost by scheduling jobs to different time and locations, and (iii) to satisfy a capacity constraint at each distributed data center. We formulate this problem as a constrained optimization [12], whose solutions characterizes an interesting trade-off between delay and cost—while completing a job earlier generates a higher revenue, it restricts the set of feasible scheduling decisions, causing higher electricity cost. While being a complex, mixed-integer optimization due to the scheduling formulation, the NPO problem remains to be hard because of the coupling of scheduling decisions and job completion deadlines. There is no closed-form, differentiable function that computes job completion deadlines by scheduling decisions, which is often necessary if standard optimization techniques are to be applied.

As we mentioned earlier, deadline-dependent pricing charges users based on both the amount and the instance time at which the resources are consumed. Suppose that a cloud computing service consists of a set of c18-math-0170 distributed data centers and that its billing cycle is divided into c18-math-0171 periods. Let c18-math-0172 be the total number of jobs submitted for the next cycle. To enable deadline-dependent SLA and pricing, each user request c18-math-0173 not only contains the number of demanded VM instances (i.e., c18-math-0174) and the total subscription time (i.e., c18-math-0175) but is also associated with a bid function c18-math-0176, which measures the payment user c18-math-0177 is willing to make if his/her job is accepted and scheduled to complete by period c18-math-0178. For example, a bid function is flat when a user is indifferent to job deadlines, whereas it becomes strictly decreasing when a user is willing to pay more to get his/her job completed early.

18.3.1 Electricity Cost

In the electricity market of North America, Regional Transmission Organization (RTO) is responsible for transmit electricity over large interstate areas and electricity prices are regionally different. Electricity prices remain the same for a relatively long period in some regions, whereas they may change every hour, even 15 min in the regions who have wholesale electricity markets [9, 17, 18]. In this paper, we consider cloud computing services consisting of distributed regional data centers, which are subject to different electricity prices. When servers at each data center are homogeneous, the total electricity consumption at each data center c18-math-0179 over period c18-math-0180 can be calculated directly by multiplying the number of active servers c18-math-0181 and the electricity consumption per server c18-math-0182. Let c18-math-0183 be the electricity price of data center c18-math-0184 at time c18-math-0185. We also assume that c18-math-0186 for c18-math-0187 is known noncausally at the beginning of each billing cycle. In practice, this can be achieved by stochastic modeling of electricity prices [24, 25] or by purchasing forward electricity contracts in the whole sale market [26, 27]. Thus the total electricity cost for c18-math-0188 data centers over the next cycle is given as

18.6 equation

18.3.2 Workload Constraints

We denote the number of VM instances received by job c18-math-0190 from data center c18-math-0191 at period c18-math-0192 as c18-math-0193. We consider two types of jobs: divisible jobs and indivisible jobs. An indivisible job that requires c18-math-0194 VM instances and a subscription time c18-math-0195 cannot be interrupted and must have c18-math-0196 VM running continuously for c18-math-0197 periods, whereas a divisible job can be partitionedarbitrarily into any number of portions, as long as the total VM instance hour is equal to the demand c18-math-0198. Each portion of a divisible job can run independently from other portions. Examples of applications that satisfy this divisibility property include image processing, database search, Monte Carlo simulations, computational fluid dynamics, and matrix computations [28]. Given the scheduling decisions c18-math-0199 of all jobs, the aggregate workload for each regional data center must satisfy a service rate constraint

18.7 equation

where c18-math-0201 is the service rate per server at regional data center c18-math-0202 and c18-math-0203 is the number of active server at time c18-math-0204. There is also a limitation on the number of servers at each location. Therefore, we have

18.8 equation

All user requests for the next cycle are collectively handled by a job scheduler, which decides the location and time for each job to be processed in a judiciary manner. This scheme can be viewed as a generalization of existing on-spot VM instances in Amazon EC2, which allows users to bid for multiple periods and different job deadlines (or job completion times). The system model is illustrated in Figure 18.5. Let c18-math-0206 denote the scheduled completiontime of job c18-math-0207, the total revenue received by the cloud provider over the next cycle is given as

18.9 equation

The goal of this paper is to design a job scheduler that maximizes the net profit c18-math-0209 over feasible scheduling decisions c18-math-0210, subject to the workload constraints. For a given job completion time c18-math-0211, we denote the set of all feasible job scheduling decisions by a set c18-math-0212. In particular, for a divisible job, a user is only concerned with the total VM instance hour received before time c18-math-0213. This implies

18.10 equation

where c18-math-0215 is the total demand of job c18-math-0216. On the other hand, an indivisible job must be assigned to a single regional data center and run continuously before completion. It will have a feasible scheduling set as

18.11 equation

where c18-math-0218 is an indicator function and equals to 1 if c18-math-0219 belongs to the scheduled execution interval c18-math-0220 and 0 otherwise. We suppress the positivity constraints of c18-math-0221 for simplicity of expressions.

Figure 1.5

Figure 18.5 An illustration of our system model. Four jobs with different parameters are submitted to a front-end server, where a job scheduler decides the location and time for each job to be processed, by maximizing the net profit that a data center operator receives.

We formulate the data center NPO problem as follows:

18.13 equation
18.14 equation
18.16 equation

The above problem can be looked at graphically as illustrated in Figure 18.5. It requires a joint optimization of revenue and electricity cost, which is a mixed-integer optimization because the scheduling decisions c18-math-0226 are discrete for indivisible jobs. Further, because of our deadline-dependent pricing mechanism, the maximization of revenue over completion time c18-math-0227 is coupled with the minimization of electricity cost over feasible scheduling decisions c18-math-0228. However, there is no closed-form, differentiable function that represents c18-math-0229 by c18-math-0230. Therefore, off-the-shelf optimization algorithms cannot be directly applied.

It is worth noticing that our formulation of Problem NPO in Eq. (18.12 ) also incorporates sharp job deadlines. For instance, if job c18-math-0231 must be completed before time c18-math-0232, we can impose a utility function with c18-math-0233, for all c18-math-0234, so that scheduling decisions with a completion time later than c18-math-0235 becomes infeasible in Problem NPO.

Problem NPO is a complex joint optimization over both revenue and electricity cost, whose optimization variables; scheduling decisions c18-math-0236 and job completion time c18-math-0237 are not independent of each other. There is no closed-form, differentiable function that relates the two optimization variables. Let c18-math-0238 be the aggregate service rate received by job c18-math-0239 at time c18-math-0240. For given scheduling decisions c18-math-0241, we could have replaced constraint (18.15 ) by a supremum

where c18-math-0243 is the total demand of job c18-math-0244. However, it still requires evaluating supremum and inequalities and, therefore, does not yield a differentiable function to represent c18-math-0245 by scheduling decisions c18-math-0246.

To overcome this difficulty, an approximation of the job completion time function in Eq. (18.17 ) by a differentiable function is proposed in Reference [12]:

where c18-math-0248 is a positive constant and c18-math-0249 normalizes the service rate c18-math-0250. The accuracy of this approximation is given as follows.

By the approximation in Eq. (18.18 ), we obtain a closed-form, differentiable expression for c18-math-0255, which guarantees an approximated completion of job c18-math-0256 off by a logarithmic term c18-math-0257 in the worst case. The approximation becomes exact as c18-math-0258 approaches infinity. However, often there are practical constraints or overhead concerns on using large c18-math-0259. We choose an appropriate c18-math-0260 such that the resulting optimality gap is sufficiently small.

An algorithmic solution for Problem NPO with divisible jobs is derived in Reference [12]. The problem has a feasible set:

In order to solve the problem, we leverage the approximation of job completion time in Eq. (18.18) to obtain an approximated version of Problem NPO. The resulting problem has an easy-to-handle analytical structure and is convex for certain choices of c18-math-0262 functions. Further, when the problem is nonconvex, we then convert it into a sequence of linear programming and solve it using an efficient algorithm. It provides useful insights for solving Problem NPO with indivisible jobs.

Rewriting Eq. (18.15 ) in Problem NPO using the approximation in Eq. (18.18 ) and the feasible set in Eq. (18.20 ), we obtain a net profit optimization problem for divisible jobs (named Problem NPOD) as follows:

18.21 equation
18.27 equation

where completion time becomes a differentiable function of c18-math-0270. The optimization variables in Problem NPOD may still be integer variables, that is, the number of active servers c18-math-0271 and the number of demanded VM instances c18-math-0272. We can leverage rounding techniques (e.g., [29]) to relax Problem NPOD so that its optimization variables become continuous.

Figure 1.6

Figure 18.6 Algorithmic solution for Problem NPOD.

As inequality constraints in Eqs. (18.23 ), (18.24 ), and (18.26 ) are linear, we investigate the convexity of the optimization objective in Eq. (18.22 ), which is a function of c18-math-0273 and c18-math-0274, by plugging in the equality constraint (18.25 ). It is shown [12] that for c18-math-0275 in Eq. (18.25 ) and a positive differentiable c18-math-0276, the objective function of Problem NPOD is convex if c18-math-0277 for all c18-math-0278 and concave if c18-math-0279 for all c18-math-0280. The two conditions of c18-math-0281 capture a wide range of functions in practice. Let c18-math-0282 and c18-math-0283 be arbitrary constants. Examples of c18-math-0284 that result in a concave objective function include certain exponential and logarithmic functions. Examples that result in a convex objective function include linear c18-math-0285 and logarithm c18-math-0286. We remark that when c18-math-0287 for all c18-math-0288, Problem NPOD is a concave maximization. It can be solved efficiently by off-the-shelf convex optimization algorithms, for example, primal-dual algorithm and interior point algorithm [30].

On the other hand, when Problem NPOD maximizes a convex objective, an iterative solution based on difference of convex programming is proposed [12]. Relying on a linearization of the objective, the following iterative algorithm is used to solve Problem NPOD via a sequence of linear programming. It starts at some random initial point c18-math-0289, solves the linear programming with c18-math-0290, and, therefore, generates a sequence c18-math-0291. This procedure is indeed a special case of the difference of convex programming and has been extensively used in solving many nonconvex programs of similar forms in machine learning [31]. It is shown that the sequence c18-math-0292 converges to a local minimum or a saddle of Problem NPOD, as in Theorem 18.2. We further apply a primal-dual algorithm [30] to obtain a distributed solution to each linear programming. The algorithm is summarized in Fig. 18.6.

Finally, we evaluate our algorithmic solution for Problem NPOD over a 24-h cycle, divided into c18-math-0293 10-min periods. The goal is to obtain empirically validated insights about the feasibility/efficiency of our solution using synthesized data from a recent study [9]. We construct c18-math-0294 regional data centers, which reside in different electricity markets and have electricity prices c18-math-0295$ c18-math-0296, c18-math-0297$ c18-math-0298, and c18-math-0299$ c18-math-0300. The data centers host c18-math-0301, c18-math-0302, and c18-math-0303 servers. Each server is operating at c18-math-0304 W with c18-math-0305 VMs per server for c18-math-0306.

We construct two types of jobs: elephant jobs that subscribes c18-math-0307 VMs for c18-math-0308 periods and mice jobs that subscribes c18-math-0309 VMs for c18-math-0310 periods. In our simulations, both c18-math-0311 and c18-math-0312 areuniformly randomly generated from their ranges. We fix the total workload to be c18-math-0313 jobs, each being an elephant job with probability c18-math-0314 and a mice job with probability c18-math-0315. Job c18-math-0316 is associated with a nonlinear bid function, given by

18.28 equation

where c18-math-0318 and c18-math-0319 are uniformly distributed. Using this nonlinear bid function, the approximation of job completion time will result in a convex objective function in Eqs. (18.12 ) and (18.22 ). All numerical results shown in this section are averaged over five realizations of random parameters.

Figure 1.7

Figure 18.7 A comparison of optimized net profit of NPOD, NPOI, and LJF.

To provide benchmarks for our evaluations, we also implement a greedy algorithm that sequentially schedules all jobs with a largest job first (LJF) policy and a heuristic algorithm NPOI (net profit optimization problem for indivisible jobs) by assuming indivisible jobs in problem NPOI. Figure 18.7 compares the optimized net profit of NPOD, NPOI, and LJF algorithms. When jobs are indivisible, our NPOI algorithm improves the net profit by c18-math-0320 over the baseline LJF algorithm (from $1868 to $2095), while an additional c18-math-0321 increment (to $2394) can be achieved by NPOD if all jobs are divisible. We also notice that our NPOI algorithm is able to simultaneously improve total revenue and cut down electricity cost, compared to the baseline LJF algorithm. This is achieved by the joint optimization over job completion time c18-math-0322 and scheduling decisions c18-math-0323.

18.4 Conclusion and Future Work

This chapter discussed three different approaches on smart pricing of cloud services and resources: VM-based pricing, SLA-based pricing, and time-dependent pricing. There is a large number of open problems on topics discussed in this chapter. Many of them are due to the delicate trade-off between operators’ goal of profit maximization and users’ demand for individual performance optimization. In a multiuser environment, while maximizing their total revenue, cloud operators may need to consider establishing a social scheduling policy that would prevent “poor” users from being entirely deprived of resources. Algorithmic solutions to the nonconvex problem of job scheduling and NPO has not been found. Further, to analyze different pricing policies, user payment models must be constructed to reflect not only users’ satisfaction and willingness to pay but also their budget and financial means. Further challenges will arise as stochastic arrivals/departures of users’ demand and cloud resources are incorporated.

References

  1. 1. KPMG International. “Clarity in the Cloud”, Online technical report at http://www.kpmg.com/, Nov. 2011.
  2. 2. N. Chohan. See spot run: using spot instances for mapreduce workflows. In USENIX HotCloud Workshop, 2010.
  3. 3. S. Yi, D. Kondo, and A. Andrzejak. Reducing costs of spot instances via checkpointing in the amazon elastic compute cloud. IEEE International Conference on Cloud Computing, 2010.
  4. 4. Amazon Elastic Compute Cloud User Guide. Getting Started with Spot Instances. docs.amazonwebservices.com/AWSEC2, Oct. 2008.
  5. 5. R. Buyya, Cs. Yeo, J. Broberg, and I. Brandic. “Cloud computing and emerging IT platforms: vision, hype, and reality for delivering computing as the 5th utility,” Future Generation Computer Systems, 25, 2009, 599–616.
  6. 6. X. Fan, W. Weber, and L. A. Barroso. Power provisioning for a warehouse sized computer. In Proceedings of the 34th Annual International Symposium on Computer Architecture, 2007.
  7. 7. S. Nedevschi, L. Popal, G. Iannaccone, S. Ratnasamy, and D. Wetherall. Reducing network energy consumption via sleeping and rate-adaptation. In Proceedings of the 5th USENIX Symposium on Networked Systems Design & Implementations (NSDI), 2008.
  8. 8. L. Parolini, B. Sinopoli, and B. Krogh. Reducing data center energy consumption via coordinated cooling and load management. In Proceedings of ACM Workshop on Power Aware Computing and Systems, 2008.
  9. 9. L. Rao, X. Liu, L. Xie, and W. Liu. Minimizing electricity cost: optimization of distributed internet data centers in a multi-electricity market environment. In Procedings of IEEE Infocom, 2010.
  10. 10. P. Patel, A. Ranabahu, and A. Sheth. Service level agreement in cloud computing. In Proceedings of the Workshop on Best Practices in Cloud Computing, 2009.
  11. 11. C. Wilson, H. Ballani, T. Karagiannis, and A. Rowstron. Better never than late, meeting deadlines in data center networks. In Proceedings of SIGCOMM, 2011.
  12. 12. W. Wang, P. Zhang, T. Lan, and V. Aggarwal. Data center net profit optimization with individual job deadlines. In Proceedings of CISS 2012 (Invited paper), March 2012.
  13. 13. A. Danak and S. Mannor. Resource allocation with supply adjust- ment in distributed computing systems. In International Conference on Distributed Computing Systems (ICDCS), 2010.
  14. 14. L. Fleischer. Tight approximation algorithms for maximum general assignment problems. In ACM Symposium on Discrete Algorithms, 2006.
  15. 15. W. W. S. Wei. Time Series Analysis: Univariate and Multivariate Methods. Addison Wesley, Reading, MA, 1990.
  16. 16. C. Gong, J. Liu, Q. Zhang, H. Chen, and Z. Gong. The characteristics of cloud computing. 39th International Conference on Parallel Processing Workshops, pp.275–279, 2010.
  17. 17. S. Littlechild. Wholesale spot price pass-through. Journal of Regulatory Economics, 23(1), 2003, 61–91.
  18. 18. S. Borenstein. “The long-run efficiency of real-time electricity pricing,” The Energy Journal, 26(3), 2005, 93–116.
  19. 19. K. Herter. “Residential implementation of critical-peak pricing of electricity,” Energy Policy, 35(4), 2007, 2121–2130.
  20. 20. A. Faruqui, R. Hledik, and S. Sergici, “Piloting the smart grid,” Electricity Journal, 22(7), 2009, 55–69.
  21. 21. H. Chao. “Peak load pricing and capacity planning with demand and supply uncertainty,” Bell Journal of Economics, 14(1), 1983, 179–190.
  22. 22. G. Brunekreeft. Price Capping and Peak-Load-Pricing in Network Industries. Diskussionsbeitrage des Instituts fur Verkehrswissenschaft und Regionalpolitik, Universitat Freiburg, vol. 73, Freiburg, Germany, 2000.
  23. 23. H. Sangtae, S. Soumya, J. Carlee, I. Youngbin, and C. Mung. “TUBE: time-dependent pricing for mobile data,” In Procedings of ACM SIGCOMM 2012 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, SIGCOMM ’12, pp. 247–258, 2012.
  24. 24. P. Skantze, M. D. Ilic, and J. Chapman. Stochastic modeling of electric power prices in a mult-market environment. IEEE Power Engineering Society Winter Meeting, 2000.
  25. 25. S. Fleten and J. Lemming, “Constructing forward price curves in electricity markets,” Energy Economics, 25, 2007, 409–424.
  26. 26. C. K. Woo, I. Horowitz, and K. Hoang. “Cross hedging and value at risk: wholesale electricity forward contracts,” Advances in Investment Analysis and Portfolio Management, 8, 2001, 283–301.
  27. 27. R. Weber. Cutting the electric bill for Internet-scale systems. In Proceedings of SIGCOMM, pp. 123–134, 2009.
  28. 28. B. Veeravalli and W. H. Min. “Scheduling divisible loads on heterogeneous linear daisy chain networks with arbitrary processor release times,” IEEE Transactions on Parallel and Distributed Systems, 15, 2010, 273–288.
  29. 29. A. Neumaier and O. Shcherbina. “Safe bounds in linear and mixed-integer linear programming,” Mathematical Programming, 99, 2004, 283–296.
  30. 30. S. Boyd and L. Vandenberghe. Convex Optimization. Cambridge University Press, Cambridge, United Kingdom, 2004.
  31. 31. B. K. Sriperumbudur and G. R. G. Lanckriet. “On the Convergence of the Concave-Convex Procedure”, Online technical report at http://cosmal.ucsd.edu/~gert/papers/nips_cccp.pdf, 2009.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset