• 沒有找到結果。

In this section, this thesis proposes the overall system architecture. The proposed system architecture based on the auction-based resource provisioning model with general auction and reversed auction. The proposed architecture considers the user’s SLA requirements. In addition, the auction-based algorithm considers leasing the resources from cloud vendors in order to maximize the profit of the cloud provider.

This thesis aim to make cloud providers without violating SLAs leasing more resources from cloud vendors, and competing jobs from users for receiving more jobs; therefore, above these reasons that cloud providers could making more incomes. In order to solve this problem, this study addresses an auction-based approach for dynamic resource provisioning and allocation, billing systems with considering SLAs for the user.

Section3.1 describes the system architecture, the workflow of the entire system, and explaining the function of each component. Section3.2 describes the model with general auction mechanism, and explains heuristic algorithm in job scheduling and auction model.

Section3.3 describes the model with reversed auction mechanism, and explains heuristic algorithm with reversed auction model.

23

3.1 System Framework Overview

The system architecture is shown in Figure 3-1.The cloud management layer is responsible for dealing with requirements with the SLAs of the client. The resource layer consists of different heterogeneous physical and virtual machines. The system architecture consists of billing system, monitor, local VM scheduling, client SLA decision, and

coordinator components. The following definition of the component:

 Billing system

There are three factors that can cause the income of cloud providers, that is the cloud provider performs job can acquire profit from users, when the cloud providers has no enough resource to perform jobs from users, the cloud providers has to pay penalty to users, when the cloud providers lease resource from cloud vendors successfully, the cloud provider has to pay

rent to cloud vendors. Above parameters will affect the level of income of cloud providers.

 Monitor system

Cloud provider must to know the resource usage on physical machine, if the cloud provider has enough resource that they can perform resource allocation and provisioning to

users; otherwise, the cloud provider must lease resources from cloud vendors.

 Client SLA decision

The user has pre-defined profit and deadline on jobs; therefore, cloud providers will

24

takes these parameters as the condition for compete the resource with bidders from cloud

vendors.

 Local VM scheduling

When users submit the job to the cloud providers, they will create VM on own physical

machines to perform the job of users submit.

 Coordinator

The main component is the coordinator. Its function includes the ability to communicate with other cloud vendors, such as sending information to cloud vendors about resource status and competing for resource with other bidders. It has to avoid prolonged resource bidding time (or it will violate SLAs), and has to ensure the profit of the transaction. Once bidding has been won, the coordinator has to submit the job to cloud vendors almost immediately.

25

Figure 3-1. General Auction Mechanism System Architecture

Figure 3-2 shows the system workflow. After jobs are submitted by clients, the system assesses job quantity to check whether available resources are sufficient. When resources are sufficient, job execution time is calculated, then jobs are assigned based on FCFS scheduling on VMs. If jobs are finished within the deadline, cloud providers are profitable; otherwise, cloud providers are penalized. When available resources in cloud providers are insufficient, the coordinator will acquire cloud vendors for available resources. When the resource bidding is successful, the cloud provider could migrate jobs to other cloud vendors. It should be noted that the bidding and job migration time should not exceed deadline; otherwise, the cloud

26

27

3.2 System Model with General Auction Mechanism

Cloud Provider:

The cloud provider with enough resources can accept jobs from clients. When jobs are completed within deadline, the gain obtained from each job in the cloud provider is defined as:

∑ 𝐽𝑜𝑏𝑠 𝑝𝑟𝑜𝑓𝑖𝑡𝑖

𝑛

𝑖=1 (1)

When the cloud provider doesn’t have available resources to execute jobs, the runtime of

the job will exceed the deadline. The cloud provider must pay penalty to clients. The equation is defined as:

∑ 𝑃𝑒𝑛𝑎𝑙𝑡𝑦𝑖

𝑛

𝑖=1 (2)

When a cloud provider leases resource successful from other cloud vendors, it has to pay the bidding price and the cost of type of VMs. The cost of leasing resources from other cloud

28

vendors is defined as:

∑ 𝐶𝑜𝑠𝑡𝑟𝑒𝑛𝑡𝑖+

𝑛

𝑖=1

∑ 𝐶𝑜𝑠𝑡𝑣𝑚𝑗

𝑛

𝑗=1 (3)

Let IR represent the initial rent of cloud vendors. When the rent is greater than the highest bid, let the rent be the current bid price; otherwise, the rent is not qualified. The restriction condition of each bidding price is defined as:

𝑅𝑒𝑛𝑡 = {𝑅𝑒𝑛𝑡𝑛𝑒𝑤 𝑅𝑒𝑛𝑡𝑛𝑒𝑤 > 𝑅𝑒𝑛𝑡𝑜𝑙𝑑

𝐼𝑅 𝑅𝑒𝑛𝑡𝑛𝑒𝑤≤ 𝐼𝑅 (4)

Let LRi represent the limited rent of cloud providers. Cloud providers has limited rent for competing resource to cloud vendors to ensure that cloud providers doesn’t increase rent all the way to compete resource. The condition is defined as:

∑ 𝐿𝑅𝑖

𝑛

𝑖=1 (5)

When a cloud provider has no enough resources, it must lease resources from other cloud

29

vendors to deal with the client request for competing resources with bidders. Therefore, the job’s profit must be greater than that in formula (3) to ensure that a cloud provider could earn

profit. The condition is defined as:

∑ 𝐽𝑜𝑏𝑠 𝑝𝑟𝑜𝑓𝑖𝑡𝑖 deadline. In general, the bidding time could not exceed the job deadline; otherwise, the cloud provider will be penalized. The condition is defined as:

∑ 𝐴𝑇𝑖

Let Totalprofit be the profit of the cloud provider, therefore,

𝑇𝑜𝑡𝑎𝑙𝑝𝑟𝑜𝑓𝑖𝑡 = ∑ 𝐽𝑜𝑏𝑠 𝑝𝑟𝑜𝑓𝑖𝑡𝑖

30

Where Job’s profiti is completed within deadline so that cloud providers could gain from each job, Rentk is bidding with cloud vendors that must be less than the jobs’ profit to ensure that a cloud provider could earn profit, and Penaltyl is the cost of a cloud provider which does not have available resources to execute jobs whose runtime of jobs exceed deadline.

Cloud vendors:

Each cloud vendor has an initial rent which could be bid by cloud providers. Let MAP represent the minimum acceptable price of cloud vendors. The obtained profit of the cloud vendors includes the final bidding price and the cost of VMs provided by cloud vendors after subtracting the minimum acceptable price. The Profit of cloud vendors is defined as:

𝑃𝑟𝑜𝑓𝑖𝑡 = ∑ 𝐶𝑜𝑠𝑡𝑟𝑒𝑛𝑡𝑖

𝑛

𝑖=1

+ ∑ 𝐶𝑜𝑠𝑡𝑣𝑚𝑗

𝑛

𝑗=1

− 𝑀𝐴𝑃

(9)

Let RRPi represent the remaining resources of cloud providers, and RCi represent the request of clients. The remaining resources of cloud providers have to satisfy the client requests. So, the condition of executing the bidding procedure is defined as:

31

∑ 𝑅𝑅𝑃𝑖

𝑛

𝑖=1

∑ 𝑅𝐶𝑖

𝑛

𝑖=1 (10)

When the rent is greater than the highest bid, this new rent would be the bid price;

otherwise, the rent is not qualified. In general, the initial bid price of cloud providers has to be greater than the minimum acceptable price of cloud vendors. The accepted condition of cloud providers with restricted bids is defined as:

𝑅𝑒𝑛𝑡 = {𝑅𝑒𝑛𝑡𝑛𝑒𝑤 𝑅𝑒𝑛𝑡𝑛𝑒𝑤 > 𝑅𝑒𝑛𝑡𝑜𝑙𝑑

𝑀𝑃𝐴 𝑅𝑒𝑛𝑡𝑛𝑒𝑤≤ 𝑀𝑃𝐴 (11)

In our proposed algorithm, the input includes JobList, JobProfitList, JobPenaltyList, VendorsList, VendorsInitial RentList, VendorsResourcesList, VendorsDirectBuyList, and BidderList. The output includes Profit, Penalty, Execution time, Rent, Direct buy price and Vendors and Penalty. This work proposes a combinatorial auction-based approach for dynamic VM provisioning and allocation, considering the client SLA in order to maximize the profit of the cloud provider. As shown in the proposed algorithm, in the first step, when cloud providers have available resources to receive jobs for execution (adopt the highest price first solve jobs scheduling). When the user submits more and more jobs to a cloud provider and

32

resources of the cloud vendors are overloading cloud, it may result in not only that the cloud provider cannot lease resources from cloud vendors, but also that their own available

resources cannot be afforded. Cloud providers have to pay penalty to the client. When the cloud provider doesn’t have enough resources, it will look for available resources from

different cloud vendors. This provider will sort the resources according to the requirement and the directly purchasing price, and record the sorted results. Therefore, the cloud provider will bid with the cloud vendors with the largest resources. When there is no bidder, the cloud provider could directly lease resources from cloud vendors (line 1 to 12 in algorithm 2). When some bidders appear, the cloud provider and bidders have to bid with cloud vendors (highest

bidder acquire resources). However, cloud providers cannot waste expenses to bid resources when the rent of the cloud provider is greater than the job’s profit (ensure that cloud providers

could increase income), the income cannot exceed the expenditure is that we consider SLA contention. So, the cloud provider could complete more jobs from users and earn higher profits. When the rent of a bid is greater than the job’s profit, the number of failures would be accumulated; otherwise, cloud providers will lease resources successful from cloud vendors (line 14 to 28). If the number of failures is greater than the threshold, the cloud provider will select the minimum price of direct purchase for leasing resources (line 29 to 32). When the cloud provider wastes more bidding time, the jobs will exceed their deadline.

33 Algorithm1 : Job Allocation with SLA (JAS) algorithm

Input:JobList,JobProfitList,JobPenaltyList,Vend orsList, VendorsInitialRentList, BidderList, VendorsResourcesList,VendorsDirectBuyList

Return: Profit, Penalty, Execution time, Rent, Direct buy price, Vendors 1. JobList ← {i1, i2, …, iN};

21. return profit, penalty, execution time, rent, direct buy price, vendors

Although the price of direct purchase may be higher than the job’s profit, it is still better than the penalty to clients. The cloud provider may not make money but at least won’t violate

SLAs.

34 Algorithm2 : Auction model

Return: Rent, Direct buy price, Vendors 1. for VR from VR1 to VRN in VRList do{

35. return rent, direct buy price, vendors

35

3.3 System Model with Reversed Auction Mechanism

The reversed auction mechanism system architecture is similar to the general auction mechanism system architecture. The differences are: the cloud provider compete the jobs to users with other cloud providers and the users has budget in the jobs for the cloud providers competing. The functions of cloud provider are all the same in the general auction mechanism system architecture.

Figure 3-3. Reversed Auction Mechanism System Architecture

These mentions formula (1), (2), (3), (7), (8), (10) in general auction mechanism are the same function that used in reversed auction mechanism.

36

The users want find appropriate computing resource from cloud providers, but the users has limited price paying to cloud providers, the constrain budget of users is defined as:

∑ 𝐵𝑢𝑑𝑔𝑒𝑡𝑖 providers, the constrain of auction process is defined as:

∑ 𝐶𝑜𝑠𝑡𝑟𝑒𝑛𝑡𝑖+ reversed auction algorithm, the bid mechanism is based on random descending for competing jobs. When auction is lose, it adopts the jobs with lowest budget from users, cloud providers perform the jobs although may not making profit, on the other hand, cloud providers could receiving more jobs from users and reaching user’s SLAs as possible as.

37

相關文件