• 沒有找到結果。

多雲環境中考慮SLA資源供應之競價模式之研究

N/A
N/A
Protected

Academic year: 2021

Share "多雲環境中考慮SLA資源供應之競價模式之研究"

Copied!
73
0
0

加載中.... (立即查看全文)

全文

(1)

國立臺中教育大學資訊工程學系碩士論文

多雲環境中考慮SLA資源供應之競價

模式之研究

An Auction Model for Resource Provisioning with SLA

Consideration on Multi-Clouds

指導教授:賴冠州 教授

研究生:張智忠 撰

中華民國一百零二年七月

(2)

謝辭

首先誠摯的感謝指導教授賴冠州博士,在我求學兩年中不辭辛苦的教導與提醒,並 讓學生可以在有壓力的環境下成長,讓學生可以從無到有的完成論文研究。幸蒙口試委 員楊朝棟教授、李冠憬教授與黃國展教授對於論文的指正與建議,得以讓本篇論文更加 完整,深摯謝意。在兩年中的研究道路上,雖然辛苦卻很值得。 感謝於有富學長在計畫中多處的提醒,總能在整合計畫時提出不一樣的看法。也感 謝桂禮璿學長、黃麒璋學長、張效維、徐瑤倫、蔡英麟、黃則齊、沈柏均、曾昱渂與黃 柏誠實驗室同學的幫忙,在兩年中不論是在課業上的討論、閒聊。也要感謝我的女友舒 婷一路的陪伴,當我壓力大時,肯陪我出去看電影、吃飯與散散心,使得壓力適時的舒 緩。實驗室裡的劉建佑學弟與謝孟儒學弟在兩年的學涯中也幫忙了不少的忙。 最後要感謝我的家人,全力的支持我在研究的道路上,讓我備感溫暖。最後,謹以 此文獻給我摯愛的雙親。 張智忠 一百零二年七月

(3)

I

摘要

近年來雲端運算逐漸成為熱門的研究議題。由於中小企業的硬體設備成本不足,所 以大部分的中小企業都不會購買伺服器來使用,因此中小企業往往會選擇向雲端服務商 租資源。當這些大量的中小企業都向雲端服務商提出請求,就會造成雲端服務商所提供 的伺服器無法負荷。然而對於雲端服務商來說,如何取得更多的資源與接收更多使用者 的需求是很重要的議題。因此雲端服務商必須在計價系統中考量多個特性(不同於其他 的企業)向使用者保證不違反服務層級協議(SLA),如何競標到更多的資源與設計一個 完善的計價系統也是需要考量的議題。 提供服務在雲端運算中是很重要的特性之一。當使用者向雲端供應商提出資源需求 時,雲端供應商必須滿足使用者的需求。雲端供應商的計價系統是採用使用即付費的方 式。本文的目標是讓雲端供應商在不違反 SLA 下,接收到更多的工作與向第三方雲端 供應商租到更多的資源;因此,雲端供應商可以得到更多的收入。為了解決這些問題, 本文提出了一個基於競價模式評估使用者的 SLA、動態的資源供應與計價系統。實驗結 果顯示我們所提出的驗算法相較於其他方法是能夠讓雲端供應商得到更多的收入並且 完成更多的工作 關鍵字:雲端運算、競價、資源供應、服務層級協議(SLA)

(4)

II

Abstract

In recent years, cloud computing becomes one of the most popular research topics in the enterprise and academia. Due to the enterprise has no cost on hardware equipment, most of the enterprise doesn’t consider purchase server for provide service; therefore, the enterprises always lease computing resource to cloud providers. When most of the enterprise submits their requirement to cloud providers, causing computing resource provided by cloud providers are over-loading. However, how to acquire more resources and receiving more users’ requirement is important issue for the cloud providers. For above reasons, cloud providers must consider more characteristics in billing systems different from other companies that guarantee Service Level Agreements (SLAs) to users. Enterprises needs considering how to obtain more resources by auction mechanisms from cloud vendors and how to design a better billing systems, those mentioned issues should be considered.

Providing service is one of the important characteristics in cloud computing. When the user needs different types of the service from the cloud providers, it must support the required service of the user. Cloud providers depend on the pay-as-you-go model for user usage. This thesis aim to make cloud providers without violating SLAs leasing more resources from the third party 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 proposes an auction-based approach for dynamic resource provisioning and allocation, billing systems with considering SLAs for the user. Experimental results shows that our propose mechanism could making more profits and completed more jobs than mentions literature.

Key words:Cloud computing, Auction, Service Level Agreement (SLA), Resource Provisioning

(5)

III

Table of Contents

摘要 ... I

Abstract ... II Table of Contents ... III List of Figures ... V List of Tables ... VII

Chapter 1. Introduction ... 1

1.1 Backgrounds ... 1

1.2 Motivation ... 5

1.3 Purpose ... 6

1.4 Thesis Organization ... 7

Chapter 2. Related Works ... 8

2.1 Service Level Agreement ... 8

2.2 Billing System ... 8 2.3 Auction Mechanism ... 9 2.4 Virtualization ... 11 2.5 OpenStack ... 14 2.6 Nagios ... 18 2.7 General Discussion ... 19

Chapter 3. System Architecture ... 22

3.1 System Model with General Auction Mechanism ... 27

3.2 System Model with Reversed Auction Mechanism ... 35

Chapter 4. Experiments ... 37

4.1 Experimental Environment ... 37

(6)

IV

4.3 Performance Analysis of Reversed Auction Mechanism ... 50

Chapter 5. Conclusions and Future works ... 58

5.1 Conclusions ... 58

5.2 Future works ... 58

(7)

V

List of Figures

Figure 2-1. NIST visual model of cloud computing definition ... 2

Figure 2-2. Full virtualization ... 13

Figure 2-3. Para virtualization ... 13

Figure 2-4. Currently three main objects of OpenStack ... 15

Figure 2-5. OpenStack Nova logical architecture ... 18

Figure 3-1. General Auction Mechanism System Architecture ... 25

Figure 3-2. System Workflow ... 26

Figure 3-3. General Auction Mechanism System Architecture ... 35

Figure 4-1. JAS adopting FCFS ... 41

Figure 4-2. RBMA adopting FCFS ... 42

Figure 4-3. JAS adopting HPFS ... 43

Figure 4-4. RBMA adopting HPFS ... 44

Figure 4-5. JAS1 adopting FCFS ... 45

Figure 4-6. JAS2 adopting FCFS ... 46

Figure 4-7. RBMA adopting FCFS ... 47

Figure 4-8. JAS1 adopting HPFS ... 48

Figure 4-9. JAS2 adopting HPFS ... 49

Figure 4-10. RBMA adopting HPFS ... 50

Figure 4-11. Job’s profit and budget of user ... 51

Figure 4-12. Results by adopting FCFS & HPFS ... 52

Figure 4-13. Results by adopting FCFS & HPFS ... 53

Figure 4-14. Comparison by adopting FCFS ... 54

Figure 4-15. Comparison by adopting FCFS ... 55

(8)

VI

(9)

VII

List of Tables

Table 4-1 Characteristics of the development platform ... 37 Table 4-2 Characteristics of the physical and virtual machines ... 38

(10)

1

Chapter 1. Introduction

1.1 Backgrounds

Cloud computing [1] is an emerging topic recently, which is derived from the utility computing [2]. Cloud computing can provide services that is the most important characteristic. When the user needs different types of the service from the cloud provider, it must support the required service of the user. Cloud providers apply the pay-as-you-go model for user usage. In cloud computing, the Service Level Agreements (SLAs) [3] is an important issue in resource provisioning. In order to meet the SLAs, the cloud provider has to satisfy the user’s requirement as possible as it can; otherwise, the cloud provider has to pay the penalty to users when the SLA is violated. Instances of SLAs include resources availability and servers stability and other utility services provided to users.

National Institute of Standards and Technology [4] defines cloud computing as a model, “the cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”[4] These shared computing resource pools can be quickly provided and released, at the same time minimizing management costs. The cloud model improves the service availability; the cloud model consists of five essential

(11)

2

characteristics: on-demand self-service, broad network access, resource pooling, rapid elasticity and measured service. In cloud computing, there are three service models: infrastructure as a service (IaaS), platform as a Service (PaaS) and software as a Service (SaaS). The cloud model consists of four deployment models: the public cloud, the private cloud, the community cloud and the hybrid cloud. The cloud model improved the service availability; the cloud model consists of five essential characteristics, three service models and four deployment models, the model structure as shown in the Figure 2-1.

Figure 2-1 NIST defines model of cloud computing [4]  on-demand self-service

(12)

3

interact with the cloud providers.  broad network access

The service of cloud provider is provided via network, the user can access the service of the cloud provider through different platform (such as computer, smartphones and laptops).  resource pooling

The provider’s computing resources are pooled to serve the users, the cloud provider assign physical and virtual resources according to the user demand.

 rapid elasticity

Elasticity that can adjust the scale of resources according to the requirement of users, the resource of cloud computing seems endless. It depends on the demand to increase or decrease the computing power.

 measured service

The resource and service of cloud providers can automatically monitor and control the user of resources, provide transparency of information between cloud provider and users  Software as a service (SaaS)

The cloud providers can provide computing resource to users, the users can use the cloud provider’s applications running on a cloud infrastructure and the applications can be access by multiple users.

(13)

4

 Platform as a Service (PaaS)

The cloud providers can provide computing resource to users; the users can deploy user-created or acquired applications onto the cloud infrastructure.

 Infrastructure as a Service (IaaS)

The cloud providers can provide computing resource to users; the users are able to deploy and run software, which can include operating systems and applications.

 public cloud

Public cloud provides service for the public, such as computing power, database, data storage, network bandwidth and other services.

 private cloud

Private cloud only provides services to a single organization and appointed the organization or the third party to manage. Private cloud is mainly to avoid excessive open in order to reduce the cloud services which may cause security problems from different users using.

 community cloud

Community cloud is made up of many organizations to share resources for support a specific community services (such as the medical and education cloud).

(14)

5

Hybrid cloud is an organization that takes more than two different cloud service types, the hybrid forms can significantly increase the mobility application service, reduce the enterprise fully uses security risks of the public cloud.

1.2 Motivation

The profit of cloud providers is the cost obtained from the user, that profit is subtracted by the cost of the cloud provider and by the penalty of violated SLAs; such a cost includes the server hardware cost, the network communication cost, the administrator management cost and the energy consumption cost. Therefore, in order to make more profit, the cloud provider has to reduce the SLAs violation rate. In general, users submit jobs with deadline to the cloud provider. Once the job cannot be completed before deadline, the SLAs will be violated and the cloud provider must pay penalty to the user. Therefore, the cloud provider has to consider SLAs in order to guarantee resource stability and make more profits. When the user submits more jobs to the cloud provider and the available resources of the cloud provider cannot satisfy the client’s requirement, the cloud provider has to lease resources from other cloud vendors to deal with the user’s requirement for competing resources. Therefore, providers have to bid for resources from third-party cloud vendors [5]; the highest bidder will get resources, and pay the rent to cloud vendors.

(15)

6

In general, the billing system of most cloud providers adopts fixed-price metrics. However, the fixed-price metrics cannot guarantee efficient resource allocation for the client requests [6]. If cloud providers considers SLAs for designing a better billing systems, it will be able to cause more users to apply. In order to increase cloud provider’s income, the cloud provider must consider more characteristics in billing systems different from other cloud providers that guarantee SLAs to users. For above reasons, the cloud provider needs considering how to obtain more resources by auction mechanisms from cloud vendors and how to design a better billing systems, those mentioned issues should be considered.

1.3 Purpose

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. The goal of this work is to satisfy the requirement of users and snatch resources from other vendors (ensure that income is more than expenditure), in order to prevent SLAs violation and maintains the reputation of the cloud provider. So, the contribution of this work includes: the auction-based approach for dynamic VM provisioning and allocation, billing systems with considering SLAs for the

(16)

7

cloud provider and the user, an automatic resource-monitoring system, and the competing jobs system.

1.4 Thesis Organization

The rest of this thesis is organized as follows: Chapter 2 discusses related works, which include the cloud computing, the virtualization, billing system, the OpenStack, and the Nagios. Chapter 3 describes the general auction and the reversed auction system architecture. Chapter 4 demonstrates the experimental results between the general auction and the reversed auction mechanism. Conclusions and future works are finally given in Chapter 5.

(17)

8

Chapter 2. Related Works

2.1 Service Agreement Level

In cloud computing, the cloud provider and the cloud consumer relationship must start with "service level agreement (SLA)". Because the users trust the cloud providers provided by a number of infrastructure services. SLA is the base of users trust cloud providers. The meticulous SLA helps improving the reputation of cloud providers. But the most important is that the user needs to fully understand that the cloud providers define SLA before signing any agreement, the user should carefully consider the cloud provider can provide the type of service and SLA.

Cloud providers must consider more Service Level Agreements (SLAs) different from other enterprises that guarantee the performance of providing service is stable to users. The cloud provider must consider how to design more SLA parameters with the user that is more important issues, this reason could cause the income and reputation of cloud providers.

2.2 Billing System

Currently most commercialized cloud providers mainly provide cloud computing resources by the fixed price approach. However, this may not be efficient for resource usage that the computing capacity of cloud providers is limited. Cloud providers provide IaaS, PaaS

(18)

9

and SaaS to the user; therefore, there are many costs with cloud providers that including server hardware cost, network communication cost, administrator management cost, energy consumption cost and so on. When cloud provider considers more costs in billing system for charging to users, the billing system will make profitable for cloud providers ,those mentioned costs that the cloud providers should be considered. Cloud providers have to monitor resource usage on physical and virtual machines for resource allocation; they also need to know operating system, the type of virtual machines and the time of virtual machines from users used. Billing systems of cloud providers such as well-known of AmazonEC2 [7], RightScale [8], Salesforce.com [9] and so on. AmazonEC2 and RightScale don’t consider service level agreements (SLAs) in billing systems, in the billing system by pay-as-you-go model. If cloud providers consider SLAs for designing better billing systems, it will be able to cause more users to use.

In order to increase cloud provider’s income, cloud providers must consider more characteristics in billing systems differ from other cloud providers that could cause more users to use. For this reason, this study proposes a considering SLAs billing systems.

2.3 Auction Mechanism

Currently most cloud providers mainly offer cloud computing resource with the fixed price approach. However, this may not be efficient for cloud resource usage especially when

(19)

10

the total computing power is limited. Since the auction mechanism is discussed in many resource limited problems, cloud providers how to apply in cloud computing environment for making more incomes and resource utilization, these mentioned issues should be considered.

In reversed auction mechanism, the user acts as auctioneer. The user notifies all cloud providers with available resource that the user needs computing resource, each cloud providers bid depend on own bid strategy, finally the user decides who win in the auction process according to the user pre-defines conditions. The winner is the cloud providers with the lowest bid when the end of auction process which is lower than or equal user’s budget, the user pays the winner with lowest bid. This process of auction is called reversed auction.

Market-based schedule mechanism was discussed in [10][11][12][13] for distributed computing. They use the price as communication information for job schedule, resulting in better performance in the load-balance. They don’t support SLAs requirement. Cloud Providers are usually considered appropriate one that reach maximizing income, so that he bids as high as possible.

Combinatorial auctions are efficient mechanisms for allocating virtual machine instances in clouds [14]. They guarantee that the user maximum utility by bidding cost of the requested VM instances. Therefore, the user in order to achieve maximum utility, the user needs to decide the type of VM instances that guarantees the performance for the application of users,

(20)

11

and the cost of VM instances.

Sui and Leung [15] proposed an adaptive bidding strategy for combinatorial auction-based resource allocation in dynamic markets. In their proposed bidding strategy, they considers multi-round first bid price to cloud vendors by combinatorial auction for allocating computing resources, the bidder updates own bid dynamically at end of the previous bidding results, in order to maximize own income.

In general auction mechanism, RBMA [16] they making decision according to the percentage of funds may causing higher rent, and they don’t considering that the rent of cloud provider for compete resource from cloud vendors, so that cloud provider’s rent (expenditure) in end of the bid process is more than the profit (income) of jobs by users submitted.

In reversed auction mechanism, reversed auction [17] they use vast conditions between the users and the cloud providers in reversed auction process, but they doesn’t considering deadline that must lower than or equal the sum of job’s execution time and bid time; therefore, jobs of the user may not be finished before deadline. In our reversed auction mechanism, we support the user SLAs requirement, and take making more profits into account.

2.4 Virtualization

Virtualization technology [18] is the most important mechanism in the cloud which is using the concept of aggregation [19]. It hides the physical characteristics of a resource from

(21)

12

users, instead showing another abstract resource. It can provide for resource virtualized, such as computation resource (virtual machine technique), storage resource (virtual storage technique) and communication resource (virtual network technique). Virtualization consists of two technologies: full-virtualization and para-virtualization; the advantage of full virtualization is that guest OS doesn’t need to modify, the speed and function is outstanding, it is very simple to use; the disadvantage is based on the pattern of hosted full-virtualization product performance is not particularly outstanding, particularly in terms of I/O is shown in Figure2-2. The advantage of para-virtualization is the architecture is more streamlined than full-virtualization, and it has certain advantages on the overall speed; the disadvantage is that it needs to modify guest OS, so it is more troublesome to use is shown in Figure 2-3.

To achieve the dynamic resource provisioning, when physical machines support virtualization technology that can allows the cloud provider applies more available resource, the cloud provider could create the virtual machine and allocate jobs on this virtual machine. So, the cloud providers could improve response time, receiving more jobs and making more profits. There are some open virtualization or commercial products [20][21][22] on the market, the goal of them are the same that is upgrade resources utilization.

(22)

13

Figure 2-2. Full virtualization

(23)

14

2.5 Openstack

OpenStack [23] is open-source software, which provides a cloud deployment operating platform. The aim is that to help organizations run virtual computing or storage service to set up the cloud environment, which to provide scalable, flexible cloud computing.

Figure 2-4. describes Openstack contains of three software projects which are Openstack Compute (Nova), OpenstackObjectStorage (Swift) and OpenStackImageService (Glance).  OpenStack Compute (Nova)

As the organization controller, it provides a tool to deploy cloud platform, including running instance, network management, control access to users and other project. At the bottom of the open source project name is called Nova, which provides software that can control the IaaS cloud computing platform, such as AmazonEC2 and Rackspace Cloud Servers.

 OpenStack Object Storage (Swift)

Swift is a scalable storage system. Object storage supports the variety of applications, such as copying and archiving data, image or video services and static data storage. It creates based on elasticity storage of the cloud for web applications.

(24)

15

 OpenStack Image Service (Glance)

Glance is virtual machine image storage, query and retrieval system, the service including allows users to query the VM image metadata and retrieves of the actual image.

Figure 2-4. Currently three main objects of OpenStack [23]

In openstack nova logical architecture, the components can be divided in two parts which is API application to receive and coordinate (nova-api and glance-api), perform deployment tasks worker (nova-compute, nova-network and nova-schedule), as shown in Figure 2-5. Each

(25)

16

service components describe as the following:  Nova-api

Nova-api is OpenStack Compute center. It provides various format of API for all components to communicate with each other. It initialize the vast majority of deployment activities (such as running instance), and some implementation strategy (the vast majority of quotas to check).

 Nova-compute

Nova-compute is mainly a creation, suspension and termination of virtual machine instances of worker daemons. Its process is very complicated, but the basic principle is simple; it receiving from the queue and then update the status of the database, execute a series of system commands to perform.

 Nova-volume

Nova-volume manages instance that mapped to the computer volume creation, add and cancel. The storage on VM is non-persistent; the data file will be removed when VM is terminated, it also can provide to users for use persistent volumes, these volumes can come from many providers, such as ISCSI.

(26)

17

 Nova-network

Nova-network is similar to nova-compute and nova-volume. It receives the network tasks from the queue and performs task in order to control network, such as creating bridging interfaces or change the iptables rules. Nova-network supports three kinds of network manager: flat network manager, flat DHCP network manager and VLAN network manager.  Nova-schedule

Nova-schedule through the nova-api calls to nova-compute, nova-network or the appropriate Openstack components to trigger built-in scheduling algorithm. It can manage resource allocation on various factors such as load, memory, CPU and so on. It trigger available resource allocation base on built-in scheduling algorithm; nova-schedule provides the scheduling model which including chance, availability zone and simple.

 Dashboard

OpenStack dashboard provides an interface for user access; it integrates all API functions of Openstack to communicate with each other. It is currently implemented as Django web Application.

(27)

18

Figure 2-5. OpenStack Nova logical architecture [23]

2.6 Nagios

Nagios [24] is an open-source monitoring system; nagios provides monitoring and alerting for servers, applications and services. It can run on Linux/Unix platform, provide an optional browser-based web interface for system management that administrator can check the network status, all kinds of system problems, and the log and so on conveniently. Nagios alerts administrator when monitoring items occur problems and notices administrator when the problem has been resolved. It can monitor by the variety of service through netwok such as SMTP, POP3, HTTP NNTP, PING, TCP and some different port. Nagios provides more monitoring items including CPU, memory, storage, network and so on. Nagios can monitor

(28)

19

more items by downloads plugin based on open source. Nagios could monitor the information and transform this information to RRD format to display graphics on the web. The states of Nagios monitoring are OK, Critical and Warning.

2.7 General Discussion

Market-based resource allocation of previous researches started from 1981 [25]. The distributed resource allocation and job scheduling are important techniques of cloud computing. Both are the most challenging problems in the resource management.

However, many researches and developed scenarios focus on a single cloud provider within a management level. Because VMs are charged after completing a job, when a huge number of jobs need to be executed simultaneously, single cloud provider cannot solve the resource overloading problem.

The cloud providers leases resources for dealing with client jobs submitted from other cloud providers. In order to achieve cloud provider’s maximum profit, the cloud providers must complete the submission of jobs as much as possible, reduction of power consumption of physical machines, maximum usage of physical machines (avoid resources idle) and reduce the rate of SLA violation.

(29)

20

Previous researches [26][27][28] consider the scheduling of applications in the cloud computing. These approaches consider only one SLA parameter, such as execution time, cost of execution, etc. Designing a good job scheduling system could allow the cloud provider to maximize resource utilization and profit.

Recent researches [29][30] mention the auction-based resource provisioning approach. In these proposed approaches, the job profit level is sorted in an order (from high to low) for assigning to different machines (jobs with more profits acquire more resources). This approach not only increases profit and resources utilization in the cloud provider, but also reduces the SLA violation rate. So the profit could be maximized [29][30].

F. I. Popovici and J. Wilkes [31] propose an approach that the cloud provider leases resources at a fixed price. Their experimental scenario is similar to the addressed problem of this work in cloud computing. This work monitors available resources on physical machines and cloud vendors; but, in [31], resource availability is uncertain. Monitoring available resource is very important for providing correct resource information to clients without violating the SLA.

Pandey et al. [32] propose a particle swarm optimization-based heuristic for scheduling workflow applications in experimental environments. They aim to minimize the total execution cost of applications on their own available resources, so that it could achieve low

(30)

21

computational cost and low data transmission cost. But they don’t improve resource utilization efficiently. The Amazon Elastic Compute Cloud (on Amazon EC2) [10] has a billing system with a charging standard by using the fixed computing resources per hour, without considering SLAs parameters with the user. In this work, we adopt the Openstack tool [23] to implement our resources management

(31)

22

Chapter 3. System Architecture

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.

(32)

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

(33)

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.

(34)

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

(35)

26

provider will be penalized. Finally, the billing cost including profit, rent and penalty are calculated.

Figure 3-2. System Workfolw

JAS

(Monitor Available Resources) Request with SLA

Billing System Violate SLA Auction Resources with Cloud Vendors Yes Yes No Migrate Jobs to Cloud Vendors Jobs Scheduling Coordinator (Auction Model) No Yes No

(36)

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

(37)

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)

(38)

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:

∑ 𝐽𝑜𝑏′𝑠 𝑝𝑟𝑜𝑓𝑖𝑡 𝑖 𝑛 𝑖=1 − (∑ 𝐶𝑜𝑠𝑡𝑟𝑒𝑛𝑡𝑗 𝑛 𝑗=1 + ∑ 𝐶𝑜𝑠𝑡𝑣𝑚𝑘 𝑛 𝑘=1 ) ≥ 0 (6)

Let ATi represent the auction time, JETj be the job execution time, and JDk be the job

deadline. In general, the bidding time could not exceed the job deadline; otherwise, the cloud provider will be penalized. The condition is defined as:

∑ 𝐴𝑇𝑖 𝑛 𝑖=1 + ∑ 𝐽𝐸𝑇𝑗 𝑛 𝑗=1 ≤ ∑ 𝐽𝐷𝑘 𝑛 𝑘=1 (7)

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

𝑇𝑜𝑡𝑎𝑙𝑝𝑟𝑜𝑓𝑖𝑡 = ∑ 𝐽𝑜𝑏′𝑠 𝑝𝑟𝑜𝑓𝑖𝑡 𝑖 𝑛 𝑖=1 + (∑ 𝐽𝑜𝑏′𝑠 𝑝𝑟𝑜𝑓𝑖𝑡 𝑗 𝑛 𝑗=1 − ∑ 𝐶𝑜𝑠𝑡𝑟𝑒𝑛𝑡𝑘) 𝑛 𝑘=1 − ∑ 𝑃𝑒𝑛𝑎𝑙𝑡𝑦𝑙 𝑛 𝑙=1 (8)

(39)

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:

(40)

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

(41)

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.

(42)

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};

2. JobProfitList ← {j1, j2, …, jN};

3. JobPenaltyList ← {k1, k2, …, kN};

4. VendorsList ← {V1, V2, …, VN};

5. VendorsIRList ← {VIR1, VIR2, …, VIRN};

6. VendorsRList ← {VR1, VR2, …, VRN};

7. BidderList ← {B1, B2, …, BN};

8. VendorsDirectBuyList ← {VDB1, VDB2, …, VDBN};

9. for Job from j1 to jN in JobList do {

10. if (own available resources >= request) then

11. HPFS (Jobi Scheduling); the highest price fist solve 12. allocation (VM,jN);

13. record execution time; 14. profit = JobProfiti; 15. else

16. call x={rent, direct buy price, vendors} 17. if (x == null) then

18. penalty = JobPenalty; 19. end if

20. end if }

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.

(43)

34

Algorithm2 : Auction model

Return: Rent, Direct buy price, Vendors

1. for VR from VR1 to VRN in VRList do{ 2. sort(VRN); more to less

3. re-order (VRN); }

4. for VDB from VDB1 to VDBN in VDBList do{ 5. sort(VDBN); //low to high

6. re-order (VDBN); }

7. for ( i=0; i<=N; i++) {

8. VIR [i];

9. rent = VIR [i] + random*value; } 10. if (Bidder not in BidderList) then 11. pay VIR[i] to Vendorsi;

12. submit jobi to Vendorsi; 13. else

14. if (failure < threshold) then

15. While ( rent <= other bid highest rent )do { 16. rent = bid highest rent + random*value; 17. if ( rent > job’s profit) then

18. initialize rent; failure value count; 19. Authentication = 0; break; 20. else 21. Authentication = 1; break; 22. end if } 23. else 24. Authentication =2; 25. end if 26. if (Authentication == 1) then 27. pay rent to vendorsi; 28. submit jobs to vendorsi; 29. elseif (Authentication ==2) then 30. for ( i=0; i<=N; i++){

31. pay direct buy price to vendorsi; 32. submit jobs to vendorsi;} 33. end if

34. end if

(44)

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.

(45)

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:

∑ 𝐵𝑢𝑑𝑔𝑒𝑡𝑖

𝑛

𝑖=1 (12)

If the budget of user is limited, cloud providers could provide relative to the price of resource, so that the user cannot require more computing resource from cloud providers; otherwise, the users has to increase the budget to get more computing resource from cloud providers, the constrain of auction process is defined as:

∑ 𝐶𝑜𝑠𝑡𝑟𝑒𝑛𝑡𝑖+ 𝑛 𝑖=1 ∑ 𝐶𝑜𝑠𝑡𝑣𝑚𝑗 𝑛 𝑗=1 ≤ ∑ 𝐵𝑢𝑑𝑔𝑒𝑡𝑘 𝑛 𝑘=1 (13)

The reversed auction algorithm is similar to the general auction algorithm. In the 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.

(46)

37

Chapter 4. Experiments

In this chapter, we introduce the experimental environment in section 4.1. Section 4.2 describes the approach proposed of performance comparison with general auction. Section 4.3 describes the approach proposed of performance comparison with reversed auction.

4.1 Experimental Environment

In this work, the experimental environment adopts Ubuntu-11.10-server-amd64, ruby1.9.1 as a communication information tool between clouds, Openstack as the cloud platform to manage virtual machines provisioning. Table 4-1 shows characteristics of the development platform.

Table 4-1. Characteristics of the development platform

Operating System Ubuntu-11.10-server-amd64

Development tools Linux vim (text editor)

Open source cloud platform OpenStack Nova project-2011.3 (Diablo)

Development of language Ruby1.9.1、Shell

This work adopts 9 different physical machines as a heterogeneous computing environment, as shown in Table 4-2.

(47)

38

Table 4-2. Characteristics of physical and virtual machines Machine Type: Physical Machine

Clouds CPU cores Memory Storage

Cloud1 16 6G 146G Cloud2 16 26G 446G Cloud3 8 18G 146G Cloud4 4 1G 146G Cloud5 16 6G 292G Cloud6 16 12G 292G Cloud7 16 30G 292G Cloud8 16 38G 292G User1 1 1G 146G

Machine Type: Virtual Machine

CPU cores Memory Storage

m1.tiny 1 512M 10G

In our experimental scenario, there are eight physical machines (PMs). We use the least resource dependent VM in OpenStack (m1.tiny), six PMs (Cloud 1, 2, 3, 4, 7 and 8) as cloud

(48)

39

vendors, and two PMs (cloud 5, 6) as bidders. There are ten to fifty jobs to be executed on both PM’s. We set Cloud1, 2, 7, 8 hosted 14 VMs, Cloud3 hosted 6 VMs and Cloud4 hosted 4 VMs. We set the limited rent is 1300. This study adopts FCFS and HPFS (the highest profit first solves) scheduling approaches for performance evaluation.

In general auction, we assume that each job has deadline, runtime, profit and penalty variables, each bidding time has the time limit and all cloud vendors have their initial rents and resource utilization. Available resource from different cloud vendors are bided by Cloud 5 and Cloud 6. In the experimental, when resource of cloud vendors are the same size, we take a random way to select resource; otherwise, resource of cloud vendors are sorted from large to small by cloud providers selected in bidding time. We set the number of failures is two and the bidding time is one minute. Performance is evaluated by comparing our proposed auction mechanism and RBMA (Reverse Batch Matching Auction) [14] one. We also implement two JAS and the RBMA; we take Cloud1 as JAS1, Cloud5 as JAS2 and Cloud6 as RBMA.

In reversed auction, we set that each job attaches the budget parameter; we also assume the users (User1) has one hundred jobs that could be competed by cloud providers (Cloud5 and Cloud6). We set the limited rent is 850; this value is difference with general auction because the user’s budget less than job’s profit. RA [15] use vast conditions in reversed auction process, but they don’t considering deadline that must lower than or equal the sum of

(49)

40

job’s execution time and bid time; therefore, jobs of the user may not be finished before deadline. Performance is evaluated by comparing our proposed reversed auction mechanism and reversed auction (RA) one.

4.2 Performance Analysis of General Auction

Mechanism

In the FCFS scheduling approach, the performance comparison between the JAS and the RBMA is shown in Figure 4-1 and Figure 4-2. In this experiment, this study assumes that all cloud vendors have enough resources leasing from cloud providers. The auction mechanism in cloud6 adopts the RBMA approach, which makes decision according to the percentage of funds. In our proposed auction-based mechanism, JAS only takes a short fixed time (2 minutes in this experiment) for bidding. When JAS fails to bid resources, it will directly purchase resources from cloud vendors according to the minimum price. When the rent is greater than job’s profit, the bidding fails.

(50)

41

Figure 4-1. JAS adopting FCFS

Although RBMA could win in competing resources, after a number of successful, cloud providers has no rent for leasing resources to perform remaining jobs, so that total profit in RBMA is negative; due to no bidders appear, the JAS could directly purchase resources from cloud vendors according to the minimum price, so that the JAS could lease more resources with cheaper prices (because the JAS has enough rent). The rent paid by RBMA is higher than that by JAS. It may decrease the profit of cloud providers and waste more expenditure. JAS in the all part is outstanding than RBMA, as shown in Figure 4-2.

Penalty Rent Job's Profit Total Profit 0 500 1000 1500 2000 2500 10 20 30 40 50 Cost Number of Jobs 2000-2500 1500-2000 1000-1500 500-1000 0-500

(51)

42

Figure 4-2. RBMA adopting FCFS

In the HPFS scheduling approach, the performance comparison between the JAS and the RBMA is shown in Figure 4-3 and Figure 4-4. When the number of jobs 10 to 40, the total profit is better than the FCFS, due to JAS can finish the higher job’s profit firstly. But when no resources can lease (number of jobs 50), the completed jobs are limited so that the HPFS results is the same with FCFS. Due to the JAS spend less rent for leasing resources, so the JAS can lease more resources than the RBMA, the completed jobs also better than the RBMA; therefore, the JAS in the all part is outstanding than RBMA, as shown in Figure 4-3.

Penalty Rent Job's Profit Total Profit -200 300 800 1300 1800 2300 10 20 30 40 50 Cost Number of Jobs 2300-2500 1800-2300 1300-1800 800-1300 300-800 -200-300

(52)

43

Figure 4-3. JAS adopting HPFS

Because the RBMA approach tries to increase the income of cloud providers, it may spend more rent for leasing more resources from other cloud vendors, as shown in Figure 4-3. However, the final profit by adopting JAS is greater than that by adopting RBMA. With limited rent, cloud providers could lease more resources with cheaper prices is important, so that cloud providers also could perform more jobs. Due to the RBMA approach spend more rent for win in the bidding process, so that the RBMA has no available rent to keep bid. Due to bid approach in JAS is weak, so that in this study we constrain the available rent to avoid fail for leasing resource.

Penalty Rent Job's Profit Total Profit 0 500 1000 1500 2000 2500 10 20 30 40 50 Cost Number of Jobs 2000-2500 1500-2000 1000-1500 500-1000 0-500

(53)

44

Figure 4-4. RBMA adopting HPFS

In the FCFS scheduling approach, the performance comparison by JAS1, JAS2 and RBMA is shown in Figure 4-5, Figure 4-6 and Figure 4-7. When the JAS loses bidding with the RBMA, the JAS could directly purchase resources from cloud vendors according to the minimum price, at this time there are two JAS competing resources with each other. When the RBMA has no available rent, the remaining resources from cloud vendors could bid by two JAS; both of the JAS’s rent (expenditure) is greater than job’s profit (income) in bidding process, and also cloud vendors has no minimum resources that the JAS can purchasing, therefore both of the JAS cannot leasing resources so that one of JAS could lease more resources with cheaper prices (because another JAS win in bidding).

Penalty Rent Job's Profit Total Profit 0 500 1000 1500 2000 2500 10 20 30 40 50 C ost Number of Jobs 2000-2500 1500-2000 1000-1500 500-1000 0-500

(54)

45

The JAS1 is winner in bidding (the JAS2 is loser) so that the rent is higher than the JAS2 (they competes with each other at first bidding time). When the number of jobs increasing, the JAS1 and JAS2 cannot leasing resources from cloud vendors. Due to the JAS1 can leasing fewer resources than the JAS2, causing the completed jobs is limited, the penalty rises and the total profit drops, as shown in Figure 4-5.

Figure 4-5. JAS1 adopting FCFS

Due to fail in bidding (at first time), the JAS2 could directly purchase resources from cloud vendors according to the minimum price. When the number of jobs increasing, the JAS2 can leasing more resources than the JAS1, causing the completed jobs is limited, the

Penalty Rent Job's Profit Total Profit -800 -600 -400 -200 0 200 400 600 800 1000 1200 10 20 30 40 50 Cos t Number of Jobs 1000-1200 800-1000 600-800 400-600 200-400 0-200 -200-0 -400--200 -600--400 -800--600

(55)

46

penalty rises and the total profit drops, as shown in Figure 4-6. When JAS cannot lease resources result is the same observation, also shown in Figure 4-5.

Figure 4-6. JAS2 adopting FCFS

Because the RBMA approach tries to increase the income of cloud providers, it may spend more rent for leasing more resources from other cloud vendors; therefore, the RBMA can lease resources is limited, but the number of leasing resources are better than two JAS. However, the final profit by adopting JAS2 is greater than that by adopting RBMA. The same observation is also shown in Figure 4-2.

Penalty Rent Job's Profit Total Profit -200 0 200 400 600 800 1000 1200 10 20 30 40 50 Cost Number of Jobs 1000-1200 800-1000 600-800 400-600 200-400 0-200 -200-0

(56)

47

Figure 4-7. RBMA adopting FCFS

We adopt fix value add random value as job’s profit ensure that the rent is fluctuation rather than linear growth, so that after the JAS compete resources with each other, the JAS may be a winner or loser at first bidding. In the HPFS scheduling approach, the JAS2 is winner in bidding (the JAS1 is loser) so that the rent is higher than JAS1 (they competes with each other at first bidding time).

In the HPFS scheduling approach, the performance comparison by JAS1, JAS2 and RBMA is shown in Figure 4-8, Figure 4-9 and Figure 4-10. When the number of jobs increasing, the JAS1 can leasing the cheapest resources than the JAS2, causing the completed jobs is limited, the penalty rises and the total profit drops (number of jobs 30 to 50). When the

Penalty Rent Job's Profit Total Profit -200 0 200 400 600 800 1000 1200 1400 1600 1800 10 20 30 40 50 Cost Number of Jobs 1600-1800 1400-1600 1200-1400 1000-1200 800-1000 600-800 400-600 200-400 0-200 -200-0

(57)

48

number of jobs 10 to 30, the total profit is better than the FCFS, due to JAS can finish the higher job’s profit firstly, JAS1 in the all part is outstanding than the JAS2 and RBMA, as shown in Figure 4-8.

Figure 4-8. JAS1 adopting HPFS

The total profit of JAS2 is rise when number of jobs 10 to 20, but the total profit is drop when number of jobs 20 to 50, that is after the JAS loses bidding with the RBMA, at this time there are two JAS competing resources with each other, both of the JAS’s rent (expenditure) is greater than job’s profit (income) in bidding process, and also cloud vendors has no minimum resources that the JAS can purchasing, therefore JAS2 cannot finish remaining jobs, so that

Penalty Rent Job's Profit Total Profit 0 200 400 600 800 1000 1200 1400 10 20 30 40 50 Cost Number of Jobs 1200-1400 1000-1200 800-1000 600-800 400-600 200-400 0-200

(58)

49

the total profit is negative, as shown in Figure 4-9.

Figure 4-9. JAS2 adopting HPFS

The total profit of RBMA is rise when number of jobs 10 to 20, but the total profit is drop when number of jobs 20 to 50, due to the RBMA spend more rent for leasing more resources from other cloud vendors; therefore, the RBMA can lease resources is limited. However, the total profit by adopting RBMA is greater than the JAS2 but less than the JAS1. The same observation is also shown in Figure 4-4.

Penalty Rent Job's Profit Total Profit -400 -200 0 200 400 600 800 1000 1200 10 20 30 40 50 Cost Number of Jobs 1000-1200 800-1000 600-800 400-600 200-400 0-200 -200-0 -400--200

(59)

50

Figure 4-10. RBMA adopting HPFS

4.3 Performance Analysis of Reversed Auction

Mechanism

Figure 4-11 shows the profit and budget hosted by the user. We also adopt fix value add random value as job’s profit and budget. The job’s profit must greater than budget ensure that the user can earn profit.

Penalty Rent Job's Profit Total Profit 0 200 400 600 800 1000 1200 1400 1600 1800 10 20 30 40 50 C ost Number of Jobs 1600-1800 1400-1600 1200-1400 1000-1200 800-1000 600-800 400-600 200-400 0-200

(60)

51

Figure 4-11. Job’s profit and budget of user

Due to the user has no computing resource to perform the jobs, so the user acts an auctioneer asking for cloud provider competes the jobs. The user aim to find computing resources doesn’t exceed budget; otherwise, the user cannot make profit. Because the cloud providers has limited computing resources, so that causing the user has no computing resources to perform jobs that the user must to pay penalty, as shown in Figure 4-12.

0 10 20 30 40 50 60 70 80 90 100 1 11 21 31 41 51 61 71 81 91 Cost Number of Jobs Job's Profit Budget

(61)

52

Figure 4-12. Results by adopting FCFS or HPFS

The jobs is competed by cloud providers with each other, due to cloud providers lease resources is limited, so that the user cannot finish all jobs, in term of job’s profit and budget is the same as shown in Figure 4-13.

0 500 1000 1500 2000 2500 3000 3500 4000

Total Profit Job's Profit Budget Rent Penalty 76 3670 2714 2714 880 Cost The User

(62)

53

Figure 4-13. Results by adopting FCFS or HPFS

Cloud provider must consider own resources whether could perform jobs before deadline; therefore, cloud providers will compete jobs to the user, and not causing penalty for cloud providers. After cloud provider wins in competing jobs from the user, the cloud providers will lease resource from cloud vendors, JAS is indeed better than RA (because RA has no more available rent to lease resource), as shown in Figure 4-14.

0 15 30 45 60 75 90 105 120

Completed Jobs VM Numbers

78 78 Num b er s The User

(63)

54

Figure 4-14. Comparison by adopting FCFS

JAS and RA competes the jobs are limited by the user’s budget. Cloud providers wants win for competing jobs, the rent paid by the user cannot higher than budget; therefore, cloud providers have to consider how to win for competing jobs and making more incomes. In order to reach the user’s requirement, cloud providers must take choosing jobs into account ensure that could making profit from the user, the completed jobs and leasing number of VM with JA is almost the same than RA, as shown in Figure 4-15.

0 200 400 600 800 1000 1200 1400 1600

Total Profit Job's Profit Rent

871 1411 540 482 1303 821 Cost JAS RA

(64)

55

Figure 4-15. Comparison by adopting FCFS

Due to cloud provider competes the job with higher budget firstly. When cloud provider has no available resources, they need to lease resource from cloud vendors with limited rent. But RA wins for leasing resources with higher rent; therefore, RA pays rent to cloud vendors is higher than JAS, the income of JAS is outstanding than RA, as shown in Figure 4-16.

0 15 30 45 60 75 90

Completed Jobs VM Numbers

41 27 37 23 Num b er s JAS RA

(65)

56

Figure 4-16. Comparison by adopting HPFS

With limited rent, RA spend more rent for leasing resources so that the remaining rent cannot pay to cloud vendors (fail to lease resource). So that in term of completed jobs and VM numbers is lower than JAS, as shown in Figure 4-17.

0 200 400 600 800 1000 1200 1400 1600

Total Profit Job's Profit Rent

855 1475 620 412 1239 827 Cost JAS RA

(66)

57

Figure 4-17. Comparison by adopting HPFS

0 10 20 30 40 50 60 70 80

Completed Jobs VM Numbers

45 31 33 19 Num b er s JAS RA

(67)

58

Chapter 5. Conclusions and Future works

5.1 Conclusions

In order to solve the auction problem in a multiple-cloud environment, this thesis proposes an auction-based approach to lease resources from other cloud vendors. The cloud provider must ensure that income is more than expenditure; otherwise, the cloud provider will lose money. Cloud providers with acquired resources from vendors are more profitable and reduce SLA violations. With limited resources, cloud providers may fail to handle mass jobs and may cause SLA violations. The goal of our propose auction mechanism is to make the cloud provider to earn more profits and receive more jobs.

Experimental results show that our proposed mechanism outperforms other proposed one in the income and completed jobs with general and reversed auction, and also spend less rent for competing resources than other proposed one. According to the experimental results, this thesis proposed the mechanism could improve the income of cloud providers than other proposed with general and reversed auction.

In general, an efficient auction mechanism could improve resource utilization and increasing profit in a multiple-cloud environment.

5.2 Future works

(68)

59

some the factors of cost need to be considered, e.g., the power consumption of CPU, Memory, storage disk, I/O devices and so on. In future works, we will adopt these factors as cost for achieving the real environment in cloud computing.

The following issues are in our future considerations: 1. In order to maximize the profit, we will adopt the prediction models to deal with user’s requests for ready more resources. 2. In order to maximize available resources, we plan to adopt several job scheduling approaches, such as SJF (shortest job first), and RR (round-robin), for evaluating the performance of our proposed approach.

(69)

60

References

[1] R. Buyya, C. Yeo, S. Venugopal, “Market-oriented cloud computing: Vision, hype, and reality for delivering it services as computing utilities,” in Proceedings of the 10th IEEE international conference on High performance Computing and Communications. IEEE, pp. 5-13, September 2008.

[2] A. Andrzejak, M. Arlitt, J. Rolia. “Bounding the resource savings of utility computing models,” Technical Report HPL-2002-339, Hewlett Packard Laboratories.I. Pratt, and A. Warfield, “Xen and the art of virtualization,” in Proceedings of the nineteenth ACM symposium on Operating systems principles, p. 177, 2003.

[3] V. C. Emeakaroha, I. Brandic, M. Maurer, I. Breskovic, “SLA-Aware Application Deployment and Resource Allocation in Clouds,” in Proceedings of the IEEE 35th Computer Software and Applications Conference Workshops (COMPSACW), pp. 298-303, July 2011.

[4] P. Mell, T. Grance. "The NIST Definition of Cloud Computing," National Institute of Standards and Technology.

[5] S. Zaman, D. Grosu, “Combinatorial Auction-Based Dynamic VM Provisioning and Allocation in Clouds,” in Proceedings of the 2011 IEEE Third International Conference on Cloud Computing Technology and Science, pp. 107-114. 2011.

數據

Figure 4-17. Comparison by adopting HPFS......................................................................
Table 4-1 Characteristics of the development platform ....................................................
Figure 2-1 NIST defines model of cloud computing [4]    on-demand self-service
Figure 2-2. Full virtualization
+7

參考文獻

相關文件

Due to the increase in the rent of housing, rising prices in interior decoration, summer clothing and footwear, and fresh vegetables, the indices of Rent and housing expenses,

Due to the increase in housing rent, rising prices in outbound package tours and air tickets during summer holidays, as well as in gasoline that was affected by price increase

As a result of rising prices in men’s and women’s clothing and footwear, outbound package tours and rent for housing, indices of Clothing and footwear, Other goods and services and

Due to upward adjustment of the fuel clause of electricity charges, rising prices in hairdressing and beauty services; fish, shellfish and other seafood, the indices of Rent and

Attributable to increasing rent of housing and expenses of house maintenance, rising prices in summer clothing and footwear, as well as fresh vegetables, the indices of Clothing

Attributable to the upward adjustment of school tuition fees in the new academic year; higher housing rent and expenses of house maintenance; and rising prices in fish and

Due to significant price declines in women’s clothing, rent of housing and electric household appliances, the indices of CLOTHING AND FOOTWEAR, RENT AND HOUSING EXPENSES and

In consideration of the Government agreeing to grant a tenancy of the School Premises at a nominal rent to the IMC and providing financial subsidy, assistance and