O documento descreve um framework baseado em colônia de formigas para alocação eficiente de recursos em nuvens. O framework propõe o uso de agentes inspirados em formigas, como formigas trabalhadoras, testadoras e escoteiras, para alocar solicitações de serviço de forma a otimizar o consumo de energia e satisfazer requisitos de desempenho. O framework monitora o desempenho de aplicativos hospedados e rebalanceia a carga entre os nós quando necessário para manter a qualidade do serviço.
Cloud resource allocation using ant colony framework
1. LskraoChimakurthi
Madhu Kumar
Department of Computer Science and Engineering
National Institute ofTechnology
Leinylson Fontinele Pereira
Alocação Eficiente de Recursos de Energia para
as Nuvens Usando o Ant Colony Framework
2. É uma das novas tecnologias que vem melhorando rapidamente.
Fornece recursos escaláveis necessários para as aplicações
hospedadas nela.
Neste artigo foi considerado o problema de alocação de recursos, em
que os clientes estão dispostos a hospedar seus aplicativos na nuvem
do provedor com determinados requisitos de desempenho, tais como
rendimento e tempo de resposta.
Desde então, os centros de dados que hospedam os aplicativos
consomem enormes quantidades de energia, causando enormes
custos operacionais.
Soluções que buscam reduzir o consumo de energia, bem como os
custos operacionais estão ganhando importância.
Neste trabalho, foi proposto um mecanismo de alocação eficiente de
recursos na nuvem utilizando Framework colônia de formigas.
03/10/20132 Universidade Estadual do Ceará - UECE
Cloud Computing
4. Cloud computing fornece os serviços de utilidade pública com base no modelo pay-as-
you-go.
Os usuários podem receber diferentes tipos de aplicações na nuvem.
Estas aplicações são entregues como serviços através da internet. clientes na nuvem já
não precisam se preocupar com os custos associados. Muitos pesquisadores estão
voltados principalmente para hospedagem de aplicações de alto desempenho em
nuvens sem considerar a eficiência energética. Uma vez que os custos de energia
tendem a aumentar, a necessidade de optimizar o custo de recursos de data center
também está aumentando.
Assim, os recursos de nuvem precisam ser atribuídos não apenas para satisfazer
Requisitos de QoS especificados pelos usuários, mas também para reduzir o uso de
energia.
A carga sobre os servidores de data center mudam de forma dinâmica.
Além de alocar os recursos necessários para os serviços utilizando um número mínimo
de servidores.
Assim como nas colônias de formigas, a adoção de alguns mecanismos são úteis para a
adaptação ao comportamento dinâmico das cargas.
03/10/20134 Universidade Estadual do Ceará - UECE
Introdução
6. Trabalhos Relacionados
A alocação de recursos para as nuvens tem sido estudado extensivamente na
literatura.
Vários algoritmos heurísticos têm sido propostos por pesquisadores para
alocação ótima de recursos em nuvem.
Com base no mercado de gestão de recursos foi proposto por Rajkumar
Buyya et al. para gerenciar as atribuições de recursos de computação.
O atual estado-da-arte em Cloud Computing tinha seus limites ao considerar
a consciência da energia.
Um método de alocação de recursos consciente de energia para as nuvens
tem sido um em que se maximiza o prestador de serviço.
No entanto, é desenvolvido principalmente para agendar servidores para
completar os trabalhos de clientes e não aplicáveis para agendar diferentes
aplicações que necessitam de forma crítica dos requisitos de desempenho.
Algumas outras técnicas também foram propostas para prever as cargas de
trabalho dos servidores e aplicar métodos estatísticos.
03/10/20136 Universidade Estadual do Ceará - UECE
12. Sistemas Inteligentes
03/10/2013Universidade Estadual do Ceará - UECE12
“A propriedade de um sistema onde o comportamento
de vários agentes simples interagindo direta ou
indiretamente ao agir em seu ambiente local acarreta
na emergência de um comportamento global
“inteligente”...
Engelbrecht, 2005.
13. Arquitetura do Sistema
O principal objetivo da alocação de recursos é alocar
as solicitações de serviço online para aplicativos que
possui uso intensivo de CPU e memória.
Para atingir a alocação de recursos de modo que
satisfaça os pedidos dos clientes do serviço, foi
utilizada a seguinte arquitetura.
03/10/201313 Universidade Estadual do Ceará - UECE
15. Metodologia
Foi recolhido o consumo de energia de cada servidor
no data center, juntamente com as capacidades de
recursos, como poder de processamento da CPU e
memória primária antes de admiti-los em nuvem.
Armazenou-se essas informações consistindo de ID
do nó, Poder de processamento, memória e Consumo
de energia em uma tabela.
03/10/201315 Universidade Estadual do Ceará - UECE
17. Toma-se o consumo de energia como a energia consumida por
CPU ou de memória quando a sua utilização é de 100%, o que é
medido antes de admitir o nó na nuvem.
Assumi-se que a energia consumida por todos os componentes
restantes de um nó é o mesmo para todos os nós.
Considera-se que, todos os nós estão tendo a mesma
conectividade de rede e acesso para o espaço de
armazenamento compartilhado.
Armazena-se essas informações em uma tabela disponível
chamada Tabela de recursos com Id do nó disponível, o poder
atual de consumo e da capacidade restante.
Esta tabela é representada como uma matriz de lista com um
ponteiro (PTR Allocation) sendo apontado para o nó no qual a
próxima solicitação de serviço é implantada.
03/10/201317 Universidade Estadual do Ceará - UECE
Metodologia
18. Nuvem de Controle(Rainha Formiga)
- Ant Queen -
Os pedidos provenientes dos clientes que consistem na sequência,
são dadas para o controlador.
Controlador de nuvem mantém uma fila (Q) para armazenar as
solicitações de serviço para hospedar as aplicações.
Ela gera os agentes formigas testadores, escoteiros, faxineiros e
trabalhadores periodicamente.
O movimento destes agentes é modelado da seguinte forma:
Cada formiga exceto Rainha e Trabalhador mantém uma lista de nós
visitados que é inicialmente vazia.
Cada nó na nuvem mantém uma lista de informações do nó vizinho.
03/10/201318 Universidade Estadual do Ceará - UECE
20. Formigas - Ants
Sempre que um pedido de serviço é recebido na fila, as
formigas trabalhadoras criam uma VM com um tratamento
específico de energia de CPU, memória, etc, se aceito.
Assim, as formigas operárias estão sempre olhando na fila para
verificar se há algum pedido pendente a ser processado.
Se tal pedido for encontrado, ela desempilha o pedido e chama
oAlgoritmo 1.
A formiga trabalhadora só é responsável pela implantação do
pedido em umaVM, como veremos noAlgoritmo 1.
O balanceamento de carga de decisões são tomadas por
formigas testadoras.
Após a implantação, cria-se um Acordo de Nível de Serviço
(SLA) do Agente Monitor, que monitora o aplicativo
hospedado.
03/10/201320 Universidade Estadual do Ceará - UECE
21. Agente Monitor SLA
Ele calcula o tempo médio de resposta e taxa de transferência do aplicativo hospedado,
monitorando continuamente.
Passa esta informação para o hypervisor em que o acolhimento, sob a forma de uma variável
(SLAM), que é calculada de acordo com o desempenho do aplicativo, como veremos no Algoritmo
2.
Quando a formiga testadora consulta o nó para utilização das informações, o hypervisor envia este
valor SLAM junto com a informação de utilização.
Se o valor é do SLAM é 1, a formiga tester vai tentar alocar esta VM para um melhor nó que têm
mais recursos disponíveis do que o nó atual entre os nós atualmente em execução e não vai tentar
acordar um novo nó .
Se seu valor é 2, então , ela vai “acordar” o próximo nó em standby, caso seja necessário lidar com as
cargas mais pesadas. Dependendo destes valores, a formiga testadora equilibrará a carga.
Quando o tempo de resposta é de menos de 10% do tempo SLA determinado e o rendimento é 10%
maior, então considera-se como uma situação normal.
Quando o tempo de resposta aumenta e ainda está entre 5-10% a menos ou 5-10 % a mais do que o
rendimento, então um das formigas testadoras irá equilibrar a carga se alguns nós em execução.
Se o tempo de resposta atingir o Tempo de SLA e está apenas abaixo de 5% ou se a transferência é
de 5% maior, então, uma das formigas testadoras irá definitivamente mudar a VM para outro nó ou
clonar estaVM em outro nó e configurar o roteador para que o tráfego seja dividido entre os dois.
03/10/201321 Universidade Estadual do Ceará - UECE
43. Formiga Testadora
- Tester Ant -
O principal trabalho das formigas testadoras é fazer
com que a atualização da informação sobre o
consumo de energia de cada um dos nós e atualizar a
lista de nós disponíveis.
Ele também toma decisões para equilibrar as cargas.
Considera-se que a utilização de 80% da CPU e 80%
da memória de um nó seja considerado desejável, a
utilização acima de 90% é considerada alta.
03/10/201343 Universidade Estadual do Ceará - UECE
44. Formiga Testadora
- Tester Ant -
A fim de melhorar o processo de criação de MVs,
foram colocados três nós abaixo do nó de alocação
atual em modo standby e crio-se as VMs com
sistemas operacionais específicos para ser capaz de
configurar os aplicativos rapidamente.
Optou-se pelo modo de espera do que o modo
hibernar.
03/10/201344 Universidade Estadual do Ceará - UECE
53. Formigas Escoteiras
- Scout Ant -
O objetivo da formiga sentinela/exploradora é
descobrir na nuvem recém-adicionada, nós que
prestam serviços de computação e memória.
Quando tal novo nó é encontrado, ela adiciona à
tabela de recursos disponíveis.
03/10/201353 Universidade Estadual do Ceará - UECE
54. Registro do nó
O nó que quer juntar-se a nuvem deve informar isto a um
dos nós na nuvem, enviando uma solicitação.
Quando a formiga olheira visita um nó e encontra um
pedido, ela registra o nó com um ID único.
Ela atualiza esta informação na lista de nós disponíveis e
coloca esse nó em posição apropriada na lista.
Sempre que um nó é adicionado pelo administrador em
caso de escassez de recursos, então, o registro será feito
pelo nó controlador de nuvem.
03/10/201354 Universidade Estadual do Ceará - UECE
79. Hipótese
Vamos supor que um nó esteja completando a
inscrição para o nó recém-chegado.
Se a operação de registro falhar, o novo nó entrará
em contato com outro nó na nuvem.
03/10/201379 Universidade Estadual do Ceará - UECE
80. Formigas Faxineiras
- Cleaner Ant -
Ela mantém a tabela de recursos disponíveis através da
remoção dos recursos disponíveis a partir da lista.
Quando este agente atinge um nó na nuvem e ele não
responde, esse agente para no tempo de duração
específico, então ela assume que esse nó falhou e toma as
ações necessárias para a recuperação e remoção da
informação deste nó da lista de nós disponíveis.
Ela remove as VMs clonadas a partir dos nós se eles estão
sub-utilizadas ou se o desempenho é mais do que o
necessário.
03/10/201380 Universidade Estadual do Ceará - UECE
88. Direções Futuras
Realizaram a investigação de vários bancos de ensaio
de computação em nuvem e descobriram que o
simulador cloudsim é adequado para testar o
mecanismo proposto.
Pretendem também melhorar por estar incorporando
a previsão de carga e modelos de utilização que esta
abordagem pode ser aplicada a ambientes de nuvem
reais.
03/10/201388 Universidade Estadual do Ceará - UECE
90. Conclusão
Propuseram uma solução baseada em agentes
inteligentes, para a alocação de recursos para
aplicações em nuvem.
Acreditam que este mecanismo é muito flexível e
pode ser estendido com melhorias, como os módulos
da solução são modeladas como agentes inteligentes
independentes, podem incorporar funcionalidades
adicionais em qualquer um destes agentes de
formigas.
03/10/201390 Universidade Estadual do Ceará - UECE
91. Referência
Power Efficient Resource Allocation for Clouds Using Ant Colony
Framework, Lskrao himakurthi & Madhu Kumar S D. Department of
Computer Science and Engineering - National Institute of Technology
Calicut, Kerala 673601. Disponível em: <
http://arxiv.org/abs/1102.2608 >.
Utilização de Heurísticas Bioinspiradas em Sistemas de Inteligência
Coletiva para Otimização Combinatória em Redes Mesh, Leinylson
Fontinele Pereira. Trabalho de Conclusão de Curso, Universidade
Estadual do Piauí – UESPI, Parnaíba.
03/10/201391 Universidade Estadual do Ceará - UECE