Professional Documents
Culture Documents
Clouds
Naylor G. Bachiega, Henrique P. Martins, Roberta
Spolon, Marcos A. Cavenaghi
Departamento de Cincia da Computao
UNESP - Univ Estadual Paulista
Bauru, Brazil
Computing;
I.
Scheduling
Algorith;
INTRODUCTION
CLOUD COMPUTING
A. Classes of Services
According to Buyya [3], Cloud Computing is divided into
three service classes according to the type of services offered
by providers: Infrastructure as a Service (IaaS), Software as a
Service (SaaS) and Platform as a Service (Paas ):
Software as a Service (SaaS): in this class, the
applications reside on top of the model, offering
"software on demand". The applications are accessible
from various devices such as a Web browser (e.g.:
webmail). The customer does not manage or control the
cloud infrastructure, such as network, servers, operating
systems, storage, or even the application. The collection
for the service, in this case, can be based on the number
of users [4].
Platform as a Service (PaaS): provides an
environment for developers to build, test and deploy
their applications, not caring about the infrastructure,
amount of memory or hardware requirements. One
example of this class is Google Apps service, where it is
offered a scalable environment for developing and
hosting Web applications or Microsoft Azure [4].
Infrastructure as a Service (IaaS): in this class of
service, the customer has the availability of cloud
processing, networking, storage, and other computing
resources, where he can install operating systems or any
other system. The customer does not manage or control
the underlying cloud infrastructure and pay only for the
structure used. As examples, it can be mentioned IaaS
services such as Amazon Elastic Compute Cloud
(Amazon EC2), Amazon Simple Storage Service
(Amazon S3), Eucalyptus, OpenNebula and OpenStack
[4].
Besides the three types of services mentioned above, other
authors also consider: CaaS (Communications as a Service),
DaaS (Datacenter as a Service), Kaas (Knowledge as a Service)
and HAAS (Hardware as a Service) [5].
B. Benefits from Cloud Computing
The main benefit brought with the use of Cloud Computing
is scalability. Servers that are not being used represent
Adaptation
Resources
Adaptation of Dynamic
Performance
Adaptation of
Application
Fig. 1. Taxonomy of scheduling in Grid [7].
using the scores to determine the node that will be used for
processing. This score does not take into account the condition
of resources available in the cloud and it often affects its
performance, as well as the services delivered to the customers
by service providers.
Considering that the current scheduling algorithms of opensource cloud to determine static mode cloud resources, this
study aimed to create a dynamic scheduling algorithm to
determine which computing nodes within a cloud, have the
resources to efficiently host new virtual machine instances.
IV.
scheduling
Virtual Infrastructure
Management
Virtual Machine
Nodes
Cloud
Nodes
01
02
03
Network
100 Mbps
100 Mbps
100 Mbps
The process
restarts when the
subthreads are
enclosed.
Multiple
processes
CPU usage
CPU
Network
Memory
Disk
01
99.7 %
100 %
91 %
100 %
02
99.8 %
100 %
91.2 %
100 %
03
99.8 %
100 %
90 %
100 %
Each subthread
starts with 1 to 3
procedures (Disk,
CPU and network)
Each procedure
starts with a random
life time.
TABLE II
AVAILABLE RESOURCES
Nodes
Start
Process
Network
usage
Disk usage
2) Choice Node
The second algorithm is present in the manager. This
should capture all the records present in the database with the
information of resources for each node, analyses them and
score them. For this, the algorithm evaluates the records of the
conditions for the last 24 hours of an active node, taking into
consideration that this is only a prototype and future revisions
may take into account the behavior parameterization of the
nodes using neural networks or other dynamic algorithms.
To determine the node with more features, it is taken into
consideration a simple average of the records and weights are
applied on resources that may influence the performance of a
virtual machine. In this test, higher weights were prioritized for
CPU and memory.
Based on the results, the algorithm chooses the node with
more resources available before launching the virtual machine
instance. As it is shown in Figure 7, the prototype could
[3]
[4]
Fig. 8. Results of instances of variable consumption.
[5]
[6]
[7]
[8]