On-Demand VM Placement on Cloud Infrastructure Sameer Kumar Mandal

On-Demand VM Placement on Cloud Infrastructure Sameer Kumar Mandal
On-Demand VM Placement on
Cloud Infrastructure
Sameer Kumar Mandal
Department of Computer Science and Engineering
National Institute of Technology Rourkela
Rourkela – 769 008, India
On-Demand VM Placement on
Cloud Infrastructure
Dissertation submitted for the partial fulfillment of
the requirements for the degree of
Master of Technology
in
Computer Science and Engineering
Specialization: Computer Science
by
Sameer Kumar Mandal
(Roll 211CS1071)
under the supervision of
Prof. Pabitra Mohan Khilar
Department of Computer Science and Engineering
National Institute of Technology Rourkela
Rourkela – 769 008, India
Dedicated to Shri Sai Baba & to my Parents
Computer Science and Engineering
National Institute of Technology Rourkela
Rourkela-769 008, India.
www.nitrkl.ac.in
June 05, 2013
Certificate
This is to certify that the work in the thesis entitled On-Demand VM Placement on
Cloud Infrastructure by Sameer Kumar Mandal, bearing roll number 211CS1071,
is a record of an original research work carried out by him under my supervision
and guidance in partial fulfillment of the requirements for the award of the degree
of Master of Technology in Computer Science. Neither this thesis nor any part of it
has been submitted for any degree or academic award elsewhere.
Dr. Pabitra Mohan Khilar
Acknowledgment
First and foremost I would like to thank Almighty GOD, the compassionate, the
almighty merciful, who kindly helped me to complete this thesis.
I would like to express my deep sense of respect and gratitude towards my
supervisor Prof. Pabitra Mohan Khilar, who has been the guiding force behind this
work. I want to thank him for introducing me to the field of Cloud Computing and
giving me the opportunity to work under him. Without his invaluable advice and
assistance it would not have been possible for me to complete this thesis. I consider
it my good fortune to have got an opportunity to work with such a wonderful person.
I would like to thank all the professors, co-researchers, batch mates and friends
at National Institute of Technology Rourkela for their active or hidden cooperation.
I thank all the members of the Department of Computer Science and Engineering,
and the Institute, who helped me by providing the necessary resources, and in various
other ways, in the completion of my work.
Finally, I want to dedicate this thesis to my parents, my family members and my
beloved one for their unlimited support and strength. Without their dedication and
dependability, I could not have pursued my M.Tech degree at the National Institute
of Technology Rourkela.
Sameer Kumar Mandal
Abstract
Cloud Computing paradigm is most popular because of its flexibility for provisioning
resources quickly and efficiently. In cloud computing the resource requests are served
by creating virtual machines of the requested specification on the underlying physical
infrastructure. If the placement of virtual machines to the underlying physical
machines will take long time or if all the accepted virtual machine requests can’t
be served then some flexibility will lost. In on-demand access to cloud computing
services the requested resources are served on the available infrastructure for short
span of time. In on-demand access the number of resource requests in a particular
time interval can not be predicted unlike in case of spot-market access. As a virtual
machine instance will run on a single physical machine at a time, hence to serve
more requests in case of on-demand access we have to use the available resource
optimally considering the allocation cost and SLA violation. In this work we tried
to improve the resource utilization by considering single dimensional best fit strategy,
which not only reduce the cost by utilizing minimum number of resources but also
minimize the SLA violation which may arise due to failure in allocating all the
requested virtual machine. We have developed a framework that optimizes the use
of physical infrastructure by effectively allocating the requested virtual machines and
also reduces the allocation time. The proposed allocation policy is compared with
three other existing policies named Greedy First Fit, Ranking and Round-Robin, by
simulating all policies using CloudSim toolkit and the performance is evaluated by
considering various parameters.
Keywords: Cloud Computing, Virtual Machine Placement, Resource Allocation, Resource
Utilization, Virtual Machine scheduling, Minimizing Resource Usages, Minimizing SLA Violation,
On-demand Access.
Contents
Certificate
iii
Acknowledgement
iv
Abstract
v
List of Figures
x
List of Tables
xi
1 Introduction
2
1.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2
Resource Allocation in Cloud Computing . . . . . . . . . . . . . . . .
4
1.3
Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.4
The Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.5
Structure of The Thesis . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.6
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2 An Overview of Cloud Computing
9
2.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.2
Deployment Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1
Private Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.2
Public Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.3
Hybrid Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
vi
2.2.4
2.3
Community Cloud . . . . . . . . . . . . . . . . . . . . . . . . 13
Service models
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.1
Software as a Service (SaaS) . . . . . . . . . . . . . . . . . . . 13
2.3.2
Platform as a Service (PaaS) . . . . . . . . . . . . . . . . . . . 14
2.3.3
Infrastructure as a Service (IaaS) . . . . . . . . . . . . . . . . 14
2.4
Virtualization vs. Cloud Computing . . . . . . . . . . . . . . . . . . . 14
2.5
Virtual Machine and Cloud Computing . . . . . . . . . . . . . . . . . 15
2.6
Hypervisor in Cloud Computing . . . . . . . . . . . . . . . . . . . . . 16
2.7
2.8
2.6.1
Type 1 Hypervisor: . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6.2
Type 2 Hypervisor: . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6.3
Full Virtulization: . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6.4
Para Virtualization: . . . . . . . . . . . . . . . . . . . . . . . . 19
Open-source Cloud Computing Solutions . . . . . . . . . . . . . . . . 19
2.7.1
Xen Cloud Platform (XPC) . . . . . . . . . . . . . . . . . . . 20
2.7.2
Nimbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7.3
OpenNebula . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7.4
Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 Virtual Machine Placement Strategies in Cloud computing
23
3.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2
Categorization of VM placement algorithms . . . . . . . . . . . . . . 24
3.3
3.2.1
Power primarily based approach . . . . . . . . . . . . . . . . . 24
3.2.2
Application QOS primarily based approach . . . . . . . . . . . 24
3.2.3
Dynamic and static approaches . . . . . . . . . . . . . . . . . 25
VM Placement Based on Constraint
Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.1
3.4
VM placement as constraint satisfaction problem . . . . . . . 26
VM Placement Based on Stochastic Integer Programming . . . . . . . 28
3.4.1
VM placement based on SIP . . . . . . . . . . . . . . . . . . . 29
vii
3.5
VM Placement Based on Bin packing
Approch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.5.1
3.6
VM Placement Based on Genetic Algorithm . . . . . . . . . . . . . . 33
3.6.1
3.7
3.8
VM placement as Bin packing problem . . . . . . . . . . . . . 32
VM placement as grouping GA problem . . . . . . . . . . . . 34
Strategies Followed by Open-Source Solutions . . . . . . . . . . . . . 35
3.7.1
Rank Scheduling Algorithm . . . . . . . . . . . . . . . . . . . 35
3.7.2
Greedy First Fit Algorithm . . . . . . . . . . . . . . . . . . . 37
3.7.3
Round-Robin Algorithm . . . . . . . . . . . . . . . . . . . . . 37
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4 Proposed Scheme
42
4.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2
Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3
VM Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.1
VM Scheduler Algorithm . . . . . . . . . . . . . . . . . . . . . 48
4.4
Time Complexity Analysis . . . . . . . . . . . . . . . . . . . . . . . . 50
4.5
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5 Simulation and Results
53
5.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2
Experiment-1: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3
Experiment-2: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.4
Experiment-3: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.5
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6 Conclusion
61
6.1
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.2
Scope for Further Research . . . . . . . . . . . . . . . . . . . . . . . . 62
Bibliography
63
viii
Dissemination
66
ix
List of Figures
2.1
The NIST model of cloud computing . . . . . . . . . . . . . . . . . . 11
2.2
Type 1 Hypervisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3
Type 2 Hypervisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1
Proposed Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2
Flow chart for the Proposed Scheme
4.3
Example of host representation . . . . . . . . . . . . . . . . . . . . . 47
5.1
Experiment:1 Available Memory vs.Host Machine . . . . . . . . . . . 54
5.2
Experiment:1 Time vs. No. of VM placed . . . . . . . . . . . . . . . 55
5.3
Experiment:2 % of VM allocated vs. Allocation Policies . . . . . . . . 57
5.4
Experiment:2 Available Memory vs. Host Machine
5.5
Experiment:3 SLA violation % vs. Allocation Policies . . . . . . . . . 58
5.6
Experiment:3 Total time taken vs. Allocation Policies . . . . . . . . . 59
x
. . . . . . . . . . . . . . . . . . 46
. . . . . . . . . . 57
List of Tables
3.1
VM placement approch by different tools . . . . . . . . . . . . . . . . 37
5.1
Experiment-1 Host memory specification . . . . . . . . . . . . . . . . 54
5.2
Experiment-1 VM request memory specification . . . . . . . . . . . . 54
5.3
Experiment-1 VM to Host mapping . . . . . . . . . . . . . . . . . . . 55
5.4
Experiment-2 Host memory specification . . . . . . . . . . . . . . . . 56
5.5
Experiment-2 VM request memory specification . . . . . . . . . . . . 56
5.6
Experiment-3 Host memory specification . . . . . . . . . . . . . . . . 58
5.7
Experiment-3 VM request memory specification . . . . . . . . . . . . 58
xi
Introduction
Introduction
Resource Allocation in Cloud Computing
Motivation
Defining the Problem Statement
Structure of the Thesis
Chapter 1
Introduction
1.1
Introduction
Cloud computing is the utility computing that has unlimited virtualized resource
to create a custom-built infrastructure or platform to run applications or full part
services as pay-as-you-use basis. Cloud computing has modified the paradigm of
system deployment [2]. The advanced system implementation are abstracted from
the end user by the help of the virtualization techniques, resources are virtualized
that offers an illusion of infinitely scalable and universally available system [1] [2].
With the assistance of pay-as-you-use model, infinitely scalable and universally
available systems, cloud computing makes the long command dream of utility
computing possible. Developers having initiative concepts for providing new Internet
services do not need massive expenditure to setup the hardware and software
necessities. Cloud computing refers to each application that are provided as a
service over the Internet and therefore the underlying hardware infrastructure and
the platform over that those applications are developed. The underlying hardware
infrastructure is technically called data-center, having massive vary of physical
devices starting from personal computers to cluster computers to high end server
machines. [3].
2
Chapter 1
Introduction
It is an imprudently taken conception by many of us that cloud computing is
nothing however the Internet given a special name. Typically this can be as a
result of several drawing of web based application often drawn as a cloud. Cloud
computing is an abstraction supported the assumption of pooling physical resource
and representing them as virtual resource. This new model offers provisioning
of resources for staging application and for platform freelance user access to
services.
Once you contemplate the event of cloud computing up to now, it’s
clear that the technology is the results of the convergence of many totally different
standards. Cloud computings promise of measurability utterly changes the way
during which services and applications are deployed. While not standards, the
trade creates proprietary systems with merchandiser lock-in. As a result shoppers
don’t need to be fast into any single system, there’s a robust trade push to
make standards-based clouds.
The cloud computing trade is functioning with
these subject standards: Platform virtualization of resources, Service-oriented
design, Web-application frameworks, Preparation of open-source software system,
Standardized Internet services, Involuntary systems. Cloud computing is especially
valuable as a result of it shifts capital expenditures into operation expenditures. This
has the good thing about decoupling growth from money handy or from requiring
access to capital. It additionally shifts risk from a company and onto the cloud
service provider. Service Level Agreements (SLAs) is a vital side of cloud computing,
they’re primarily your operating contract with any supplier [2].
A major a part of cloud computings price proposition and its charm is its
ability to convert capital expenses to operational expenses through a usage rating
theme that’s elastic and might be right sized. The conversion of real assets to
virtual ones provides a live of protection against an excessive amount of or deficient
infrastructure. Basically, moving expenses onto the operational expenses facet of
budget permits a company to transfer risk to cloud computing supplier.
The chapter 1 is organized as follows. In section 1.2 resource allocation in cloud
computing is discussed. In section 1.3 the motivation for this work is discussed. In
3
Chapter 1
Introduction
section 1.4 the Problem statement is discussed. In section 1.5 the outline of this
thesis is presented.
1.2
Resource Allocation in Cloud Computing
Resource allocation is a topic that has been addressed in several computing areas,
like operating systems, grid computing, and datacenter management. A Resource
Allocation System in Cloud Computing are often seen as any mechanism that aims
to ensure that the application’s needs are attended properly by the provider’s
infrastructure.
In conjunction with this guarantee to the developer, resource
allocation mechanisms ought to additionally take into account the present status
of every resource within the cloud environment, so as to use algorithms to better
allocate physical and/or virtual resources to developers’ applications, therefore
minimizing the operational cost of the cloud environment .
Allocation of virtual machines are often divided in two parts: The first part is
admission of latest requests for virtual machines provisioning and placement virtual
machines on hosts, whereas the second part is optimization of current allocation of
virtual machines. The complexity of the allocation a part of the algorithm is n × m,
where n is the number of virtual machines that have to be allotted and m is the
number of hosts. Optimization of current allocation of VMs is disbursed in 2 steps:
at the first step virtual machines that require to be migrated are choosen, at the
second step chosen virtual machines are placed on the host machine by allocation
algorithm [4].
The virtual machine placement algorithm ensures the efficient and cost effective
allocation of virtual machines on the actual host machines.
4
Chapter 1
1.3
Introduction
Motivation
Cloud Computing paradigm is most popular because of its flexibility for provisioning
resources quickly and efficiently.
In Infrastructure as a Service (IaaS) cloud
computing the resource requests are served by creating virtual machines of the
requested specification on the underlying physical infrastructure. If the placement
of virtual machines to the underlying physical machines will take long time or if all
the accepted virtual machine requests can’t be served then some flexibility will lost.
In case of on-demand access to cloud computing services the requested resource are
served on the available infrastructure for short span of time. In on-demand access
the number of resource requests in a particular time interval can not be predicted
unlike in case of spot-market access. As a virtual machine instance will run on a
single host at a time, hence to serve more requests in case of on-demand access we
have to use the available resource optimally.
Most of the work have been done focusing on reduction of allocation cost only.
But along with the allocation cost we have to consider whether all the requested
virtual machines are getting allocated and whether the service provider is able to
serve more request in that particular time-frame (i.e. SLA violation should be taken
into consideration). This can be done by allocating a virtual machine to a physical
host that best fit the requirements, instead of simply allocating to a host that can
serve the request. So an efficient virtual machine placement framework should be
developed that can not only allocate the virtual machines using less no of host
machines (cost-effective allocation) but also can serve maximum number of requests
(minimizing SLA violations).
1.4
The Problem Statement
Our problem statement can be briefly described as follows:
• Let HostList = {H1 , H2 , H3 , Hn } is the list of physical hosts available which
5
Chapter 1
Introduction
have to process the virtual machine requests.
• The virtual machine requests that have been made in a particular time interval
are collected at the virtual machine manager and are stored in a V MQueue ,
V MQueue = {V M1 , V M2 , V M3 , V Mn }.
• Here we have to do a mapping V MQueue →HostList , the mapping should be
done in such a way that it will minimize the use of resources so that more
number of requests can be served with the available resource capacity.
• The aim is to reduce the cost of allocation and minimize the SLA violation.
1.5
Structure of The Thesis
The rest of the thesis is organized as follows. Chapter 2 gives an overview of
cloud computing, which includes the terminologies and technologies used in cloud
computing. Chapter 3 describes the works that have been done addressing the
issue of virtual machine placement along with the strategies followed by open-source
technologies. In Chapter 4 the proposed framework for virtual machine placemet as
well as the VM Scheduler algorithm is described. Chapter 5 presents the simulation
and results of the proposed framework. Chapter 6 concludes the discussion and gives
a direction to future research in this issue we have discussed.
1.6
Conclusion
Resource Allocation System in Cloud Computing are often seen as any mechanism
that aims to ensure that the application’s needs are attended properly by the
provider’s infrastructure. In case of on-demand access to cloud computing services
the requested resource are served on the available infrastructure for short span
of time.In this thesis an efficient virtual machine placement framework has been
developed that can not only allocate the virtual machines using less no of host
6
Chapter 1
Introduction
machines (cost-effective allocation) but also can serve maximum number of requests
(minimizing SLA violations).
7
An Overview of Cloud Computing
Defining Cloud Computing
Deployment Models
Service models
Virtualization vs. Cloud Computing
Virtual Machine and Cloud Computing
Hypervisor in Cloud Computing
Open-source Cloud Computing Solutions
Chapter 2
An Overview of Cloud Computing
2.1
Introduction
There is plenty of dialogue of what cloud computing is. The US National Institute
of Standards and Technologies (NIST) has place a shot in process cloud computing.
According to NIST [5] Cloud computing is a model for convenient, on-demand
network access to a shared pool of configurable computing resources (e.g., networks,
servers, storage, applications, and services) that can be rapidly provisioned and
released with minimal management effort or service provider interaction.
The above definition is often explained briefly as, network access in on-demand
basic and in a very convenient manner along with less effort from management
and less service provider’s interaction explains quick and straight forward access
for potential resources. With resources in a shared pool, illustrates the supply
of computing resources from a cloud service provider are combined in a one
massive assortment, for serving all users. The frequent provisioning of resources
is employed for quickly matching the active resources, once a necessities comes
for those resources. This frequent and quick provisioning prevents a scarcity of
computing power once the requirement will increase. .
Cloud computing takes the technology, services, and applications that are almost
9
Chapter 2
An Overview of Cloud Computing
like those on the Internet and turns them into a self-service utility. The use of the
word cloud makes relevancy to two essential ideas:
1. Abstraction:
Cloud computing abstracts the complexcity of system
implementation from developers and users.
Applications run on physical
systems that aren’t nominative, data is hold on in locations that are unknown,
administration of system is outsourced to others, and access by users is present.
2. Virtualization: Cloud computing virtualizes system by pooling and sharing
resources.
Systems and storage may be provisioned as required from a
centralized infrastructure, multi-tenancy is enabled, prices are assessed on a
metered basis, and resources are ascendible with lissomeness.
What does cloud agility mean? Its tied to the fast provisioning of computing
resources. Cloud environments usually give new compute instances or storage in
minute [6].
As one may imagine, the dramatic shortening of the provisioning
time-frame permits work to begin way more quickly.
What does multi-tenancy means?
It refers to principal of software design
where one instance of the software runs on a server, serving multiple shopper
organizations (tenants). During a multi-tenancy setting, multiple customers share a
similar application, running similar software, on a similar hardware, with a similar
data-storage mechanism [7].
To discuss cloud computing in detail, we would like to outline the lexicon of cloud
computing; The majority separate cloud computing into 2 distinct sets of models:
Deployment models: This refers to the placement and management of the
cloud infrastructure.
Service models: This consists of the varieties of services that you can access
on a cloud computing platform.
10
Chapter 2
An Overview of Cloud Computing
Figure 2.1: The NIST model of cloud computing
The chapter 2 is organized as follows. In section 2.2 the deployment models are
discussed. In section 2.3 service models are discussed. In section 2.4 virtualization vs.
cloud computing. In section 2.5 virtual machine and cloud computing is discussed.
In section 2.6 hypervisor in cloud computing is discussed. In section 2.7 Open-source
Cloud Computing Solutions are discussed.
2.2
Deployment Models
Deployment model defines the aim and location of the cloud. Based on the ownership
the cloud is classified into four deployment model [5] private cloud, public cloud,
community cloud and hybrid cloud.
11
Chapter 2
2.2.1
An Overview of Cloud Computing
Private Cloud
Private cloud (also referred to as internal cloud or company cloud) is a term for a
proprietary computing design that gives hosted services to a restricted variety of
individuals behind a firewall. The cloud could be managed by that organization
or a third party. Private cloud could also be either on or off premises. This offers
organization the price advantages of virtualization.
2.2.2
Public Cloud
A public cloud is one that supports the quality cloud computing model, during which
a service provider makes resources, like applications and storage, out there to the
public over the web. Public cloud services are free or offered on a pay-per-usage
model. It’s an extension of private cloud with further value profit owing to service
provider. The most edges of employing a public cloud service are; simple and cheap
set-up, quantifiable to fulfill wants, no wasted resources as a result of to acquire
what you utilize.
2.2.3
Hybrid Cloud
A hybrid cloud is a composition of a minimum of one private cloud and a minimum
of one public cloud. A hybrid cloud is usually offered in one amongst two ways:
a seller incorporates a private cloud and forms a partnership with a public cloud
supplier, or a public cloud supplier forms a partnership with a seller that gives
private cloud platforms. A hybrid cloud is a cloud computing model within which a
corporation provides and manages some resources in-house and has others provided
outwardly. Ideally, the hybrid approach permits a business to require advantage of
the measurability and cost-effectiveness that a public cloud computing setting offers
while not exposing mission important applications and data to third-party.
12
Chapter 2
2.2.4
An Overview of Cloud Computing
Community Cloud
A community cloud is a multi-tenant infrastructure that’s shred among many
organizations from a selected cluster with common computing issues. Such issues
may be well associated with regulative compliance like audit necessities, or is relate
to performance necessities, like hosting applications that need a fast latent period.
The community cloud are often either on-premises or off-premises, and may be ruled
by the taking part organization or by third party managed service provider.
2.3
Service models
After deployment of the cloud, completely different vendors provide clouds that
have different services related to them. The portfolio of service offered adds another
set of definitions referred to the service model. There are various services models
delineated within the literature, all of that take the shape XaaS or <Something >as
a Service [2].
Three service types [5] have been universally accepted:
2.3.1
Software as a Service (SaaS)
Software as a Service provides a whole environment with pre-installed applications
along side infrastructue. Consumer will access these applications by using any device
capable of operate an Internet browser. This can be supported the thought of
dealings software from a service supplier than shopping for itself. The software is
hosted on centralized network servers to create practicality offered over the Internet
or any other network. Additionally called Software on demand it’s presently most
popular style of cloud computing, attributable to its high flexibility, nice services,
increased measurability and fewer maintenance e.g., Yahoo mail, Google docs, CRM
client knowledge. SaaS is extremely effective in lowering the prices of business
because it provides access to applications at a price ordinarily way cheaper than
13
Chapter 2
An Overview of Cloud Computing
a commissioned application fee, that is feasible because of its monthly fees based
revenue model. With SaaS user needn’t worry concerning installation or upgrades.
2.3.2
Platform as a Service (PaaS)
Platform as a Service provides a framework for the developers to create and deploy
their own application on a hosted infrastructure. The client doesn’t have to be
trouble concerning the underlying hardware; they solely have to be compelled to
manage the in-operation environment with the interface provided to them. They
can use any artificial language supported by the cloud service provider to create
their application in that environment e.g., SalesForce.coms Force.com [8].
2.3.3
Infrastructure as a Service (IaaS)
In Infrastructure as a Service computing model consumer will borrow the basic
hardware resources for building their own framework. They’ll customize their entire
framework with the assistance of virtual machines, memory, virtual network etc. The
consumer doesn’t have to manage the physical resources, as they’re supplied with
virtual resources which can be managed programmatically. It delivers the computing
infrastructure as a totally outsourced service. A number of the businesses that give
infrastructure as a service are Google, IBM, Amazon.com etc.Virtualization allows
IaaS suppliers to supply virtually unlimited instances of servers to customers and
build efficient use of the hosting hardware.
2.4
Virtualization vs. Cloud Computing
Virtualization and cloud computing were each developed to maximise the
employment of computing resources whereas streamlining processes and increasing
efficiencies to cut back the full value of possession.
Virtualization could be accustomed to offer cloud computing, cloud computing
14
Chapter 2
An Overview of Cloud Computing
is sort of completely different from virtualization. Cloud computing to most people
might appear as if virtualization and is incredibly similar in fashion, however it
is often higher represented as a service where virtualization is a component of a
physical infrastructure [9].
Cloud computing was born from the construct of utility computing. Utility
computing was the idea that computing resources and hardware would become a
trade goods to the corporations and/or federal agencies would purchase computing
resources from a central pool and pay just for resource they used. These resources
would be metered, such as you get power for your home from an electric company.
The real distinction between virtualization and cloud computing is truly not
that troublesome to grasp. For example, a self service model isn’t a vital element
in virtualization, however is in cloud computing.
You’ll actually argue some
virtualization solutions might embrace a self service component; but, it’s not
obligatory. In cloud computing, self-service could be a crucial construct to deliver
accessibility to any user at any time, that is what a service is all regarding. Moreover,
self-service is an efficient mechanism to cut back the number of coaching and support
required in the slightest degree levels among a company. Both technologies will
prevent cost. If you select to use virtualization, you may incur a good deal of
direct value however will save additional on operational expenditures within the
long-standing time. Cloud computing works simply in an opposite fashion, you
would not like several resources at the start, therefore cloud computing can seemingly
value little within the starting. However, as your applications become additional
fashionable to your users, the demand on resources will increase.
2.5
Virtual Machine and Cloud Computing
Virtual machines includes virtual hardware and a real software package.The virtual
machines give an entire setting for application to run similar to they might on their
own individual server, together with each the hardware and software package [10].
15
Chapter 2
An Overview of Cloud Computing
Enterprise needs are driving the evolution and adoption of the cloud and this can
create the utilization of virtual machines even additional vital than it’s been up to
now.
In Infrastructure as a Service model the infrastructure requests are served by
allocating virtual machines to those requests [2] [11]. Therefore on service suppliers
aspect one in every of the first concern is the allocation of virtual machine on
the particular physical resource i.e. the underlying hardware infrastructure. This
allocation ought to be economical in order that resource utilization are optimized
and to serve in lesser time.
The virtual machine placement in cloud computing are often created by
considering any one of the three classes [12]; reservation, on-demand access and
spot markets. In case of reservation user must pay a particular fee for a selected
amount for every instance of a virtual machine. In case of on-demand access user
requests virtual machine for immediate access for a relatively short interval of time,
and pay the charge relying upon that period. In case of spot markets the users ought
to specify the price they’re willing to buy the requested virtual machines, as in spot
markets there’s frequent fluctuation in providers value. The users are allotted with
virtual machines only if the providers value is same or less than the users fee.
2.6
Hypervisor in Cloud Computing
Virtualization involves a shift in thinking from physical resource to logical, improves
IT resource utilization by treating your physical resources as pool of resources where
virtual resources will be dynamical allotted. By implementing virtualization in your
work environment, you’re able to consolidate resources like processors, storage,
and network into a virtual environment.
System virtualizaiton creates several
virtual systems inside one physical system; virtual systems unit are not dependent
on operating environment that use virtual resources.
System virtualization is
most typically enforced with hypervisor technology; hypervisor or virtual machine
16
Chapter 2
An Overview of Cloud Computing
manager are firmware or software components that are capable of virtualizing system
resources, and managing them [13].
Typically hypervisors are classified into two categories
- Type 1 Hypervisor
- Type 2 Hypervisor
2.6.1
Type 1 Hypervisor:
This sort of hypervisor is deployed as a bare-metal installation. This suggests that
the primary thing is to install the hypervisor as the operating system on the server.
The good thing about this is that the hypervisor can communicate directly with
Figure 2.2: Type 1 Hypervisor
the underlying physical server hardware. Those resources are then virtualized and
delivered to the running VMs. This is often the well-liked methodology for several
production systems [14].
17
Chapter 2
2.6.2
An Overview of Cloud Computing
Type 2 Hypervisor:
This model is additionally referred to as a hosted hypervisor. The software isn’t
put in onto the bare-metal, however instead is loaded on top of already installed
live operating system. Though there’s an additional hop for the resources to take
after they experience to the VM the latency is minimal and with todays fashionable
software enhancements, the hypervisor will still perform optimally [14].
Figure 2.3: Type 2 Hypervisor
Hypervisors are based on two types [15] of virtualization:
- Full Virtualization.
- Para Virtualization.
2.6.3
Full Virtulization:
Most hypervisors typically uses full virtulization which suggests that they utterly
emulate all hardware devices to the machines. Guest operting systems don’t need any
modification and behave as if they each have exclusive access to the whole system.
18
Chapter 2
An Overview of Cloud Computing
Full virtulization typically includes performance drawbacks as a result of complete
emulation typically demands a lot of process resources (and a lot of overhead) from
the hypervisor.
2.6.4
Para Virtualization:
Paravirtualization is a virtualization technique that presents a software system
interface to the virtual machines that’s almost like but not same as that of the
underlying hardware. The intent of this changed interface is to cut back the portion
of the guest operational system’s execution time that’s spent performing operations
that are substantially tougher to run in an exceedingly virtual surroundings
compared to a non virtualized environment surroundings. There are specifically
defined ”hooks” that enable the guest and host to request and acknowledge these
tough tasks that will rather be executed within the virtual domain, where execution
performance is slower.
2.7
Open-source Cloud Computing Solutions
The event of cloud computing solutions brings many technical challenges to cloud
developers. These challenges is sorted in three main areas: negotiation, decision,
and operation [12]. Within the negotiation phase, there are the challenges relative to
application developers interface with the cloud additionally because the description
of the cloud offerings. It includes the definition of the programmability level that
the cloud solution can supply. The decision phase copes with most drawbacks that
clouds faces behind the scenes; however virtual resources is scheduled to fulfill user
needs. Last, the operation phase is related to the social control of selections and
also the communication between cloud components.
19
Chapter 2
2.7.1
An Overview of Cloud Computing
Xen Cloud Platform (XPC)
The Xen hypervisor could be a answer for infrastructure virtualization that gives
an abstraction layer between servers hardware and the software [16] [17]. Xen is
associate open supply type-1 or bare metal hypervisor, that makes it doable to
run several instances of softwares or so completely different operative systems in
parallel on one machine. Xen is employed because the basis for variety of industrial
and open-source applications, such as: server virtualization, Infrastructure as a
Service (IaaS), desktop virtualization, security applications, embedded and hardware
appliance. Xen allows user to extend server utilization, consolidate server farms,
scale back quality, and reduce total value of possession. The Xen is employed by
several cloud solutions like Amazon EC2, Nimbus and Eucalyptus.
2.7.2
Nimbus
Nimbus [16] [18] is open-source solution to deploy clusters into Infrastructure as a
Service for cloud computing focusing principally on scientific applications. It offers to
users the likelihood to apportion and assemble remote resource by deploying virtual
machines, referred to as virtual space services. A virtual space service is a virtual
machine manager. To deploy applications, Nimbus offers a cloudkit configuration
that consists of service hosting and image repository. Combining all the tools and
capabilities in numerous ways in which permits users to quickly develop custom
community specific solutions. For instance, one community would possibly need
to use Nimbus IaaS to assemble a private of community cloud whereas the other
might want to concentrate on augmenting resources of an already exiting cloud with
resources from varied community and public clouds.
2.7.3
OpenNebula
OpenNebula is an open-source toolkit accustomed build personal public and hybrid
clouds [19] [16] [20].
It’s been designed to be integrated with networking and
20
Chapter 2
An Overview of Cloud Computing
storage solutions and to suit into existing data-centers. The target is to develop the
most-advanced, highly-scalable and adoptable solutions for building and managing
virtualized data centers and IaaS clouds. It give cloud developers and users with
alternative of cloud and system interfaces type, open cloud to de-facto standards,
to supports the bound of an expensive scheme of upper level parts. They arrange
for operation network to alter the management of OpenNebula cloud instances,
fault tolerance practicality to maximise time period within the cloud, increased
management of images and templates, new security practicality, increased support
for federation of data-centers and support for multi-tier architectures.
2.7.4
Eucalyptus
Eucalyptus is an open-source cloud computing framework targeted on educational
analysis. Eucalyptus users are ready to begin, control, access and terminate entire
virtual machines [16] [21]. Eucalyptus project presents four characteristics that
differentiate it from others cloud computing solutions: (a) Eucalyptus was designed
to be simple while not requiring dedicated resources; (b) Eucalyptus was designed to
encourage third-party extensions through standard software and language-agnostic
communications mechanisms; (c) Eucalyptus external interface is based on the
Amazon API and (d) Eucalyptus provides a virtual network overlay that isolates
network traffic of various uses and permits clusters to be a part of a similar native
network.
2.8
Conclusion
In this chapter an overview of the cloud computing is given, in which different
deployment models, service models have been described. A differentiation between
virtualization and cloud computing is also presented along with virtualization
technologies and open source cloud computing solutions.
21
Virtual Machine Placement
Strategies in Cloud Computing
Categorization of VM placement algorithms
VM Placement Based on Constraint Programming
VM Placement Based on Stochastic Integer Programming
VM Placement Based on Bin packing Approch
VM Placement Based on Genetic Algorithm
Strategies Followed by Open-Source Solutions
Chapter 3
Virtual Machine Placement
Strategies in Cloud computing
3.1
Introduction
Virtual machine placement is the method of mapping virtual machines to physical
machines. In different words, virtual machine placement is the method of choosing
the foremost appropriate host for the virtual machine.
The method involves
categorizing the virtual machines hardware and resources necessities and the
anticipated usage of resources and therefore the placement goal. The primary goal
may either be increasing the usage of accessible resources or it will be saving of
power by having the ability to stop working some servers. The involuntary virtual
machine placement algorithms are designed keeping in mind the on top of goals.
The chapter is organized as follows. In section 3.2 categories of VM placement
algorithm is discussed.
In section 3.3 VM placement based on constraint
programming is discussed. In section 3.4 VM placement based on stochastic integer
programming is discussed. In section 3.5 VM placement based on bin packing is
discussed. In section 3.6 VM placement based on genetic algorithm is discussed. In
section 3.7 strategies followed by open-source solutions are discussed.
23
Chapter 3
3.2
Virtual Machine Placement Strategies in Cloud computing
Categorization of VM placement algorithms
The placement algorithms may be loosely classified into 2 classes on the basis of
their placement goal.
• Power primarily based approach
• Application QOS primarily based approach
3.2.1
Power primarily based approach
The necessity of power management has become progressively evident in computing
environments. The necessity for power management is driven by 2 factors:
1. The increasing demands on power by each computing and cooling resources
during operation of a data center.
2. The rising price of power.
The main aim of those approaches is to map virtual machines to physical
machines in such the way, in order that the servers may be utilized to their most
potency, and therefore the different servers may be either hibernated or clean up
looking on load conditions.
3.2.2
Application QOS primarily based approach
These algorithms manage the mapping of virtual machines onto physical hosts with
the aim of maximizing the standard of service (QOS) delivered.
By endlessly
observance virtual machine activity and using advanced policies for dynamic
workload placement, such algorithms will cause higher utilization of resources
eventually resulting in savings in price.
24
Chapter 3
3.2.3
Virtual Machine Placement Strategies in Cloud computing
Dynamic and static approaches
The placement computations may be either dynamic or static. Static algorithms
usually use the information that’s antecedently collected as input. After the initial
calculations, the mapping might not be recomputed for long period, such as many
months.
The computations are largely done off-line.
In distinction, dynamic
allocation is enforced on shorter time scales, ideally shorter than periods of significant
variability of the resource demand.
The placement algorithms run within the
background of the application processes assembling information [22].
3.3
VM Placement Based on Constraint
Programming
One of the aims of cloud suppliers is to modify management of virtual machines
taking the standard of service necessities of applications into thought. This problem
may be developed as a constraint programming problem. The goal of the constraint
programming is to maximize a global utility function. This global utility function
is chosen to take SLA fulfillment and in operation prices into thought. The utility
functions mentioned within the paper [23] maps the present state of every application
(workload, resource capability, SLA) to scalar price. This scalar price tries to
quantify the applications satisfaction with relation to the goals that are set by the
automated manager.
The virtual machine placement employing a constraint based approach may be
thought of as a two-stage method.
1. Local Decision - it’s related to every application environment.
2. Global Decision - It takes as input the local decision from all applications, so
tries to maximize the global utility function.
25
Chapter 3
3.3.1
Virtual Machine Placement Strategies in Cloud computing
VM placement as constraint satisfaction problem
Any application hosted within the cloud is referred as application environment(AE).
Typically one virtual machine (VM) is related to just one AE. A module called as
local decision module is related to every AE that computes the associate utility
function. Given with current workload, this utility function offers us a live measure
of the application satisfaction with a particular resource allocation. This output
is given to a module called global decision module that really maps the VMs to
Physical machines (PMs) taking into consideration the mainframe load of virtual
and physical machines.
Formalising the problem
• AE = {ae1 , ae2 , ae3 , ..., aei , ..., aem } denotes set of AEs.
• H = {h1 , h2 , h3 , ...hi ..., hq } denotes set of physical machines (PMs).
• There are n classes of virtual machines (VM) available in the set V =
{v1 , v2 , ..., vk , ..., vn } where vk = (vkcpu , vkram ) specifies the cpu and memory of
the virtual machine [23].
Local decision module
These decision unit related to a selected application environement. It takes under
consideration a hard and fast service-level utility function that maps service level
to a utility value and a dynamic resource-level utility function that maps a resource
capacity to a utility value. The results of resource-level utility function mapping
is communicated to global decision Module in each iteration. For each application
environment aei the resource-level utility function Ui is defined as Ui = fi (Li ) where
Li is the virtual machine allocation list for application environment aei .
Li = (ni1 , ni2 , ni3 , ..., nik , ...nim )
where nik is the number of virtual machines of class vk associated with application
aei . For each application their is an associated upper bound for the number of
26
Chapter 3
Virtual Machine Placement Strategies in Cloud computing
max
max
max
virtual machine of each class (Lmax
= (nmax
i
i1 , ni2 , ..., nik , ..., nim )) and the total
number of virtual machines (Timax ) it is ready to accept. The constraints of these
application are delineated below:
Constraints:
1. nik ≤ nmax
,1≤i≤m&1≤k≤n
ik
2.
Pn
i=1
nik ≤ Timax , 1 ≤ i ≤ m
Global decision module
The global decision module involves two phases
1. Virtual machine provisioning
2. Virtual machine Placement
The above two phase can be represented as constraint solving problem as delineated
below.
Virtual machine provisioning phase:
This phase aims to find the virtual machine allocation list for each application
environment aei , and simultaneously tries to maximize the global utility value
Uglobal . The VMs allotted to all or any applications are certain by the constraints
on the full capacity of physical servers.
P
Pm Pn
cpu
≤ qj=1 Cjcpu
i=1
k=1 nik .vk
Pm Pn
P
ram
≤ qj=1 Cjram
i=1
k=1 nik .vk
where Cjcpu and Cjram are CPU and RAM capacity of physical host hj .
The global utility function is represented as:
P
Uglobal = maximize m
i=1 (αi × ui − .cost(Li ))
Pm
where 0 < αi < 1 and i=1 αi = 1
is a constant that determines the tradeoff between fulfillment of performance goal
as critical value of the desired resources. cost(Li ) is a function of virtual machine
allocation list. This function’s output is Li that is a list represents the allocation of
27
Chapter 3
Virtual Machine Placement Strategies in Cloud computing
virtual machines to physical host machines.
Virtual machine placement phase:
This phase takes the virtual machine allocation list Li as it’s input from the virtual
machine provisioning phase. In this phase, global decision method creates a single
list V L from all Li ’s. This list contains all the virtual machines running in the
current time.
V L = {vm1 , vm2 , vm3 , ..., vml , ..., vmv }
For every physical host hj ∈ H, the bit list represents Bj = {bj1 , bj2 , bj3 , ..., bjl , ..., bjv }
represents the set of virtual machine assigned to hj . Let R = {r1 , r2 , r3 , ..., rl , ..., rv }
represents the resource capacity of all virtual machines. The constraints can be
express as:
Pv
cpu
l=1 rl .bjl
Pv ram
.bjl
l=1 rl
≤ Cjcpu , 1 ≤ j ≤ q
≤ Cjram , 1 ≤ j ≤ q
This phase aims to minimize the active number of physical machines A. The
function is
Pq
j=1
uj
,
where uj = 1 if ∃vml ∈ V M |bjl = 1, otherwise it is 0.
The global decision function runs periodically, and calculates the difference between
virtual machine placement produced at the finish of current step and with the
preceding step, this will give the virtual machine migration information to the
virtual machine manager.
3.4
VM Placement Based on Stochastic Integer
Programming
Stochastic integer programming is beneficial in cases where actual demands don’t
seem to be framed however the distribution of demands is understood or is calculable.
Most of the cloud suppliers supply two payment plans to users for resource
provisioning.
28
Chapter 3
Virtual Machine Placement Strategies in Cloud computing
These are:
1. Reservation plan
2. On-Demand plan
With the assistance of SIP (Stochastic integer Programming), the longer term
demands that aren’t sure are often taken into thought, and along side this the
distinction within the costs of reservation and on-demand plans may be thought
about. Taking under consideration all of this, a mapping of virtual machines to
physical machines is generated thus on minimize the price spent in every arrange
for hosting virtual machines in multiple cloud supplier environment minimizing the
issues faced by under provisioning or over provisioning. The trade-off factor is that
the On-demand value versus oversubscribing value.
An algorithm delineated in [24] that uses Stochastic integer programming. It
allocates resources in three phases.
- Reservation : Cloud broker provisions resources while not knowing the demand
of users.
- Utilization : It uses the reserved resources.
- On-demand : Just in case the demand exceeds the reserved resources, the extra
resources can be requested in case of on-demand pay setup.
Each phase is associated with a certain cost.
3.4.1
VM placement based on SIP
In the cloud computing environment, we’ve variety of cloud suppliers that supply
pool of resources to the user. The virtual machines may be divided into a collection
of categories with every category representing a special application type. The target
is to attenuate all the prices, at an equivalent time meeting the demand of users. The
demands and costs aren’t fixed. However, we can estimate the demand and costs
29
Chapter 3
Virtual Machine Placement Strategies in Cloud computing
supported the distribution curve. Thus, SIP would be helpful to find a solution of
VM placement problem. The problem statement may be outlined formally as:
• ν = {v1 , v2 , ..., vlast } denotes the set of VM categories.
A VM category
represents the application type.
• ρ = {p1 , p2 , ..., plast } denotes set of cloud suppliers. Every cloud supplier
provides a pool of resources to user.
The superscripts (h), (s), (n) and (e) correspond to the four resources provided
by cloud suppliers, particularly computing power, storage, network bandwidth
and electric power respectively.
(h)
(s)
(n)
• tj , tj , tj
represents to the utmost capability of corresponding resource
which cloud supplier pj will offer to user.
(h)
(s)
(n)
• rj , rj , rj
represents amount of corresponding resource quantity by one VM
beneath category vi .
(h)
(s)
(n)
• cj , cj , cj
represents the costs of corresponding resources in reservation
phase for cloud supplier pj .
(h)
(s)
(n)
• c̄j , c̄j , c̄j represents the costs of corresponding resources in utilization phase
for cloud supplier pj .
(h)
(s)
(n)
• The cost of resources in on-demand part could be random. c̃j , c̃j , c̃j denotes
the costs of corresponding resources in on-demand part for cloud supplier pj .
• Uncertainty of prices and Demands.
– Di = {di1 , di2 , ..., div } denotes set of maximum variety of needed V M s of
category Vi . The full variety of needed V M s, D are cartesian product
of all Di over all i.
(h)
(s)
(n)
– C̃j , C̃j , C̃j
represents set of possible costs of offered resources by
supplier pj in on-demand phase.
30
Chapter 3
Virtual Machine Placement Strategies in Cloud computing
• υi (d) denotes the amount of needed V M s in the category Vi if demand d is
realised.
Phase I This defines the amount of V M s to be provisioned in reservation section.
Phase II This defines the amount of V M s allotted in utilization and on-demand
section.
The SIP formulation can be represented as
P
P
r
r
vi ∈ν
pj ∈P cij Xij + ξΩ[℘(Xij , ω)]
where
Xijr represents number of virtual machine provisioned in phase I.
ξΩ[℘(Xijr , ω)] represents the cost in phase II. Here ω ∈ Ω = D ×
Q
pj ∈P
represents set of price and demands.
The objective is to maximize this function
Taking the probabilities of prices and demands being realised, we can expand the
on top of equation as follows.
P
P
P
P
P
P
(r)
(r)
+
vi ∈ν
pj ∈P cij Xij
vi ∈ν
pj ∈P
m∈C̄j
d∈D pj (m)p(d)(c̄Xij (m, d)
(o)
(u)
C̃(m)Xij (m, d) + C̃(m)Xij (m, d))
Subjected to constraints
(u)
(r)
(u)
(o)
Xij (m, d) ≤ Xij , vi ∈ ν, pj ∈ P, m ∈ C̄j , d ∈ D
P
Xij (m, d) + Xij (m, d) ≥ υj (d), vi ∈ ν, m ∈ C̄j , d ∈ D
P
ri Xij (m, d) + Xij (m, d) ≤ tj , pj ∈ P, m ∈ C̄j , d ∈ D
pj ∈P
vi ∈υ
(r)
(h)
(u)
(o)
(h)
(s)
(u)
(o)
(s)
(n)
(u)
(o)
(n)
P
vi ∈υ
ri Xij (m, d) + Xij (m, d) ≤ tj , pj ∈ P, m ∈ C̄j , d ∈ D
P
vi ∈υ
ri Xij (m, d) + Xij (m, d) ≤ tj , pj ∈ P, m ∈ C̄j , d ∈ D
(u)
(o)
Xij (m, d), Xij (m, d), Xij (m, d) ∈ 0, 1, ..., vi ∈ υ, pj ∈ P, m ∈ C̄j , d ∈ D
31
+
Chapter 3
3.5
Virtual Machine Placement Strategies in Cloud computing
VM Placement Based on Bin packing
Approch
The bin packing approach can be used to realize the particular mapping of virtual
machines to available physical machines. It’s potential to attenuate the value of
running the data-center by tightly packing the VMs needed to be running at a time
onto the smallest amount of physical machines possible.
3.5.1
VM placement as Bin packing problem
The Physical machines can be thought about as bins and the virtual machines to
be placed can be thought-about as objects to be placed within the bins. A 3-stage
algorithm is given as [22].
• Formulate a pattern of past demands.
• Forecast the longer term demand supported the pattern of past demands.
• Map or Remap virtual machines to physical machines, this can be called
Measure-Forecast-Remap(MFR).
The algorithm aims at minimizing the quantity of hosts needed for virtual machines.
The last stage of the algirithm uses bin packing. The demand within the next
interval is foreseen on the premise of demand within the previous interval. Supported
these a heuristic is developed. Supported the solution to the present heuristic, the
virtual machines are packed onto the physical machines. The [22] paper uses first
fit approximation.
Formalising the problem
• Given N virtual machines and M physical hosts each having a capacity C m .
• R is denoted as remapping interval.
32
Chapter 3
Virtual Machine Placement Strategies in Cloud computing
• The resource demand of nth V M at begining of interval i is represented as Uin .
• The distribution of demand correspending to the time series Uin is un (x).
n
Represents the forecast demand k units of time prior to current time i for
• fi,k
virtual machine n.
• The capacity required to ensure an error rate less than p is denoted by
cp (µ, σ 2 )where µ and σ 2 is mean and variance of prediction error distribution.
Based on the forecast of demand of every virtual machines, the virtual machines are
sorted in descending order. Every virtual machine is then embarked on the list and a
trial is formed to position it on the first physical machines wherever it fits, i.e., after
its placement, the summation of resource demands of all virtual machines on that of
physical machines doesn’t exceed the whole capacity of the physical machines. The
first-fit algorithm minimizes the quantity of active physical machines.
3.6
VM Placement Based on Genetic Algorithm
Genetic algorithm is a heuristic based on search technique. It’s notably helpful in
issues where objective functions dynamically varies. Genetic algorithm typically
starts with a population of solution, applies genetic operators on this that finally
ends up providing best solution [25].
A variation to genetic algorithm called Grouping Genetic algorithm can even be
applied to the virtual machine Placement problem. These algorithms will take under
consideration extra constraints whereas optimizing the cost function. This is often
notably helpful in cases where we want to control on groups [26].
Genetic algorithm mainly involves:
• Chromosome modeling - This is often associate encoding schema used for
encoding the details of the problem that’s to be passed from one generation to
the other.
33
Chapter 3
Virtual Machine Placement Strategies in Cloud computing
• Population data formatting - The feasibility of the solution relies on the
feasibility of the initial solution.
• Crossover - It’s a genetic operator used for varying the programming of the
chromosome from one generation to next generation.
• Mutation It is a genetic operator that alters one or more additional gene values
of a chromosome from its initial state. This helps to forestall the population
from stagnating at any local optima.
• Generation Alternation - This is often where we tend to choose one solution
from the next generation of solution. [25]
3.6.1
VM placement as grouping GA problem
The Grouping Genetic algorithmic program is thought of as a bin packing problem
where the aim is to not solely realize a solution with highest packing potency however
additionally to satisfy the constraints. The algorithm in [26] offers a mechanism to
take into account VM interference.
Formalising the problem
• Yi a binary variable whose value is 1 if the ith server is used, otherwise 0.
• Xij a binary variable whose value is 1 if the j th server is consolidated into ith
target server, otherwise 0.
• attrjk represents k th attribute usages for j th server.
• A normalization parameter K is used for setting the priority between
minimizing amount of bins versus packing efficiency maximization.
• i and ī are used as new server index.
• j and j̄ are used for application index.
34
Chapter 3
Virtual Machine Placement Strategies in Cloud computing
• Ja is a subset of applications which can not be placed on the same target
server.
• k is used as server attribute index.
The objective is to minimize
qP P P
P
j attrjk ∗Xij 2
))
Obj = i Yi − K ∗
i(
k(
Attrik
Subjected to constraints
P
i Xij = 1,
∀j
Yi ≥ Xij ,
P
j Xij ≥ Yi
∀i, j
∀i
P
Yi ∗ Attrik ≥
P
j∈Ja Xij ≤ 1
j
Xij ∗ attrjk
∀i, a
∃ī, j̄
Xij¯ = 0
3.7
∀i, j, k
Strategies Followed by Open-Source Solutions
To decide this allocation various cloud computing model use different algorithms [27]
as shown in table 3.1.
3.7.1
Rank Scheduling Algorithm
The virtual machine scheduler used in OpenNebula is known as match making
scheduler, which uses a predefined rank [4] [27] for prioritizing the available resources.
Based on the priority, this scheduler places the virtual machine on the host having
the highest priority . This algorithm takes requirements and predefined rank as its
input and produces the resource number in which to place the virtual machine as
output. When a virtual machine request arrives at the scheduler, first it sweeps
away the resources which are not befitting into the requirement. The detail steps
for Rank placement policy is delineated in Algorithm 1.
35
Chapter 3
Virtual Machine Placement Strategies in Cloud computing
Algorithm 1 Rank Scheduling Algorithm
1: procedure AllocateVM(V MList )
2:
i←1;
3:
while V MList 6= φ do
4:
HostId ←RankingAlgo(HostList , Requirmenti , Rank);
5:
HostHostId ←V Mi ;
6:
i←i + 1;
7:
end while
8:
end procedure
1:
procedure RankingAlgo(HostList , Requirment, Rank)
2:
3:
4:
5:
for each Host ∈ HostList do
if Host Satisfies the Requirments then
add(M emberList , Host);
end if
6:
end for
7:
P riorityList ←SortByRank(M emberList , Rank);
8:
AllocatedHost ←P riorityList (1);
9:
Return AllocatedHost ;
10:
end procedure
36
Chapter 3
Virtual Machine Placement Strategies in Cloud computing
Table 3.1: VM placement approch by different tools
Tools
Provisioning
Default placement policies
Configurable
model
placement
policies
Nimbus
Immediate
Static-greedy and round-robin
No
resource selection
Eucalyptus
Immediate
Static-greedy and round-robin
No
resource selection
OpenNebula
Best-effort
Initial
placement
requirement/rank
based
on
Support for any
policies
to
static/dynamic
prioritize those resources more
placement policy
suitable for the virtual machine
(VM) using dynamic information
and
dynamic
placement
to
consolidate servers
3.7.2
Greedy First Fit Algorithm
For placement of a virtual machine on the underlying host Eucalyptus and Nimbus
uses Greedy First fit algorithm [27]. In First fit Greedy strategy whichever node that
can run the virtual machine found first is selected as the host for virtual machine
placement [28]. This algorithms takes virtual machine request and requirment as
input and produce the resource number in which to place the resource as output.
The detail steps for Greedy first fit placement policy is delineated in Algorithm 2 .
3.7.3
Round-Robin Algorithm
For placement of a virtual machine on the underlying host Eucalyptus and Nimbus
also use Round-Robin algorithm [27]. Round robin records the last position of the
scheduler visited. And also the scheduler starts from the last visited position next
time new request(s) come(s) meantime the resources are thought of as a circular
linked list [28]. This algorithms takes virtual machine request and requirment as
37
Chapter 3
Virtual Machine Placement Strategies in Cloud computing
Algorithm 2 Greedy First Fit Algorithm
1: procedure AllocateVM(V MList )
2:
i←1;
3:
while V MList 6= φ do
4:
HostId ←GreedyAlgo(HostList , Requirmenti );
5:
HostHostId ←V Mi ;
6:
i ←i + 1;
7:
end while
8:
end procedure
1:
procedure GreedyAlgo(HostList , Requirment)
2:
3:
4:
5:
6:
7:
8:
9:
for i = 1 to n do
. n is the number of physical host
if Hosti Satisfies the Requirments then
Rerurn Hosti ;
else
Continue;
end if
end for
end procedure
38
Chapter 3
Virtual Machine Placement Strategies in Cloud computing
Algorithm 3 Round-Robin Algorithm
1: procedure AllocateVM(V MList )
2:
i←1;
3:
pos←1;
4:
while V MList 6= φ do
5:
HostId ←RoundRobinAlgo(HostList , Requirmenti , pos);
6:
HostHostId ←V Mi ;
7:
i ←i + 1;
8:
end while
9:
end procedure
1:
procedure RoundRobinAlgo(HostList , Requirment, pos)
2:
end ←pos;
3:
limit ←n + 1;
4:
if pos > n then
5:
pos ←1;
6:
end if
7:
for i = pos to limit do
8:
9:
10:
11:
if i <= n & Hosti Satisfies the Requirments then
Rerurn Hosti ;
else
if i > n then
12:
pos ←1;
13:
limit ←end;
14:
else
Continue;
15:
16:
17:
18:
19:
. n is the number of physical host
end if
end if
end for
end procedure
39
Chapter 3
Virtual Machine Placement Strategies in Cloud computing
input and produce the resource number in which to place the resource as output.
The detail steps for Roudn-Robin placement policy is delineated in Algorithm 3.
In the above scheduling approaches, Greedy and round robin that provided by
Eucalyptus and Nimbus is a random technique to pick adaptive physical resources
for the VM requests that not considering maximum usage of physical resource.
3.8
Conclusion
In this chapter different VM placement strategies have been discussed along
with the strategies followed by the open source technologies. Different strategies
discussed include VM placement based on constraint programming, stochastic
integer programming, bin packing, genetic algorithm, ranking, greedy first fit,
round-robin.
40
Proposed Scheme
Framework
VM Scheduler
Time Complexity Analysis
Chapter 4
Proposed Scheme
4.1
Introduction
The chapter 4 is organized as follows. In section 4.2 proposed framework is discussed.
In section 4.3 proposed VM Scheduler is discussed along with all the algorithms. In
section 4.4 the time complexity analysis of the proposed schemen is given.
4.2
Framework
Figure 4.1 elucidates the model for allocation of virtual machines to physical host
machines present in the datacenters. Client/user can place their list of requirements
for any service in the interface provided with the help of a web browser, that may
require computational and storage infrastructure. That request is communicated
to the cloud service provider through Internet. The service provider will serve the
requests by placing individual requests to suitable virtual machines that can perform
the requisite operations. The virtual machine specification is now forwarded to the
hypervisor of the service provider. Hypervisor uses the virtualization tools to create
virtual machines of the specified specification. The virtual machine manager keeps
track of the created virtual machines. But the problem is to map the virtual machine
requests to the host machines.
42
Chapter 4
Proposed Scheme
To resolve this problem virtual machine manager sends the virtual machine
specifications to the virtual machine scheduler (VM Scheduler). But in this model
instead of sending that request directly, a binary search tree of the requested virtual
machines is created and that is sent to the VM Scheduler. This is done to improve the
resource utilization, which is explained in the next sub section in the algorithm. Now
VM scheduler will take the maximum requirement node from that virtual machine
tree and will search for a host that will best fit the requirement. For implementing
the best-fit strategy all the physical resources are also logically organized in a binary
search tree, since searching a host using this data structure will take in average
O(logN ) time where N is the number of physical hosts.
This will reduce the time for allocation. After getting the proper host the
scheduler will return the host number to the virtual machine manager for placement
of virtual machine on that host.
Now the virtual machine manager has all
information about the virtual machine and its location; it will now send a service
activation message to the client/user. After that client/user can access the service
for the duration specified.
4.3
VM Scheduler
Let HostT ree = {H1 , H2 , H3 , ..., Hn } is the list of physical hosts arranged in
a tree, available which have to process the virtual machine requests.
The
virtual machine requests that have been made in a particular time interval
are collected at the virtual machine manager and are stored in a V MT ree ,
V MT ree = {V M1 , V M2 , V M3 , ..., V Mn }. The time interval is used to avoid the
problem of starvation and is very small to avoid the delay. Here we have to do a
mapping V MT ree →HostT ree , the mapping should be done in such a way that it
will optimize the use of resources and should be faster. Figure 4.2 elucidate the
flow chart of the proposed scheme where best fit is decided by Algorithm 5 which
uses the following fracion value.
43
Chapter 4
Proposed Scheme
Figure 4.1: Proposed Framework
44
Chapter 4
Proposed Scheme
RV M S
AHS



1
Perfect fit.



= (0, 1)
Possible candidate.




(1, +∞) Reject.
Where
RV M S is requested virtual machine specification.
AHS is the available host specification.
When a virtual machine request arrives at the scheduler, it calcutes this value at
each host arranged in the binary search tree starting from the root node traversing
towards the leaf node, until it finds a best fit. If it finds this value to 1 for a perticular
host then that is the perfect fit and that host nood is assigned as the best fit node
for that virtual machine. If the value calculated is greater than 1 then that host is
not a candidate host for that virtual machine and the search will continues to its
right child host node. If the value is less than 1 i.e. a fraction between 0 to 1 then
the search bigins in the direction of left host node and the value at each left and
right child node is calculated. If the value is found less than the value that has been
calculate at its parent host node then it will stop searching further and declare its
parent node as the best fit node.
For example let there are five host nodes H1 to H5 present at the datacenter
having memory specification (in M B) 1024, 360, 525, 575, 680 respectively. These
host machines are organized in the host tree as shown in the figure 4.3.
Suppose a virtual machine request having memory specifacation 480 M B arrives
at the scheduler. Now scheduler will calculate the
RV M S
AHS
value at the root node i.e.
H5 . The value is found to be 0.71. Now the search will continue in left direction i.e.
H3 . The value at H3 is 0.91. Next host node is H2 and the value is calculated to
1.33 which is greater than 1, hence rejected. So the best fit host is its parent host
node having the calculated value 0.91. Hence host H3 is the best host to run this
virtual machine request. The purpose of arranging the virtual machine requests in
45
Chapter 4
Proposed Scheme
Figure 4.2: Flow chart for the Proposed Scheme
46
Chapter 4
Proposed Scheme
Figure 4.3: Example of host representation
binary search tree is: suppose two virtual machine requests arrive at a time having
memory requirment 510 M B and 400 M B. If the allocation of 510 M B V M is
processed first then it will get allocated at the H3 host, and 400 M B request is
allocated at H4 host. The remaining memory at H3 is 15 M B and at H4 175 M B.
But if the 400 M B request is processed first then first it will get allocated to host
H3 , the remaining memory is 125 M B and 510 M B request is allocated to host H4 ,
the remaining memory at H4 is 65 M B. So in the first case we are left with big
fragment of memory i.e. 175 M B, which can be used to allocate some new requests.
In the second case we got two fragments of memory but that may not get utilized
(lets say when a VM request for 150 M B memory arrives). Hence this technique
improves the resource utilization.
47
Chapter 4
4.3.1
Proposed Scheme
VM Scheduler Algorithm
Algorithm 4 VM Scheduler Algorithm
1: procedure VMscheduler(BSTV M , BSTHost )
2:
while BSTV M 6= φ do
3:
currT h ←0;
4:
V M M ax ←BSTVMMax ;
5:
M ax
M ax ←BSTHost
;
6:
if V M M ax > M ax then
7:
8:
9:
exit(0);
else
HostAlloc ←Allocate(V M M ax , BSTHost , currT h);
10:
end if
11:
Delete(BSTV M , V M M ax );
12:
U pdate(HostAlloc , V M M ax );
13:
14:
end while
end procedure
48
Chapter 4
Proposed Scheme
Algorithm 5 Allocate Algorithm
1: procedure Allocate(V M M ax , BSTHost , currT h)
2:
M ax
VM
threshold ← BST
Root ;
Host
3:
if threshold == 1 then
4:
Root
return BSTHost
;
5:
end if
6:
if threshold < 1 & currT h < threshold then
7:
currT h ←threshold;
8:
Lef t
Allocate(V M M ax , BSTHost
, currT h);
9:
10:
else
if threshold > 1 & currT h < threshold then
11:
currT h ←0;
12:
Right
Allocate(V M M ax , BSTHost
, currT h);
13:
else
Wait for free Host;
14:
15:
end if
16:
end if
17:
Root
return BSTHost
;
18:
end procedure
Algorithm 6 Update Algorithm
1: procedure Update(HostAlloc , V M M ax )
2:
HostAlloc
Hostnew ←BSTHost
− V M M ax ;
3:
HostAlloc
Delete(BSTHost , BSTHost
);
4:
Insert(BSTHost , Hostnew );
5:
end procedure
49
Chapter 4
4.4
Proposed Scheme
Time Complexity Analysis
Allocate Procedure:
In average case let T (n) = Number of comparison needed to search the best fit among
n hosts. Each time we call the Allocate procedure in step − 8 or step − 12 we remove
half of element form the serch space. So we will be just searching in T ( n2 ). step − 2
and step − 3 will be executed once each time the procedure is called, hence C1 .1 and
C2 .1 respectively. If step − 6 will be evaluated to true then step − 6 and step − 7
will be evaluated once each, lets say C3 .1 and C4 .1 respectively, else step − 10 and
step − 11 will be evaluated once each, lets say C5 .1 and C6 .1 respectively. Otherwise
step − 14 will evaluated once, lets say C7 .1. At the end step − 7 will be evaluated
once, C8 .1. Hence we can write the recurance relation as given bellow.
T (n) = T ( n2 ) + C1 .1 + C2 .1 + C3 .1 + C4 .1 + C8 .1
T (n) = T ( n2 ) + C
For simplicity assume n = 2k and C = 5 in this case.
T (n) = T ( n2 ) + 5
=T ( n4 ) + 5 + 5
=T ( n8 ) + 5 + 5 + 5
.
.
.
=T ( 2nk ) + k.5
=T (1) + 5k
as k = log2 n
T (n) =C + 5 log2 n
T (n) =O(log2 n)
If the binary search tree is formed only in one direction (left skewed or right skewed),
then their may be the case where the best fit host will be in the leaf node, i.e. the
last node. In that case the algorithm have to search all the n nodes of the host BST
to find the best fit. So the worst case time complexity of the Allocate procedure is
50
Chapter 4
Proposed Scheme
O(n).
Update Procedure:
As the deletion and insertion operation in a binary serach tree takes O(n) in worst
case and O(log2 n) in average case [29]. Hence in average case step − 3 and step − 4
will run for O(log2 n) number of times and in worst case it will run for O(n) number
of times. step−3 will run for O(1) times in all the cases. Hence the average case time
complexity for Update procedure is O(log2 n) and the worst case time complexity is
O(n).
VM Scheduler Algorithm:
Let m = number of virtual machines that have to be allocated to n physical host,
Hence step − 2 will run for m times in all cases. As finding the maximum element
in a binary search tree takes O(log2 n) in average case and O(n) in worst case [29].
Hence for each virtual machine step − 4, step − 5, step − 11 and step − 12 will run for
O(log2 n) in average case and O(n) in worst case. step − 3 and step − 6 will run for
O(1) times for each virtual machine in all cases. As we proved Allocate procedure
will run for O(log2 n) in average case and O(n) in worst case for each virtual machine.
Hence for each virtual machine placement the VM Scheduler algorithm will run for
O(1) + O(log2 n) + O(log2 n) + O(1) + O(log2 n) + O(log2 n) + O(log2 n) times
i.e., O(log2 n) in average case and O(1) + O(n) + O(n) + O(1) + O(n) + O(n) +
O(n) times i.e., O(n) in worst case. Hence for m virtual machines it will run for
O(m × log2 n) times in average case and O(m × n) times in worst case.
4.5
Conclusion
In this chapter the proposed scheme has been discussed. The proposed VM Sheduler
algorithim is presented, which uses a best fit heuristic based on binary search tree.
The time complexity analysis has also been discussed and it is found to be O(m × n)
in worst case and 0(m × log2 n) in average case.
51
Simulation and Results
Experiment-1
Experiment-2
Experiment-3
Chapter 5
Simulation and Results
5.1
Introduction
The proposed VM Scheduler algorithm is simulated along with other three
algorithms (Ranking algorithm, Greedy first fit algorithm and Round-Robin
algorithm) using CloudSim [30].
CloudSIm is an open-source toolkit developed in Java, for simulation of cloud
computing application and environment.
CloudSim can be used to simulate
data-center, Host machines, Virtual Machines, Cloudlet ( a dummy application that
will run on a virtual machine) etc. by using predefined classes and functions.
Using this simulator we have created some host machines in a data-center and
some virtual machines to run on those host machines. We have implemented four VM
provisioning models (VM Scheduler, Greedy First Fit, Ranking and Round-Robin)
to allocate the created virtual machines to the host machines depending on the type
of algorithm used in each.
The chapter 5 discuss the experiment datas and the results we obtained in section
5.2, 5.3 and 5.4.
53
Chapter 5
5.2
Simulation and Results
Experiment-1:
Table 5.1: Experiment-1 Host memory specification
Host
H1
Memory
H2
H3
H4
H5
H6
H7
H8
H9
2048 1024 2048 512 1024 1024 512 2048 1024
H10
512
(in MB)
Table 5.2: Experiment-1 VM request memory specification
VM
Memory
V M1
V M2
V M3
V M4
V M5
V M6
V M7
V M8
V M9
V M10
256
2048
1024
512
1024
256
512
1024
512
1024
(in MB)
Results:
Table 5.3 shows the host machines in which the virtual machines of requested
specification is created, by each placement policy.
Figure 5.1: Experiment:1 Available Memory vs.Host Machine
54
Chapter 5
Simulation and Results
Table 5.3: Experiment-1 VM to Host mapping
Greedy
Ranking Round
First-Fit
VM Scheduler
Robin
V M1
H1
H1
H1
H3
V M2
H3
H3
H3
H1
V M3
H1
H8
H5
H2
V M4
H1
H1
H6
H4
V M5
H2
H1
H8
H5
V M6
H1
H8
H8
H3
V M7
H4
H2
H8
H7
V M8
H5
H5
H9
H6
V M9
H6
H6
H10
H10
V M10
H8
H9
H1
H9
Figure 5.2: Experiment:1 Time vs. No. of VM placed
55
Chapter 5
Simulation and Results
The graph in figure 5.1 shows that after allocation of all virtual machine requests,
there are many small chunks of memory in different host machines in case of Greedy
First Fit, Ranking and Round-Robin algorithm. But VM Scheduler utilizes all the
host machines efficiently hence H3 and H8 is having two big chunks of memory which
can be used to allocate two higher specification VM requests.
The graph in figure 5.2 shows that when number of VM request is not large in
number, reedy First Fit, Round-Robin and VM scheduler have almost same time
versus number of virtual machine placed graph, But Ranking algorithm is takes
more time than the other three algorithm.
5.3
Experiment-2:
Table 5.4: Experiment-2 Host memory specification
Host
H1
Memory
H2
H3
H4
H5
H6
H7
H8
H9
H10
4096 2048 4096 1024 2048 4096 2048 2048 2048 1024
(in MB)
Table 5.5: Experiment-2 VM request memory specification
VM
Memory
V M1
V M2
V M3
V M4
V M5
V M6
V M7
V M8
V M9
V M10
2048
512
1024
1024
256
512
1024
512
256
2048
V M11
V M12
V M13
V M14
V M15
V M16
V M17
V M18
V M19
V M20
512
256
256
512
1024
512
512
2048
4096
4096
(in MB)
VM
Memory
(in MB)
Results:
Form the graphs in figure 5.4 and 5.3, it can be conclude that VM scheduler
managed to place all the VM requests by efficiently allocating these requests to the
proper host machines. In case of other three placement policy the placement in not
56
Chapter 5
Simulation and Results
Figure 5.3: Experiment:2 % of VM allocated vs. Allocation Policies
100% even though some host having good chunks of memory, but not good enough
to place the large VM requests. This shows the better performance of VM Scheduler
compare to other three.
Figure 5.4: Experiment:2 Available Memory vs. Host Machine
57
Chapter 5
5.4
Simulation and Results
Experiment-3:
Table 5.6: Experiment-3 Host memory specification
Host
H1−5
H6−10
H11−15
H16−20
H21−25
H26−30
Memory
4096
2048
1024
4096
1024
2048
(in MB)
Table 5.7: Experiment-3 VM request memory specification
Host
Memory
V M1−10
V M11−20
V M21−30
H31−35
H36−40
H41−50
H51−55
2048
512
1024
512
1024
512
4096
(in MB)
DeleveredService
The SLA violation percentage can be calculated as [100 - ( RequestedService
× 100)
%] The graph in the figure 5.5 shows that even with increase in the number of
Figure 5.5: Experiment:3 SLA violation % vs. Allocation Policies
requests the SLA violation with respect to single dimensional request is zero in case
of VM Scheduler. And graph in figure 5.6 shows that with increase in number of
VM requests the running time of the VM Scheduler is less than that of other three.
58
Chapter 5
Simulation and Results
Figure 5.6: Experiment:3 Total time taken vs. Allocation Policies
5.5
Conclusion
The results obtained from the experiments carried out are in accordance with the
proposed scheme and this shows that the proposed algorithm performs better than
ranking, greedy first fit and round robin approches, taking minimizing cost, SLA
violation into consideration.
59
Conclusion
Conclusion
Scope for Further Research
Chapter 6
Conclusion
6.1
Conclusion
Virtual machine placement is an important issue in cloud computing, it is because
all the requests that arrive for any infrastructure have to be served by creating
virtual machines of the requested specification on the underlying physical machines.
In case of On-Demand access the virtual machine requests have to served quickly
for a small interval of time. In this paradigm to serve more requests at a particular
time-frame, the physical machines should be used effectively i.e., the virtual machine
placement policy shoud be good enough to minimize the number of physical machine
used, considering the cost and SLA. In this thesis we discussed some virtual machine
placement policies adopted by various open-source cloud computing solutions. We
discussed our proposed framework for efficiently solve this problem, in which we
described our proposed policy named VM Scheduler for virtual machine placement.
From the results obtained it is clear that the proposed VM Scheduler is performing
much better than other discussed placement policies in terms of minimizing cost,
minimizing allocation time and minimizing SLA violations.
61
Chapter 6
6.2
Conclusion
Scope for Further Research
In this work virtual machine migration has not been taken into consideration, by
introducing which the performance can be improved further. After a virtual machine
finishes its execution at a particular physical machine, that place can be taken by a
more suitable virtual machine running on a different physical machine, which allows
further minimization of number of physical resources used, and hence the cost.
62
Bibliography
[1] Shuai Zhang, Shufen Zhang, Xuebin Chen, and Xiuzhen Huo. Cloud computing research and
development trend. In Future Networks, 2010. ICFN’10. Second International Conference on,
pages 93–97. IEEE, 2010.
[2] Barrie Sosinsky. Cloud computing bible, volume 762. Wiley, 2012.
[3] Armando Fox, Rean Griffith, A Joseph, R Katz, A Konwinski, G Lee, D Patterson, A Rabkin,
and I Stoica. Above the clouds: A berkeley view of cloud computing. Dept. Electrical Eng.
and Comput. Sciences, University of California, Berkeley, Rep. UCB/EECS, 28, 2009.
[4] Piyush Patel and Arun Kr Singh.
A survey on resource allocation algorithms in cloud
computing environment. In Golden Research Thoughts Volume 2, Issue. 4. Ashok Yakkaldevi,
2012.
[5] Peter Mell and Timothy Grance. The nist definition of cloud computing (draft). NIST special
publication, 800:145, 2011.
[6] Bernard Golden. Cloud computing: Two kinds of agility. www.cloudtweaks.com/2010/07/
cloud-computing-two-kinds-of-agility/, 2010.
[7] Multitenancy. en.wikipedia.org/wiki/Multitenancy, 2013.
[8] Cloud computing demystifying saas, paas and iaas. www.cloudtweaks.com/2010/05/cloudcomputing-demystifying-saas-paas-and-iaas/, 2010.
[9] Ryan Sobel. Virtualization vs. cloud computing: There is a difference. www.hightechhighway.com/virtualize/virtualization-vs-cloud-computing-there-is-adifference/, 2012.
[10] John Considine. Do vms still matter in the cloud? www.cloudswitch.com/page/do-virtualmachines-still-matter-in-the-cloud, 2010.
63
Bibliography
[11] Hyukho Kim, Woongsup Kim, and Yangwoo Kim. Experimental study to improve resource
utilization and performance of cloud systems based on grid middleware.
Journal of
Communication and Computer, 7(12):32–43, 2010.
[12] K Mills, J Filliben, and C Dabrowski. Comparing vm-placement algorithms for on-demand
clouds.
In Cloud Computing Technology and Science (CloudCom), 2011 IEEE Third
International Conference on, pages 91–98. IEEE, 2011.
[13] Bhanu P Tholeti. Hypervisors, virtualization, and the cloud: Learn about hypervisors, system
virtualization, and how it works in a cloud environment. www.ibm.com/developerworks/
cloud/library/cl-hypervisorcompare/, 2011.
[14] Understanding the virtualization market. www.datacenterknowledge.com/archives/2012/
08/01/hypervisor-101-a-look-hypervisor-market/, 2012.
[15] Bhanu P Tholeti.
hypervisor.
Hypervisors, virtualization, and the cloud:
Dive into the xen
www.ibm.com/developerworks/cloud/library/cl-hypervisorcompare-xen/
index.html, 2011.
[16] Patrı́cia Takako Endo, Glauco Estácio Gonçalves, Judith Kelner, and Djamel Sadok. A survey
on open-source cloud computing solutions. In Brazilian Symposium on Computer Networks
and Distributed Systems, 2010.
[17] Xen hypervisor. http://www.xen.org/products/xenhyp.html, 2012.
[18] About nimbus. http://www.nimbusproject.org/about/, 2012.
[19] Naidila Sadashiv and SM Dilip Kumar. Cluster, grid and cloud computing: A detailed
comparison. In Computer Science & Education (ICCSE), 2011 6th International Conference
on, pages 477–482. IEEE, 2011.
[20] About the opennebula.org project. http://www.opennebula.org/about:about, 2012.
[21] The eucalyptus cloud. http://www.eucalyptus.com/eucalyptus-cloud/iaas, 2013.
[22] Norman Bobroff, Andrzej Kochut, and Kirk Beaty. Dynamic placement of virtual machines for
managing sla violations. In Integrated Network Management, 2007. IM’07. 10th IFIP/IEEE
International Symposium on, pages 119–128. IEEE, 2007.
[23] Hien Nguyen Van, Frederic Dang Tran, and Jean-Marc Menaud. Autonomic virtual resource
management for service hosting platforms. In Proceedings of the 2009 ICSE Workshop on
Software Engineering Challenges of Cloud Computing, pages 1–8. IEEE Computer Society,
2009.
64
Bibliography
[24] Sivadon Chaisiri, Bu-Sung Lee, and Dusit Niyato. Optimal virtual machine placement across
multiple cloud providers. In Services Computing Conference, 2009. APSCC 2009. IEEE
Asia-Pacific, pages 103–110. IEEE, 2009.
[25] Hidemoto Nakada, Takahiro Hirofuchi, Hirotaka Ogawa, and Satoshi Itoh. Toward virtual
machine packing optimization based on genetic algorithm. In Distributed Computing, Artificial
Intelligence, Bioinformatics, Soft Computing, and Ambient Assisted Living, pages 651–654.
Springer, 2009.
[26] Shubham Agrawal, Sumit Kumar Bose, and Srikanth Sundarrajan.
Grouping genetic
algorithm for solving the serverconsolidation problem with conflicts. In Proceedings of the
first ACM/SIGEVO Summit on Genetic and Evolutionary Computation, pages 1–8. ACM,
2009.
[27] Borja Sotomayor, Rubén S Montero, Ignacio M Llorente, and Ian Foster. Virtual infrastructure
management in private and hybrid clouds. Internet Computing, IEEE, 13(5):14–22, 2009.
[28] Hai Zhong, Kun Tao, and Xuejie Zhang. An approach to optimized resource scheduling
algorithm for open-source cloud systems. In ChinaGrid Conference (ChinaGrid), 2010 Fifth
Annual, pages 124–129. IEEE, 2010.
[29] Pawan Jindal, Amit Kumar, and Shishir Kumar. Analysis of time complexity in binary search
tree. In Proceedings of the 4th National Conference; INDIACom, 2010.
[30] Rodrigo N Calheiros, Rajiv Ranjan, Anton Beloglazov, César AF De Rose, and Rajkumar
Buyya. Cloudsim: a toolkit for modeling and simulation of cloud computing environments
and evaluation of resource provisioning algorithms.
41(1):23–50, 2011.
65
Software: Practice and Experience,
Dissemination
Dissemination
Journal
1. Sameer Kumar Mandal and Pabitra Mohan Khilar. Article: Efficient Virtual Machine
Placement for On-Demand Access to Infrastructure Resources in Cloud Computing.
International Journal of Computer Applications 68(12):6-11, April 2013. Published by
Foundation of Computer Science, New York, USA.
66
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement