36
SEMINAR REPORT OPTIMIZATION OF RESOURCE PROVISIONING COST IN CLOUD COMPUTING Submitted by ROSE MARIA DOMINIC Register Number:12018168 in partial fulfillment for the award of the degree of Bachelor of Technology in COMPUTER SCIENCE AND ENGINEERING of MAHATMA GANDHI UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING St. Joseph’s College of Engineering and Technology, Palai Choondacherry PO, Bharananganam -686 579 November 2015

Optimization of Resource Provisioning Cost in Cloud Computing

Embed Size (px)

DESCRIPTION

A small seminar on Cloud Computing

Citation preview

Page 1: Optimization of Resource Provisioning Cost in Cloud Computing

SEMINAR REPORT

OPTIMIZATION OF RESOURCE

PROVISIONING COST IN CLOUD

COMPUTING

Submitted by

ROSE MARIA DOMINIC

Register Number:12018168

in partial fulfillment for the award of the degree

of

Bachelor of Technology

in

COMPUTER SCIENCE AND ENGINEERING

of

MAHATMA GANDHI UNIVERSITY

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

St. Joseph’s College of Engineering and Technology, Palai

Choondacherry PO, Bharananganam -686 579

November 2015

Page 2: Optimization of Resource Provisioning Cost in Cloud Computing

St.Joseph’s College of Engineering and Technology,

Palai

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Certificate

This is to certify that the report entitled ”Optimization of Resource Provi-

sioning Cost In Cloud Computing ” presented by Rose Maria Dominic,

12018168 to the Department of Computer science and Engineering, St. Joseph’s

College of engineering and Technology, Palai during NOVEMBER,2015 in partial

fulfilment of the requirements of the degree of Bachelor of Technology in Computer

Science and Engineering from Mahatma Gandhi University, Kottayam, Kerala is an

authentic one.

Seminar Guide Seminar Coordinator HoD In-Charge

Ms. Neena Alex Mr. Arun Madhu Ms. Smitha Jacob

Page 3: Optimization of Resource Provisioning Cost in Cloud Computing

Abstract

In cloud computing, the cloud providers offers the cloud consumers two types of

provisioning plans for computing resources namely the reservation and on demand

plan. By taking a general view, the cost of utilizing computing resources which are

provisioned by the reservation plan is cheaper as compared to the resources provi-

sioned by the on demand plan only because the cloud provider has to pay in advance.

With the reservation plan the consumer can reduce the total resource provisioning

cost. However the best advance reservation of resources is difficult to be achieved

due to the uncertainty of the consumers future demand and the providers resource

prices. To address this problem an optimal cloud resource provisioning (OCRP)

algorithm is proposed by formulating a stochastic programming model. This OCRP

algorithm can provision the computing resources for being used in the multiple pro-

visioning stages as well as a long term plan. The demand and price uncertainty are

considered in OCRP. This seminar looks upon the different approaches that can help

to obtain the solution of the OCRP algorithm are considered which include stochas-

tic programming model, sample average approximation and Benders decomposition.

Numerical studies are extensively performed in which the results clearly show that

with the use of the OCRP algorithm the cloud consumer can successfully minimize

the total cost of resources provisioned in the cloud computing environment.

Page 4: Optimization of Resource Provisioning Cost in Cloud Computing

Acknowledgements

First of all I thank God Almighty who gave me the inner strength,source and ability

to present the seminar successfully,without which all my efforts would have been in

vain. I express my sincere gratitude to our chairman,Msgr. Philip Njaralakkattu and

our project director, Dr. P.J. George for giving us the opportunity to do the seminar.

I am grateful to our principal, Dr. C.J. Joseph for providing us good guidance to

do it in the required way. We are thankful to Ms.Smitha Jacob HOD-In Charge

of Computer Science and Engineering, for her valuable advice and motivation. I

wholeheartedly thank our seminar coordinators Mr. Arun Madhy(Asst. Professor,

Dept. of Computer Science and Engineering) and Mr. Sarju S (Asst.Professor, Dept

of Computer Science and Engineering) for their valuable advice and support. I also

extend my sincere thanks to my seminar guide Ms. Neena Alex (Asst. Professor,

Dept of Computer Science and Engineering) for her valuable advice and support. I

convey my sincere thanks to all other faculties for their help and encouragement. I

thank all my friends who have helped me during this seminar with their inspiration

and cooperation. I thank my parents for their constant encouragement and enduring

support which was inevitable for the success of this venture. Once again I convey

my gratitude to all those persons who have directly or indirectly influenced this

seminar.

iv

Page 5: Optimization of Resource Provisioning Cost in Cloud Computing

Contents

Abstract iii

Acknowledgements iv

1 Introduction 1

2 Literature Survey 4

2.1 Resource Provisioning Options . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Traditional Resource Access . . . . . . . . . . . . . . . . . . . . . . . 5

2.3 Resource Provisioning . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.4 Advance Reservation . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.5 Multi - level Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.6 Resource Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 System Model and Assumption 11

3.1 Cloud Computing Environment . . . . . . . . . . . . . . . . . . . . . 11

3.2 Provisioning Plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.3 Provisioning Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.4 Provisioning Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.5 Reservation Contracts . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.6 Uncertainty of Parameters . . . . . . . . . . . . . . . . . . . . . . . . 17

3.7 Provisioning Costs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Algorithms/Techniques Used 19

4.1 Stochastic Programming Model . . . . . . . . . . . . . . . . . . . . . 19

4.1.1 Stochastic Integer Programming . . . . . . . . . . . . . . . . . 19

v

Page 6: Optimization of Resource Provisioning Cost in Cloud Computing

Contents vi

4.2 Bender’s Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.3 Sample Average Approximation . . . . . . . . . . . . . . . . . . . . . 22

5 Performance Evaluation 23

5.1 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.1.1 Resource Estimation . . . . . . . . . . . . . . . . . . . . . . . 23

5.1.2 Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.2 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.3 Implementation Issues . . . . . . . . . . . . . . . . . . . . . . . . . . 25

6 Conclusions 27

Bibliography 28

December 13, 2015

Page 7: Optimization of Resource Provisioning Cost in Cloud Computing

List of Figures

3.1 System Model of the Cloud Computing Environment . . . . . . . . . 12

3.2 Transition of Provisioning Phases . . . . . . . . . . . . . . . . . . . . 14

3.3 Relationship between provisioning phases and provisioning stages . . 16

3.4 Example of advance reservations with 3-month K1 and 6-month K2

contracts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.1 Flowchart of Bender’s Decomposition Model . . . . . . . . . . . . . . 21

vii

Page 8: Optimization of Resource Provisioning Cost in Cloud Computing

List of Tables

viii

Page 9: Optimization of Resource Provisioning Cost in Cloud Computing

Chapter 1

Introduction

Cloud computing is a large-scale distributed computing paradigm in which a pool of

computing resources is available to users (called cloud consumers) via the Internet.

Computing resources, e.g., processing power, storage, software, and network band-

width, are represented to cloud consumers as the accessible public utility services.

Infrastructure-as-a-Service (IaaS) is a computational service model widely applied

in the cloud computing paradigm. In this model, virtualization technologies can

be used to provide resources to cloud consumers. The consumers can specify the

required software stack, e.g., operating systems and applications; then package them

all together into virtual machines (VMs). The hardware requirement of VMs can

also be adjusted by the consumers. Finally, those VMs will be outsourced to host

in computing environments operated by third-party sites owned by cloud providers.

A cloud provider is responsible for guaranteeing the Quality of Services (QoS) for

running the VMs. Since the computing resources are maintained by the provider,

the total cost of ownership to the consumers can be reduced.

In cloud computing, a resource provisioning mechanism is required to supply

cloud consumers a set of computing resources for processing the jobs and storing

the data. Cloud providers can offer cloud consumers two resource provisioning

plans, namely short-term on-demand and long-term reservation plans. Amazon EC2

and GoGrid are, for instances, cloud providers which offer IaaS services with both

plans. In general, pricing in on-demand plan is charged by pay-per-use basis (e.g.,

1 day). Therefore, purchasing this on-demand plan, the consumers can dynamically

1

Page 10: Optimization of Resource Provisioning Cost in Cloud Computing

Chapter 1. Introduction 2

provision resources at the moment when the resources are needed to fit the fluctuated

and unpredictable demands. For reservation plan, pricing is charged by a onetime

fee (e.g., 1 year) typically before the computing resource will be utilized by cloud

consumer. With the reservation plan, the price to utilize resources is cheaper than

that of the on-demand plan. In this way, the consumer can reduce the cost of

computing resource provisioning by using the reservation plan. For example, the

reservation plan offered by Amazon EC2 can reduce the total provisioning cost up

to 49 percent when the reserved resource is fully utilized (i.e, steady-state usage).

With the reservation plan, the cloud consumers a priori reserve the resources in

advance. As a result, the underprovisioning problem can occur when the reserved

resources are unable to fully meet the demand due to its uncertainty. Although this

problem can be solved by provisioning more resources with on-demand plan to fit the

extra demand, the high cost will be incurred due to more expensive price of resource

provisioning with on-demand plan. On the other hand, the overprovisioning problem

can occur if the reserved resources are more than the actual demand in which part

of a resource pool will be underutilized. It is important for the cloud consumer to

minimize the total cost of resource provisioning by reducing the on-demand cost and

oversubscribed cost of underprovisioning and overprovisioning. To achieve this goal,

the optimal computing resource management is the critical issue.

This seminar talks about, minimizing both underprovisioning and overprovi-

sioning problems under the demand and price uncertainty in cloud computing en-

vironments is our motivation to explore a resource provisioning strategy for cloud

consumers. In particular, an optimal cloud resource provisioning (OCRP) algorithm

is proposed to minimize the total cost for provisioning resources in a certain time

period. To make an optimal decision, the demand uncertainty from cloud consumer

side and price uncertainty from cloud providers are taken into account to adjust

the tradeoff between on-demand and oversubscribed costs. This optimal decision is

obtained by formulating and solving a stochastic integer programming problem with

multistage recourse. Benders decomposition and sample-average approximation are

also discussed as the possible techniques to solve the OCRP algorithm. Extensive

numerical studies and simulations are performed, and the results show that OCRP

December 13, 2015

Page 11: Optimization of Resource Provisioning Cost in Cloud Computing

Chapter 1. Introduction 3

can minimize the total cost under uncertainty.

The major contributions of this seminar lie in the mathematical analysis which

can be summarized as follows:

• The optimal cloud resource provisioning algorithm is proposed for the virtual

machine management. The optimal cloud resource provisioning algorithm is

proposed for the virtual machine management. The optimization formula-

tion of stochastic integer programming is proposed to obtain the decision of

the OCRP algorithm as such the total cost of resource provisioning in cloud

computing environments is minimized. The formulation considers multiple

provisioning stages with demand and price uncertainties.

• The solution methods based on Benders decomposition and sample-average

approximation algorithms are used to solve the optimization formulation in

an efficient way.

• The performance evaluation is performed which can reveal the importance of

optimal computing resource provisioning. The performance comparison among

the OCRP algorithm and the other approaches is also presented.

The proposed mathematical analysis will be useful to the cloud consumers (e.g.,

organization and company) for the management of virtual machines in cloud com-

puting environment. The proposed OCRP algorithm will facilitate the adoption of

cloud computing of the users as it can reduce the cost of using computing resource

significantly.

December 13, 2015

Page 12: Optimization of Resource Provisioning Cost in Cloud Computing

Chapter 2

Literature Survey

In this chapter, we are going to take a look at the related works in the field of cloud

computing which helps in the optimization of resource provisioning cost in cloud

computing.

2.1 Resource Provisioning Options

Scientists in many fields such as high - energy physics, earthquake science and astron-

omy are developing large scale workflows. These workflows contain millions of short

- duration serial tasks and require thousands of hours of total CPU time. Acquir-

ing the computational resources needed to execute theses workflows in a reasonable

amount of time is one of the major challenges facing the workflow developers.

Resources for large-scale workflows are typically acquired through a Grid. Grids

are composed of independent sites connected via high-speed networks that provide

computational resources in the form of supercomputers or space-shared clusters.

Users access grid resources by submitting batch jobs via grid protocols to a local

resource manager (LRM) at each site. These jobs are provided with best-effort

quality of service using a queue-based provisioning model.

This approach to resource access often results in poor performance for workflow

applications. The queuing and scheduling delays for grid sites can dramatically

increase job runtimes, and many sites implement scheduling policies that are not

favorable to workflows containing many short, serial tasks.

4

Page 13: Optimization of Resource Provisioning Cost in Cloud Computing

2.2. Traditional Resource Access 5

In order to avoid or minimize job delays, several resource provisioning options

are available to workflow applications. Advance reservations enable users to allocate

resources for their exclusive use for a given period of time. This technique reduces

queuing delays by eliminating competition for shared resources. Multi-level schedul-

ing is a provisioning technique that enables user-level resource managers to control

jobs and resources. This approach reduces queuing delays by reserving resources,

and reduces scheduling delays by allowing scheduling policies to be managed at the

application level. Infrastructure as a Service (IaaS) is a provisioning technique that

has developed to support virtual machine grid computing and cloud computing. It

allows users to instantiate complete, virtualized execution environments on remote

clusters. This capability can be combined with multi-level scheduling to create flex-

ible and efficient platforms for workflow execution.

2.2 Traditional Resource Access

The traditional method of accessing resources on the grid is to submit application

jobs directly to a sites local resource manager (LRM). Although this method works

well for many different types of applications, it is often inefficient for large-scale

workflow applications that contain a large number of shortduration, serial jobs. A

single workflow for the CyberShake application, for example, contains more than

840,000 jobs with an average runtime of less than 30 seconds each. Similarly, a

typical workflow for the Montage application contains more than 4000 jobs with

durations of less than a minute each.

Submitting such jobs directly to a sites LRM is not ideal for several reasons.

First, because LRMs support many advanced features, such as parallel jobs, mul-

tiple queues, reservations, and job prioritization, they often have large scheduling

overheads and long scheduling intervals. For particularly short jobs the scheduling

delay is often longer than the runtime of the job itself. In addition, if the scheduling

interval is longer than actual runtime of the job, then the effective runtime of the

job experienced by the application will be increased. In workflows with many short-

running jobs these overheads result in low throughput and long workflow runtimes.

December 13, 2015

Page 14: Optimization of Resource Provisioning Cost in Cloud Computing

2.3. Resource Provisioning 6

Second, on shared clusters competition with other users for access to resources

can produce long queue times. This is problematic for workflow applications because

many workflow jobs must wait until the jobs they depend on have completed before

they can be submitted to the queue. This causes queue times to be added at every

level in the workflow and can significantly increase overall workflow runtime.

Finally, grid sites often have scheduling policies that are unfriendly to workflow

jobs. Many sites prioritize large parallel jobs over smaller serial jobs, leading to

increases in queuing delays. Some sites also place an upper limit on number of

queued jobs per user, which limits the number of workflow jobs that can be executed

concurrently.

2.3 Resource Provisioning

The traditional approach to resource access in grid environments is based on a

queuing model that provides best-effort quality of service. In this model jobs are

queued until they can be matched with appropriate resources for execution. This

approach ensures that access to resources is shared equally and fairly among all users

of the system, but can result in long delays when competition between users forces

jobs to wait for resources to become available. For applications with only one job, or

with a few jobs that can be submitted in parallel, these delays are encountered only

once. For workflow applications with complex job hierarchies and interdependencies

the delays are encountered many times.

One way to improve quality of service for workflow applications is to use a

model for resource allocation based on provisioning. With a provisioning model,

resources are allocated for the exclusive use of a single user for a given period of

time. This minimizes queuing delays because the users jobs no longer compete with

other jobs for access to resources. Furthermore, in contrast to the queuing model

where resource allocation and scheduling occur on a per-job basis, the provisioning

model allows resources to be allocated once and used for multiple jobs.

Provisioning is slightly more complex than queuing in that it requires users

to make more sophisticated resource allocation decisions. There are two policies

December 13, 2015

Page 15: Optimization of Resource Provisioning Cost in Cloud Computing

2.4. Advance Reservation 7

that can be used to guide these decisions. In static provisioning the application

allocates all resources required for the computation before any jobs are submitted,

and releases the resources after all the jobs have finished. This method assumes

that the number of resources required is known or can be predicted in advance. In

dynamic provisioning resources are allocated by the system at runtime. This allows

the pool of available resources to grow and shrink according to the changing needs

of the application. Dynamic provisioning does not require advanced knowledge of

resource needs, but it does require policies for acquiring and releasing resources. It

also relies on the ability of the provisioning system to acquire resources on-demand

when they are needed, which may not be possible if the resources are shared with

other users.

2.4 Advance Reservation

Advance reservation is a resource provisioning mechanism supported by many batch

schedulers. Users create advance reservations by requesting slots from the batch

scheduler that specify the number of resources to reserve and the start and end

times of the reservation. During the reservation period the scheduler only runs jobs

that belong to the user on the reserved resources.

Although batch schedulers used by many resource providers have advance reser-

vation features, few providers support the use of reservations. Singh, conducted a

survey of advance reservation capabilities at several grid sites. They discovered that

50 percent of the sites surveyed did not support reservations at all, and that most

of the sites that did support reservations required administrator assistance to create

them. Only a few sites allowed users to create their own reservations. This lack of

support makes using advance reservations time-consuming and cumbersome.

Scheduler-based advance reservations also increase resource usage costs. In many

grid environments these costs are measured in service units. Users of advance reser-

vations are typically charged a premium for dedicated access to resources. These

premiums can be 20 percent to 100 percent above normal costs. Furthermore, users

are often forced to pay for the entire reservation, even if they are not able to use

December 13, 2015

Page 16: Optimization of Resource Provisioning Cost in Cloud Computing

2.5. Multi - level Scheduling 8

it all (e.g. if there is a failure that causes the application to abort, or if the actual

runtime of the application is shorter than predicted).

An alternative to scheduler-based advance reservations is the use of probabilistic

advance reservations. In this method reservations are made based on statistical

estimates of queue times. The estimates allow jobs to be submitted with a high

probability of starting some time before the desired reservation begins. This allows

virtual reservations to be created by adjusting the runtime of the job to cover both

the time between the submission of the job and the desired reservation start time,

and the duration of the reservation itself.

Unlike scheduler-based reservations, probabilistic reservations do not require spe-

cial support from resource providers. However, probabilistic reservations are not

guaranteed because the actual queue delay may exceed the predicted delay, and

the final cost of a probabilistic reservation is difficult to predict because the actual

runtime of the reservation job may exceed the desired reservation time.

2.5 Multi - level Scheduling

Many of the performance issues encountered by workflow applications on the grid

arise because resource providers manage both the allocation of resources and the

scheduling and management of application jobs. In multi-level scheduling these

functions are separated, allowing a greater flexibility and more efficient resource

management. Resource providers retain authority over the leasing of resources to

users, but users are given control over application scheduling and job management.

This division is accomplished by creating personal clusters, which are temporary

pools of computational resources acquired from the resource provider but managed

by the user. Resources are acquired by submitting provisioning jobs to a grid site

using standard mechanisms. Instead of running an application program, the provi-

sioning jobs install and run guest node managers on the sites worker nodes. These

node managers are configured to contact an external resource manager controlled by

the user. The user is then able to submit jobs to an application-specific scheduler

for execution on the provisioned resources.

December 13, 2015

Page 17: Optimization of Resource Provisioning Cost in Cloud Computing

2.6. Resource Estimation 9

Multi-level scheduling lessens many of the problems that plague workflow appli-

cations on the grid. Queuing delays are minimized because resources are provisioned

and not shared, and scheduling overheads are reduced because jobs are not submitted

to the sites LRM. In addition, multi-level scheduling makes workflow applications

more attractive to remote schedulers by allowing users to make larger resource provi-

sioning requests, enabling them to compete favorably with large parallel applications

for resources.

Multi-level scheduling also enables users to control scheduling at the applica-

tion level. Application-specific schedulers can be expressly configured to minimize

overheads, and scheduling policies can be fine-tuned to fit the specific character-

istics of workflow applications. They have demonstrated some of the benefits of

using application-specific scheduling parameters for workflow execution in. In ad-

dition, control over scheduling allows users to take advantage of one of the many

task-scheduling heuristics that have been developed.

Unlike advance reservations, multi-level scheduling does not impose additional

usage costs on the user. From the perspective of the resource provider, provisioning

jobs look like normal application jobs and are charged at the normal rate. In ad-

dition, users only pay for resources that they use because provisioning jobs can be

easily cancelled to stop usage charges.

2.6 Resource Estimation

In order to provision resources for a workflow application, the resource requirements

of the application must be formally specified. In addition to the individual char-

acteristics of the resources, such as CPU architecture, memory and disk space, the

specification must include 1) the number of resources required, 2) when the re-

sources will be needed, and 3) how long the resources will be used. Developing such

a specification involves a cost/performance tradeoff for the application developer.

Acquiring extra resources can improve performance by providing more opportuni-

ties for concurrent execution, but this results in higher allocation costs and has the

potential to leave some resources underutilized. Singh et al. explore this tradeoff in

December 13, 2015

Page 18: Optimization of Resource Provisioning Cost in Cloud Computing

2.6. Resource Estimation 10

more detail in.

In current practice, resource specifications are often determined using ad-hoc

methods based on workflow parallelism, empirical testing, resource availability, or

educated guesses. These haphazard methods often produce specifications that result

in poor application performance and low resource utilization. A better solution is to

algorithmically generate specifications from workflow descriptions. The development

of algorithms and heuristics to produce high-quality resource specifications is the

subject of recent research by Huang, et al. and Byun, et al.

December 13, 2015

Page 19: Optimization of Resource Provisioning Cost in Cloud Computing

Chapter 3

System Model and Assumption

3.1 Cloud Computing Environment

As shown in Fig. 3.1, the system model of cloud computing environment consists of

four main components, namely cloud consumer, virtual machine (VM) repository,

cloud providers, and cloud broker. The cloud consumer has demand to execute

jobs. Before the jobs are executed, computing resources has to be provisioned from

cloud providers. To obtain such resources, the consumer firstly creates VMs inte-

grated with software required by the jobs. The created VMs are stored in the VM

repository. Then, the VMs can be hosted on cloud providers infrastructures whose

resources can be utilized by the VMs. In Fig. 3.1, the cloud broker is located in

the cloud consumers site and is responsible on behalf of the cloud consumer for

provision resources for hosting the VMs. In addition, the broker can allocate the

VMs originally stored in the VM repository to appropriate cloud providers. The

broker implements the OCRP algorithm to make an optimal decision of resource

provisioning.

In OCRP, there are multiple VM classes used to classify different types of VM.

Let I ⊂ N11 denote the set of VM classes. It is assumed that one VM class represents

a distinct type of jobs (e.g., one class for web application and the other for database

application). A certain amount of resources is required for running the VM, and this

required amount of resources can be different for VM in different classes. With this

resource requirement, the cloud broker can reserve computing resources from cloud

11

Page 20: Optimization of Resource Provisioning Cost in Cloud Computing

3.2. Provisioning Plans 12

Figure 3.1: System Model of the Cloud Computing Environment

providers to be used in the future according to the actual demand. This demand

can be determined as the number of created VMs. In this case, it is possible that

additional resources can be provisioned instantly from cloud providers if the reserved

resources is not enough to accommodate the actual demand.

Let J ⊂ N1 denote the set of cloud providers. Each cloud provider supplies a

pool of resources to the consumer. Let R denote the set of resource types which

can be provided by cloud providers. Resource types can be computing power (in

unit of CPU-hours), storage (in unit of GBs/month), and network bandwidth for

Internet data transfer (in unit of GBs/month). Each VM class specifies the amount

of resources in each resource type. Let bir be the amount of resource type r required

by the VM in class i ∈ I. It is assumed that every cloud provider prepares facilities,

e.g., virtualization management software, network facility, and load balancer, to

support the consumers hosting VM. Note that the key notations used in the paper

are listed in Table 2.

3.2 Provisioning Plans

A cloud provider can offer the consumer two provisioning plans, i.e., reservation

and/or on-demand plans. For planning, the cloud broker considers the reservation

plan as medium- to long-term planning, since the plan has to be subscribed in ad-

December 13, 2015

Page 21: Optimization of Resource Provisioning Cost in Cloud Computing

3.2. Provisioning Plans 13

[Table 1: List of Key Notations]

December 13, 2015

Page 22: Optimization of Resource Provisioning Cost in Cloud Computing

3.3. Provisioning Phases 14

Figure 3.2: Transition of Provisioning Phases

vance (e.g., 1 or 3 years) and the plan can significantly reduce the total provisioning

cost. In contrast, the broker considers the on-demand plan as shortterm planning,

since the on-demand plan can be purchased anytime for short period of time (e.g.,

one week) when the resources reserved by the reservation-plan are insufficient (e.g.,

during peak load).

3.3 Provisioning Phases

The cloud broker considers both reservation and on - demand plans for provisioning

resources. These resources are used in different time intervals, also called provi-

sioning phases. There are three provisioning phases: reservation, expending, and

on-demand phases. As shown in Fig. 3.2, these phases with their actions perform in

different points of time (or events) as follows. First in the reservation phase, without

knowing the consumers actual demand, the cloud broker provisions resources with

reservation plan in advance. In the expending phase, the price and demand are real-

ized, and the reserved resources can be utilized. As a result, the reserved resources

could be observed to be either overprovisioned or underprovisioned. If the demand

exceeds the amount of reserved resources (i.e., underprovisioned), the broker can

pay for additional resources with on-demand plan, and then the on-demand phase

starts.

December 13, 2015

Page 23: Optimization of Resource Provisioning Cost in Cloud Computing

3.4. Provisioning Stages 15

3.4 Provisioning Stages

A provisioning stage is the time epoch when the cloud broker makes a decision to

provision resources by purchasing reservation and/or on-demand plans, and also al-

locates VMs to cloud providers for utilizing the provisioned resources. Therefore,

each provisioning stage can consist of one or more provisioning phases. The number

of provisioning stages is based on the number of planning epoches considered by the

cloud broker, e.g., a yearly plan consists of 12 provisioning stages (i.e., 12 months).

Let T ⊂ N1 denote the set of all provisioning stages where T ≥ 2.For resource provi-

sioning under uncertainty, the broker is assumed to be able to reserve the resources

in the first provisioning stage. Also, the broker obtains a solution, called recourse

action, for provisioning resources against uncertainty parameters (i.e., demand and

price) in every stage. These uncertainty parameters in each stage will be observed by

the broker after the resource reservation has been made. The observed uncertainty

parameters are called realization (e.g., the actual number of created VMs after the

jobs are submitted by the consumers). Then, the broker will take the recourse action

according to the realization, e.g., utilizing the reserved resource and/or provisioning

more resource with on-demand plan.

Fig. 3.3 shows the relationship between provisioning phases and provision-

ing stages, where a yearly plan with 12 provisioning stages, namely T= T1, T2,

T3,.............Tn where n=12 is considered. Fig. 3.3a shows the example of all three

provisioning phases existing in each stage. In Fig. 3.3b, each stage may not consist

of all provisioning phases. For example, the reservation phase is performed in T1

and the number of resources are reserved. From T1-T3, the expending phase starts

in some points of time when some resources reserved in T1 are utilized. Then, the

on-demand phase starts in T3 due to the insufficient reserved resources, and some

resources are provisioned with on-demand plan. In T4, the reservation phase starts

again and so on.

December 13, 2015

Page 24: Optimization of Resource Provisioning Cost in Cloud Computing

3.5. Reservation Contracts 16

Figure 3.3: Relationship between provisioning phases and provisioning stages

3.5 Reservation Contracts

A cloud provider can offer the consumer multiple reservation plans with different

reservation contracts. Each reservation contract refers to the advance reservation

of resources with the specific time duration of usage. For example, the reservation

plan offered by Amazon EC2 has two reservation contracts, namely 1-year contract

and 3- year contract. The certain amount of resources are reserved for 1 year in

the one-year contract and 3 years in the three-year contract starting from the time

when they are provisioned.

Let K ⊂ N1 denote the set of all reservation contracts which are offered by cloud

providers. Let Lk denote the time duration (in unit of provisioning stages) specified

in reservation contract k ∈ K. Let Tk denote the set of stages at which the cloud

broker can provision resources by contract k. Let Fkt be the set of stages at which

some resources reserved by contract k could be utilized at stage t ∈ T . Given the

total number of stages T, both Tk and Fkt are expressed as follows:

Tk= 1,.......,— T— -Lk+1...(Eqn 1)

Fkt = max1,t -Lk+1,.....,mint,— T— -Lk+1...(Eqn 2)

In Fig. 3.4, the example of advance reservation for the yearly plan with 3-month

K1 and 6-month K2 reservation contracts is shown (i.e., LK1=3 and LK2 = 6).

The boxes above the timeline represent the time coverage of some reserved con-

tracts. As shown in (1), TK1= T1,T2, . . .,T10 and TK2=T1,T2, . . . ,T7 are

the sets of stages at which resources can be provisioned by K1 and K2, respectively.

Contract K1 is subscribed three times (e.g., T7 - T9, while contract K2 is subscribed

twice (e.g., T5-T10. Fig. 4 also shows that some stages can be covered by two (or

December 13, 2015

Page 25: Optimization of Resource Provisioning Cost in Cloud Computing

3.6. Uncertainty of Parameters 17

Figure 3.4: Example of advance reservations with 3-month K1 and 6-month K2

contracts.

more) subscribed contracts, e.g.,T1-T3 are covered by contracts K1 and K2. In Fig.

4, any set Fkt in (2) can be obtained, e.g., FK1T4 = T2,T3,T4, FK1T11= T9,T10),

and FK2T12=T7.

3.6 Uncertainty of Parameters

The optimal solution used by the cloud broker is obtained from the OCRP algorithm

based on stochastic integer programming. Stochastic programming takes a set of

uncertainty parameters (called scenarios), described by a probability distribution

into account. Let Ω denote the set of all scenarios in every provisioning stage and

Ωt denote the set of all scenarios in provisioning stage t. Set Ω is define as the

Cartesian product of all Ωt, namely:

Ω =∐

t∈T Ωt=Ωt1* Ωt2* .......*Ω|T | ..(Eqn3)

It is assumed that the probability distribution of Ω has finite support, i.e., set

Ω has a finite number of scenarios with respective probabilities p(ω) ∈ [0, 1] where

ω is a composite variable defined as ω = ω1,......ω|T | ∈ Ω. In this paper, demand

and price are considered as scenarios in Ω whose probability distribution is assumed

to be available. The actual scenario of uncertainty parameter after it is observed by

the broker is called realization.

3.7 Provisioning Costs

With three aforementioned provisioning phases, there are three corresponding pro-

visioning costs incurred in these phases, namely reservation, expending, and on-

demand costs. The main objective of the OCRP algorithm is to minimize all of

December 13, 2015

Page 26: Optimization of Resource Provisioning Cost in Cloud Computing

3.7. Provisioning Costs 18

these costs while the consumers demand is met, given the uncertainty of demand

and price.

For cloud provider, the price is defined in dollars per resource unit. Let c(R)jkr

denote the unit price (i.e., costs to the consumer) of resource type r subscribed

to reservation contract k provided by cloud provider j in reservation phase of the

first provisioning stage. It is assumed that the price of reservation plan in the first

stage is charged by a fixed one-time fee. The reservation cost c(R)jkr is the cost for

provisioning every resource type defined as follows:

c(R)ijk =

∑r∈(R) birc

(R)jkr ...(Eqn 4)

The prices in reservation and expending phases could be adjusted by cloud

providers without informing the consumer in advance, except the price of the reser-

vation plan in the first provisioning stage. For instance, the cost of electric power to

supply a cloud providers data center could be increased by power plants in the next

few months, and the cloud provider will be able to increase the costs of computing

resources in the future as well. For the prices in provisioning stage t given scenario

ω in both reservation and expending phases, c(r)jkrt (ω) and c

(e)jkrt (ω) denote the unit

prices of resource type r with reservation contract k provided by cloud provider j,

respectively. Let c(r)ijkt(ω) and c

(e)ijkt(ω), defined with the similar way as (4), denote the

reservation and expending costs for provisioning every resource type, respectively.

In on-demand phase, let c(o)jrt(ω) denote the unit price of resource type r provided

by cloud provider j in provisioning stage t given scenario ω. Also, the price can

be changed by cloud providers (i.e., uncertain to consumer when the resource is

reserved). Let c(o)ijt (ω), defined with the similar way as (4), denote the on-demand

cost for provisioning every resource type. Given VM class i, cloud provider j, pro-

visioning stage t, and scenario !, the expending cost of any reservation contract k is

assumed to be cheaper than the on-demand cost (i.e., c(e)ijkt ≤ c

(o)ijt).

From the system model and assumption, the optimal cloud resource provisioning

algorithm is developed to minimize the total provisioning costs under the price and

demand uncertainty in multiple provisioning stages.

December 13, 2015

Page 27: Optimization of Resource Provisioning Cost in Cloud Computing

Chapter 4

Algorithms/Techniques Used

In this chapter, the algorithms or techniques that can be used for optimizing resource

provisioning costs in cloud computing is discussed.

4.1 Stochastic Programming Model

In this section, the stochastic programming with multistage recourse is presented as

the core formulation of the OCRP algorithm. First, the original form of stochastic

integer programming formulation is derived. Then, the formulation is transformed

into the deterministic equivalent formulation (DEF) which can be solved by tradi-

tional optimization solver software.

4.1.1 Stochastic Integer Programming

Minimize :

z=∑

i∈I∑

j∈J∑

k∈K ...(Eqn1)

Subject to:

x(R)ijk ∈ N0, ∀i ∈ I,∀j ∈ J ,∀k ∈ K...(Eqn2)

The general form of the stochastic integer program is formulated as shown above.

The objective of the minimize function (z) is to minimize the cloud consumers total

provisioning cost. The decision variables x(R)ijk denotes the number of virtual machines

19

Page 28: Optimization of Resource Provisioning Cost in Cloud Computing

4.2. Bender’s Decomposition 20

provisioned in the first provisioning stage. In other words this number refers to as

the total amount of the reserved resources. The expected cost under the uncertainty

Ω is defined as EΩ[Q(x(R)ijk , w] where Q(x

(R)ijk , w) is expressed as follows:

Q(x(R)ijk , w) = min C(Y ) Y 3 Y(x

(R)ijk , w)...(Eqn3)

In the above equation the objective of Q(x(R)ijk , w) is to minimize the cost under

uncertainty given the scenario w and x(R)ijk . Such cost is represented by C(Y) and is

defined in the equation as below: -

C(Y)=∑

i∈I∑

j∈J∑

k∈K∑

t∈Tk crijkt(ω)xr

ijkt(ω) +∑i∈I

∑j∈J

∑t∈T (

∑k∈K c

(e)ijkt(ω)x

(e)ijkt(ω) + c

(o)ijt(ω)x

(o)ijt(ω))...(Eqn4)

The composite variables Y representing the solution of Q(x(R)ijk , w) consists of the

variables namely xrijkt(ω), xe

ijkt(ω) and xoijt(ω) which denotes the numbers of the VMs

provisioned in the reservation, expending and the on demand phases respectively.

So therefore the function Q(x(R)ijk , w) can be represented as follows:

Q(x(R)ijk , w) = min C(Y )...(Eqn5)

4.2 Bender’s Decomposition

The Benders decomposition algorithm is applied to solve the stochastic program-

ming problem formulated. The goal of this algorithm is to break down the opti-

mization problem into multiple smaller problems which can be solved independently

and parallelly. As a result, the time to obtain the solution of the OCRP algorithm

can be reduced. The Benders decomposition algorithm can decompose integer pro-

gramming problems with complicating variables into two major problems: master

problem and subproblem.

This algorithm can be used to decompose the integer programming problems with

complicating variables into two major sub problems namely master problem and

sub problem. The main objective of benders decomposition model is to break down

an optimization problem into smaller problems which can be solved independently.

As a result the time to obtain the solution of the OCRP algorithm can be reduced.

December 13, 2015

Page 29: Optimization of Resource Provisioning Cost in Cloud Computing

4.2. Bender’s Decomposition 21

Figure 4.1: Flowchart of Bender’s Decomposition Model

Benders decomposition is a solution method for solving certain large-scale opti-

mization problems. Instead of considering all decision variables and constraints of a

large-scale problem simultaneously, Benders decomposition partitions the problem

into multiple smaller problems. Since computational difficulty of optimization prob-

lems increases significantly with the number of variables and constraints, solving

these smaller problems iteratively can be more efficient than solving a single large

problem. It can be described as follows: -

• Step-0: Initialization of the master problem.

• Step-1: Subproblem solution.

• Step-2: Convergence checking.

• Step-3: Master problem solution.

In this algorithm the master problem is initialized and the master problem is

divided into sub problems and these sub problems are then solved. While obtaining

December 13, 2015

Page 30: Optimization of Resource Provisioning Cost in Cloud Computing

4.3. Sample Average Approximation 22

the solution for the sub problems we are performing the convergence checking. In the

convergence checking stage, the sub problems are checked if they satisfy their upper

and lower bounds. If satisfied the operation is stopped and we get the minimized

cost else if it does not satisfy the condition then we go back again and solve the sub

problems.

4.3 Sample Average Approximation

In the proposed system we can achieve an optimal solution even if the problem

size is large by using the Sample Average Approximation technique. If the number

of scenarios is numerous then it may not be efficient to obtain the solution of the

OCRP. The SAA technique addresses this problem by sampling N scenarios then

the SAA based OCRP formulae is solved given the N samples. The SAA technique

can also be solved in a parallel manner. The optimal solution can be obtained if N

is large enough which can be verified numerically.

December 13, 2015

Page 31: Optimization of Resource Provisioning Cost in Cloud Computing

Chapter 5

Performance Evaluation

In this section, the performance evaluation of the proposed OCRP algorithm is pre-

sented. Two case studies are considered in this evaluation, namely two provisioning

stage problem (2-PSP)and 12 provisioning stage problem (12-PSP). The former, 2-

PSP, has only two provisioning stages. We assume that the cloud broker is making

a decision for provisioning resources at the end of year. Under price and demand

uncertainty, the cloud broker performs the advance reservation of resources in the

first stage for being used in the next whole year which is the second stage. There-

fore, the 1-year reservation contract is sufficiently required by the broker since the

contract can cover the time duration. At the second stage, the price and demand are

observed. Then, the number of reserved resources are utilized and some additional

amount of resources can be provisioned in an on-demand fashion.

5.1 Challenges

5.1.1 Resource Estimation

In order to provision resources for a workflow application, the resource requirements

of the application must be formally specified. In addition to the individual char-

acteristics of the resources, such as CPU architecture, memory and disk space, the

specification must include 1) the number of resources required, 2) when the resources

will be needed, and 3) how long the resources will be used. Developing such a specifi-

23

Page 32: Optimization of Resource Provisioning Cost in Cloud Computing

5.1. Challenges 24

cation involves a cost/performance tradeoff for the application developer. Acquiring

extra resources can improve performance by providing more opportunities for con-

current execution, but this results in higher allocation costs and has the potential

to leave some resources underutilized.

In order to provision resources for a workflow application, the resource require-

ments of the application must be formally specified. In addition to the individual

characteristics of the resources, such as CPU architecture, memory and disk space,

the specification must include 1) the number of resources required, 2) when the re-

sources will be needed, and 3) how long the resources will be used. Developing such

a specification involves a cost/performance tradeoff for the application developer.

Acquiring extra resources can improve performance by providing more opportuni-

ties for concurrent execution, but this results in higher allocation costs and has the

potential to leave some resources underutilized. Singh et al. explore this tradeoff in

more detail in

5.1.2 Networking

Multi-level scheduling systems function best when worker nodes have public IP ad-

dresses and are free to communicate with hosts outside their network. However,

many resource providers conserve IP addresses by using private networks and iso-

late their worker nodes behind firewalls to protect against security threats. This

prevents application-specific schedulers outside the resource providers network from

communicating directly with worker nodes.

One solution to this problem is to use Generic Connection Brokering (GCB).

With GCB a server is started in a location that is accessible to both the worker

nodes and the external scheduler to act as a connection broker. This broker is used

to facilitate communications in a way that avoids making direct connections into

the private network.

Another solution is to install and run the application-specific scheduler on the

head node of the remote cluster. This allows the scheduler to communicate directly

with both the users submit host and the clusters worker nodes, but may violate site

policies that restrict long-running, CPU-intensive processes on the head node. This

December 13, 2015

Page 33: Optimization of Resource Provisioning Cost in Cloud Computing

5.2. Experimental Results 25

technique is supported by MyCluster and the VGES personal cluster system.

5.2 Experimental Results

• Balance of costs. We observe that the cloud broker with OCRP will minimize

on-demand cost rather than the oversubscribed cost. Since resource pricing in

the on-demand plan is higher and possibly increased by cloud providers, the

reservation plan is more attractive by the cloud broker. However, reserving

too many VMs may not be optimal (e.g., as that of MaxRes from Table 4).

Therefore, the tradeoff between on-demand and oversubscribed costs needs to

be adjusted in which OCRP can optimally perform.

• Virtual machine outsourcing. The VM outsourcing from a private cloud to

a public cloud provider (or public cloud) shows interesting result. In the

experiment, the private cloud fully utilizes its own resources. Then, extra

VMs can be spilled over to public clouds. Purchasing and deploying new

hardware to a private cloud may not be an optimal solution, since the total

cost of ownership (TCO) must be considered. To reduce this TCO, workload

outsourcing is the attractive choice which is shown from our evaluation.

5.3 Implementation Issues

• Multiple provisioning stages planning issue. The OCRP algorithm can be ap-

plied to multiple provisioning stages representing long-termplanning. Since the

optimal solution of the first provisioning stage depends on multiple probability

distributions describing the uncertainty occurring in consequent time epochs,

multiple stages planning is needed. For example, the workload of some online

souvenir shopping websites could be dramatically increased in the high-season

consisting of many time periods in a year (e.g., Christmas Day, Valentines

Day, etc.). As a result, the websites should provision resources by considering

multiple time epochs (i.e., provisioning stages) in advance, while reservation

contracts offered by cloud providers can be taken into account to reduce the

December 13, 2015

Page 34: Optimization of Resource Provisioning Cost in Cloud Computing

5.3. Implementation Issues 26

provisioning cost.

• Use of decomposition method. The use of decomposition method for OCRP

has to be carefully considered, since the formulation of the OCRP algorithm

is a pure integer program which is the NP-hard problem. Although the sub-

problems can be solved in parallel, the master problem with the additional

Benders cuts requires considerable computational time. The performance im-

provement of the decomposition algorithm will be considered in the future

work.

• Benefit of SAA. Sample-average approximation method can overcome the pro-

visioning problems with a large set of scenarios which are impossible to solve

with deterministic equivalent formulation directly. In contrast, the approxi-

mation algorithm with estimation of SAA lower and upper bounds can yield

tolerably solutions while the problems can be practically solved in timely man-

ner.

• Limitation of stochastic programming. Stochastic programmingdoes not ad-

dress the method to obtain appropriate probability distributions describing

uncertainty (i.e., distributions of scenarios Ω ). However, this limitation can

be alleviated by applying variance reduction techniques (e.g., importance sam-

pling ) to increase the precision of the estimates of uncertainty.

December 13, 2015

Page 35: Optimization of Resource Provisioning Cost in Cloud Computing

Chapter 6

Conclusions

An optimal cloud resource provisioning (OCRP) algorithm was proposed to provision

resources offered by multiple cloud providers. The optimal solution obtained from

OCRP is obtained by formulating and solving stochastic integer programming with

multistage recourse. We have also applied Benders decomposition approach to divide

an OCRP problem into subproblems which can be solved parallelly. Furthermore,

we have applied the SAA approach for solving the OCRP problem with a large

set of scenarios. The SAA approach can effectively achieve an estimated optimal

solution even the problem size is greatly large. The performance evaluation of the

OCRP algorithm has been performed by numerical studies and simulations. From

the results, the algorithm can optimally adjust the tradeoff between reservation of

resources and allocation of on-demand resources. The OCRP algorithm can be used

as a resource provisioning tool for the emerging cloud computing market in which

the tool can effectively save the total cost.

27

Page 36: Optimization of Resource Provisioning Cost in Cloud Computing

Bibliography

[1] I. Foster, Y. Zhao, and S. Lu, Cloud Computing and Grid Computing 360-

Degree Compared, Proc. Grid Computing Environments Workshop (GCE 08),

2008.

[2] F.V. Louveaux, Stochastic Integer Programming, Handbooks in OR MS, vol.

10, pp. 213-266, 2003.

[3] G. Juve and E. Deelman, Resource Provisioning Options for Large-Scale Sci-

entific Workflows, Proc. IEEE Fourth Intl Conf. e-Science, 2008.

[4] Chaisiri, S., Lee, B., Niyato, D. (2012). Optimization of Resource Provisioning

Cost in Cloud Computing. IEEE Transactions On Services Computing, 5(2),

164-177. doi:10.1109/tsc.2011.7

[5] Z. Huang, C. He, and J. Wu, On-Demand Service in Grid: Architecture Design,

and Implementation, Proc. 11th Intl Conf. Parallel and Distributed Systems

(ICPADS 05), 2005.

28