Академический Документы
Профессиональный Документы
Культура Документы
Clouds
Naylor G. Bachiega, Henrique P. Martins, Roberta
Spolon, Marcos A. Cavenaghi
Departamento de Cincia da Computao
UNESP - Univ Estadual Paulista
Bauru, Brazil
Abstract In an attempt to reduce costs by taking advantage
of efficient computing resources, recently developed technologies
and architectures are having wide acceptance in the market. One
of such technologies is Cloud Computing, which uses existing
technologies, such as virtualization, trying to solve problems like
energy consumption and space allocation in data centers or large
companies. The cloud is shared by multiple customers and allows
an elastic growth, where new resources such as hardware or
software, can be hired and added anytime in the platform. In this
model, customers pay for the resources they use and not for all
the architecture involved. Therefore, it is important to determine
how efficiently those resources are distributed in the cloud. This
paper aims to propose and develop a scheduling algorithm for
the cloud that could efficiently define the distribution of
resources within the architecture.
KeywordsCloud
Virtualization
Computing;
I.
Scheduling
A. Virtualization
Cloud Computing uses virtualization to create an
environment (cloud), which allocates instances (virtualized
operating systems) according to the available resources
(physical machines). These virtual machine instances are
allocated in accordance with the physical machines that are part
of the cloud environment.
As shown in Figure 1, virtualization consists basically of a
virtualization layer that makes the mediation between the
hardware and the virtual machine (VM). Widely used, VMs
contributed to a better use of resources, whereas a computer
occasionally reaches all of its processing capacity.
Algorith;
INTRODUCTION
CLOUD COMPUTING
B. Models of Cloud
According Sasikala [6], cloud models are defined according
to the group that will use the services of architecture, these can
be of four types: public, private, community and hybrid cloud.
Software as a
Service (SaaS)
Platform as a
Service (SaaS)
Infrastructure
as a Service
(SaaS)
Application
Software Framework
(Java/Python/.Net), Storage (DB/File)
Platforms
Computation (VM) Storage (block)
Infrastructure
CPU, Memory, Disk, Bandwidth
Hardware
Fig. 2. Cloud Computing architecture (Adapted from [7]).
Adaptation
Resources
Adaptation of Dynamic
Performance
Virtual Infrastructure
Management
Adaptation of
Application
Virtual Machine
Cloud
Nodes
Fig. 4. Cloud infrastructure.
The process
restarts when the
subthreads are
enclosed.
Start
Process
Multiple
processes
Each subthread
starts with 1 to 3
procedures (Disk,
CPU and network)
Each procedure
starts with a random
life time.
CPU usage
Network
usage
Disk usage
1) Node Resources
A program that monitors, in predefined time intervals, the
amount of resources of each node was created. The program is
written in Python, to be the same language used by OpenStack
and is present in each node of the cloud.
To monitor the amount of available resources on the node,
a library of Python, called PSUTIL was used. This library
contains functions that evaluate the use of resources such as
CPU, memory, network, disk. In the specific case of the disk,
to determine its speed, a test is made to read and write to
calculate transfer rates.
The algorithm was scheduled to collect machine
information and store it in a database. It was scheduled to run
every five minutes, and that time was based on uptime
command, found in Unix and Linux systems, which checks the
load processes in these systems. This algorithm has three
important functions:
resources: this function is performed only once and
through performance analysis, which determines the
maximum data transfer capacity of the disk and the
network, number of cores in the processor, memory and
processing available.
REFERENCES
[1]