Introduction
-
In this strategy, first checks for each type of VMs in each resource provider in order to determine whether the deadline of new request is long enough comparing to the estimated finish time. The estimated finish time depends on the estimated start time, request processing time, and VM initiation time. If the new request can be completed within the deadline, the investment return is calculated. If there is value added according to the investment return, and then all related information (such as resource provider ID, VM ID, start time and estimated finish time) are stored into the potential schedule list.
-
In this strategy, first verifies each VM in each resource provider if the deadline time of new request is enough to wait all accepted requests in vmil to complete. If new request can wait for all accepted requests to complete, then the investment return is calculated and the remaining steps are the same as those in initiate new VM strategy.
-
In this strategy, first checks verifies if any accepted request uk according to latest start time in vmil can wait the new request to finish. If there is an already accepted request uk that is able to wait for the new user request to complete, the strategy checks if the new request can complete before its deadline. If so, unew gets priority over uk, then the algorithm calculates the investment return and the remaining steps are the same as those in initiate new VM strategy.
-
In this strategy, first checks if the new user request’s budget is enough to wait for all accepted user requests in vmi to complete after its deadline, and then the investment return is calculated and the remaining steps are the same as those in initiate new VM strategy.
Related works
Related works | Admission control | Resource management (scheduling) | Profit driven | Resource characteristics | Knowledge based | Price-based | SLA oriented | QoS | |
---|---|---|---|---|---|---|---|---|---|
For users | For saas provider | ||||||||
Reig,.et al. [17] | Yes | Yes | No | NA | No | No | Yes | Deadline | Nothing |
Bicher, Setzer [7] | Yes | No | Yes | NA | No | No | Yes | Budget | Nothing |
Wu et al. [14] | Yes | Yes | Yes | Multiple resource provider | No | No | Yes | Deadline, Budget, Request Length, Penalty rate | Vm Initiation time, Data Transfer Time |
Wu. et al. [15] | No | Yes | Yes | Multiple Resource Provider | No | No | Yes | Request type, product type, account type, contract length, number of accounts | VM Type, Product Type, Account Type |
Zhipiao Liu, Qibo Sun [16] | No | No | Yes | One resource provider | No | No | Yes | Budget, Deadline | VM Type, Vm Price |
Yes | Yes | Yes | Multiple resource provider | No | Yes | Yes | Deadline, Budget, Request Legnth, Penalty Rate | Vm Initiation time, Data Transfer Time | |
Mohana. et al. [18] | Yes | Yes | Yes | Multiple resource provider | No | Yes | Yes | Deadline, Budget, Request Legnth, Penalty Rate | Vm Initiation time, Data Transfer Time |
Choi and Lim [19] | No | No | Yes | One resource provider | No | Yes | Yes | Nothing | total expence |
Our Work | Yes | Yes | Yes | Multiple resource provider | Yes | No | Yes | Deadline, Budget, Request Legnth, Penalty Rate | Vm Initiation time, Data Transfer Time |
Number of users | Deadline | Budget | Length | Penalty rate factor |
---|---|---|---|---|
Vary from 50-300 | vary the deadline from “very tight” to “very relax” (α = 0.5 to α = 2.5) | Random from “0.1$” to “1$” | Vary from “105 MI” to “5*105 MI” | Vary the mean of r from “very small” (4) to “very large” (44). |
System Model
Actors
-
User: On users’ side, a request for an application is sent to a SaaS provider’s application layer with QoS constraints, such as, deadline, budget and penalty rate. Then, the platform layer utilizes the admission control and scheduling algorithms to admit or reject this request. If the request is accepted, a formal agreement (SLA) will be signed between both parties to guarantee QoS requirements such as response time, etc. The SLA with Users includes the following properties:
-
Deadline: Maximum time user would like to wait for the result.
-
Budget: How much user is willing to pay for the requested services.
-
Penalty Rate Ratio: A ratio for consumers’ compensation if the SaaS provider misses the deadline.
-
Input File Size: The size of input file provided by users.
-
Request Length: How many Millions of Instructions (MI) are required to be executed to serve the request?
-
-
SaaS provider: a SaaS provider rents resources from IaaS providers and leases software as services to users. SaaS providers aim at minimizing their operational cost by efficiently using resources from IaaS providers, and improving Customer Satisfaction Level (CSL) by satisfying SLAs, which are used to guarantee QoS requirements of accepted users. From SaaS provider’s point of view, there are two layers of SLA with both users and resource providers. It is important to establish two SLA layers, because the SLA with users can help the SaaS provider to improve the customer satisfaction level by gaining users’ trust of the quality of service; SLA with resource providers can enforce resource providers to deliver the satisfied service. If any party in the contract violates its terms, the defaulter has to pay for the penalty according to the clauses defined in the SLA.
-
IaaS provider: an IaaS provider offers VMs to SaaS providers and is responsible for dispatching VM images to run on their physical resources. The platform layer of SaaS provider uses VM images to create instances. It is important to establish SLA with a resource provider, because it enforces the resource provider to guarantee service quality. Furthermore, it provides a risk transfer for SaaS providers, when the terms are violated by resource providers. In this work, the compensation given by the resource provider is not considered because 85 % resource providers do not in fact currently provide penalty enforcement for SLA violation [12]. The SLA with IaaS providers includes the following properties:
-
Service Initiation Time: How long it takes to deploy a VM.
-
Price: How much a SaaS provider has to pay per hour for using a VM from a resource provider?
-
Input Data Transfer Price: How much SaaS providers has to pay for data transfer from local machine (their own machine) to resource provider’s VM.
-
Output Data Transfer Price: How much a SaaS provider has to pay for data transfer from resource provider’s VM to local machine.
-
Processing Speed: How fast can the VM process. Machine Instruction per Second (MIPS) of a VM as processing speed is used.
-
Data Transfer Speed: How fast the data is transferred. It depends on the location distance and the network performance.
-
Adaptable Scheduler
Algorithm and strategies
Strategies
Different Sequences of Strategies
Proposed Algorithm
Decision Tree Algorithm
Working of Decision Tree
Experimental Results
Provider | VM types | VM price ($/hour) |
---|---|---|
Amazon EC2 | Small/Large | 0.12/0.48 |
RackSpace | Windows | 0.32 |