Upload
rose-maria-dominic
View
217
Download
0
Tags:
Embed Size (px)
DESCRIPTION
A small seminar on Cloud Computing
Citation preview
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
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
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.
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
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
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
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
List of Tables
viii
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
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
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
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
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
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
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
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
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
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
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
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
3.2. Provisioning Plans 13
[Table 1: List of Key Notations]
December 13, 2015
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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