pontif´icia universidade cat olica de minas gerais

79
PONTIF ´ ICIA UNIVERSIDADE CAT ´ OLICA DE MINAS GERAIS Mestrado em Inform´ atica Anselmo Leonardo Obadias Nhane AUTO-OTIMIZAC ¸ ˜ AO EM SISTEMAS DE SOFTWARE DE COMPUTAC ¸ ˜ AO AUTON ˆ OMICA BASEADO NA HEUR ´ ISTICA DE ENXAME DE ABELHAS Belo Horizonte 2014

Upload: others

Post on 03-Jul-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

PONTIFICIA UNIVERSIDADE CATOLICA DE MINAS GERAISMestrado em Informatica

Anselmo Leonardo Obadias Nhane

AUTO-OTIMIZACAO EM SISTEMAS DE SOFTWARE DE COMPUTACAOAUTONOMICA BASEADO NA HEURISTICA DE ENXAME DE ABELHAS

Belo Horizonte2014

Page 2: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

Anselmo Leonardo Obadias Nhane

AUTO-OTIMIZACAO EM SISTEMAS DE SOFTWARE DE COMPUTACAOAUTONOMICA BASEADO NA HEURISTICA DE ENXAME DE ABELHAS

Dissertacao apresentada ao programa de Mestrado emInformatica da Pontifıcia Universidade Catolica deMinas Gerais, como requisito parcial para obtencaodo tıtulo de Mestre em Informatica.

Orientador: Prof. Mark Alan Junho Song – Puc Mi-nas

Belo Horizonte2014

Page 3: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

FICHA CATALOGRÁFICA

Elaborada pela Biblioteca da Pontifícia Universidade Católica de Minas Gerais

Nhane, Anselmo Leonardo Obadias

N576a Auto-otimização em sistemas de software de computação autonômica

baseado na heurística de enxame de abelhas / Anselmo Leonardo Obadias

Nhane. Belo Horizonte, 2014.

78 f. : il.

Orientadora: Mark Alan Junho Song

Dissertação (Mestrado) - Pontifícia Universidade Católica de Minas Gerais.

Programa de Pós-Graduação em Informática.

1. Sistemas de computação. 2. Teoria dos sistemas. 3. Otimização

matemática. 4. Complexidade computacional. 5. Software de sistemas. I. Song,

Mark Alan Junho. II. Pontifícia Universidade Católica de Minas Gerais.

Programa de Pós-Graduação em Informática. III. Título.

CDU: 681.3.031

Page 4: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

Programa de Pós-graduação em Informática

Anel Rodoviário – KM 23,5, Rua Walter Ianni, 255 – São Gabriel / Belo Horizonte – MG / CEP: 31980-110 Fone: (31) 3439-5204 – Fax: (31) 3439-5204 – e-mail: [email protected]

FOLHA DE APROVAÇÃO

“Auto-otimização em sistemas de Software de computação autonômica Baseado na Heurística do

Enxame de Abelhas.”

Anselmo Leonardo Obadias Nhane

Dissertação defendida e aprovada pela seguinte banca examinadora:

Banca Examinadora:

Prof. Mark Alan Junho Song - Orientador (PUC Minas)

Doutor em Ciência da Computação - UFMG

Prof.ª Lucila Ishitani (PUC Minas)

Doutora em Ciência da Computação - UFMG

Prof. Carlos Alberto Marques Pietrobon (PUC-Rio)

Doutor em Informática - PUC-Rio

Prof.ª Cristiana Fernandes de Muylder (FUMEC)

Doutora em Economia Aplicada - UFV

Belo Horizonte, 31 de outubro de 2014.

Page 5: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

Dedico este feito a famılia Nhane,em especial a: Leonardo, Yanick, Yotasse, Yuri.

Page 6: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

AGRADECIMENTOS

Em primeiro lugar agradeco a Deus pelo dom da vida.

A minha eterna gratidao vai aos meus pais Leonardo O. Nhane, Maria Ilda Mandlate,

Beatriz Radio pela minha existencia e pelo apoio que me concederam em todas as fases da

minha formacao.

Aos meus filhos, esposa, irmaos, sobrinhos, tios, primos, cunhados, cunhadas, avos,

pastores e amigos em geral pela forca e oracoes.

Ao meu Orientador, Professor Mark Alan J. Song, pela disponibilidade e generosidade

em aceitar a orientacao cientıfica desta pesquisa e pelo apoio incondicional na sua realizacao.

Aos meus docentes do Programa de Mestrado em Informatica da PUC Minas, pelos

conhecimentos transmitidos que foram indispensaveis para a realizacao deste estudo.

Aos meus colegas: Joao Paulo, Paulo Lipanga, Agripino, Daniel, Viviane, Gabriela,

Carolina, Amanda, Matheus, Sebastiao, Otimar, Hayala, Agripino, Leonardo, pelo apoio nos

bons e maus momentos da carreira de pesquisa.

Ao Sebastiao Mendes, Matheus Queiros e Priscila Vieira pelo olhar crıtico na realizacao

deste estudo.

Ao Instituto Nacional de Estatıstica, Mocambique, por ter me concedido esta oportu-

nidade de formacao na area predileta de informatica. E em particular aos que depositaram

confianca na minha formacao ao nıvel de mestrado.

A todos que direta ou indiretamente contribuıram para o sucesso da minha formacao.Obrigado, Thank you, Khanimanbo.

Page 7: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

“A Computacao Autonomica representa mudanca, da era de padroes de sistemasconvencionais de tecnologia gerida pelo Homem para a era de padroes de tecnologiagerida pela tecnologia.”

Rangswamy

“Tudo e considerado impossıvel, ate acontecer.”

Nelson Rolihlahla Mandela

“Cada Homem e grande a sua medida.”

O. Nhane

Page 8: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

RESUMO

A pesquisa propoe uma metodologia de auto-otimizacao (BAM) em um sistema de computacao

autonomica, inspirado no funcionamento do enxame das abelhas em seu processo natural de

procura por alimentos, troca de informacao e na escolha das fontes de alimentos. Esta analo-

gia e aplicavel aos sistemas de computacao autonoma, que buscam continuamente otimizar o

funcionamento do sistema, monitorando e ajustando parametros do funcionamento e avaliar a

qualidade das solucoes propostas. O objetivo e tentar atender 100 % da demanda, minimizando

os custos de operacao. A metodologia segue o ciclo de controle autonomo. A pesquisa inclui

um estudo de caso do sistema web de disseminacao de dados de Mocambique, que usa recursos

de um data center. A Computacao autonomica e a area de pesquisa que objetiva introduzir

aos sistemas funcionalidades que permitam que estes se auto gerenciem devido ao aumento

da complexidade nos atuais sistemas computacionais. O estudo aplica o metodo do enxame

de abelhas nas decisoes do gerenciador autonomico em resposta as necessidades da utilidade

do servico. Para isso, o gerenciador autonomico implementa a estrategia de auto-otimizacao

baseado em Polıticas da Funcao de Utilidade, Polıtica de Metas e de Acao. A utilidade e classi-

ficada segundo as classes de demanda que mapeiam as metas do gerenciador autonomico. Para

cada meta, o metodo do exame e usado para determinar os recursos que otimizam as decisoes

no sistema. O BAM implementa o monitoramento e a analise nas etapas do ciclo de controle

de referencia para sistemas autonomicos. Na etapa de Monitoramento e usada uma tecnica de

agrupamento para capturar o comportamento da demanda. Na etapa de Analise, o gerenciador

autonomico emprega o metodo do enxame na escolha de recursos. Os resultados mostram que o

uso de classes que medem a utilidade do sistema permitiu ao gerenciador autonomico alcancar

decisoes com menor nıvel de variabilidade. Portanto, a escolha da combinacao otima de recur-

sos pode contribuir na minimizacao de custos de operacao, impactando em reducao de cerca de

60% nos custos.

Palavras-chave: Auto-otimizacao. Computacao autonomica. Autogerenciamento. Gerencia-mento por Enxame de abelhas. BAM.

Page 9: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

ABSTRACT

The research proposes a mechanism for self-optimization in autonomic computing systems,

inspired in the functioning of the bees swarm in the process of searching for food sources, ex-

changing information about the located sources and in the allocation of bees to such sources.

This analogy is applicable to autonomic computing systems, on which we also seek to continu-

ally optimize the system operation by monitoring and adjusting its parameters and evaluating

the fitness of proposed solutions. The goal is to try to meet 100 Percent of the demand while

minimizing costs by the system. The methodology follows the component of autonomic con-

trol loop. The research includes a case study focused on the web application for statistical data

dissemination system of Mozambique, which uses resources from a data center. Autonomic

computing is a research area that aims to introduce functionality to the systems, that allow them

to self-manage due to the increase in the complexity of the current computer systems. The study

applies the method of the Bees swarm in the decisions making of the an autonomic manager in

response to the needs of the utility service. For that, the autonomic manager implements the

strategy of self-optimization based on the Utility Function policies, Policy based on Targets and

Polices based in Action. Utility is classified according to classes of the demand that maps the

goals of autonomic manager. For each goal, the method of examination is used to determine

the resources that optimize decisions in the system. The BAM implements the monitoring and

analysis in the steps of the reference control loop for the autonomic systems. Monitoring is the

first step. It uses the clustering technique to minimize the impact of extreme values on the de-

tection of average demand, in each control period. In the analysis step, the autonomic manager

employs the method swarm bees to select the resources, based on the hierarchy of the levels of

the policy setting that guide the process of self-optimization. The results show that using the

utility classes to measure the autonomic manager system allowed to reach decisions with lower

variability. And the choice of the optimal combination of resources can help in minimizing

operating costs. In the case study, we show that nearly 60% of cost can be minimized.

Keywords: Self-optimization. Autonomic computing systems. Self-management. Bees auto-nomic management. BAM.

Page 10: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

LISTA DE FIGURAS

FIGURA 1 – Diagrama de aplicacao . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

FIGURA 2 – Perspetiva da IBM sobre o estagio das TIs . . . . . . . . . . . . . . . . . 22

FIGURA 3 – Diagrama da arquitetura MAPE-K . . . . . . . . . . . . . . . . . . . . . 28

FIGURA 4 – Estrutura de um elemento autonomico . . . . . . . . . . . . . . . . . . . 29

FIGURA 5 – Elemento autonomico com decisoes para auto-otimizacao baseado na teo-

ria de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

FIGURA 6 – Elemento autonomico baseado em funcao de utilidade . . . . . . . . . . . 37

FIGURA 7 – Multi-Agentes em sistema autonomico . . . . . . . . . . . . . . . . . . . 38

FIGURA 8 – Mapeamento dos estados possıveis . . . . . . . . . . . . . . . . . . . . . 39

FIGURA 9 – Abelhas empregadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

FIGURA 10 –Abelhas escolhem a melhor fonte . . . . . . . . . . . . . . . . . . . . . . 42

FIGURA 11 –Arquitetura em camadas . . . . . . . . . . . . . . . . . . . . . . . . . . 44

FIGURA 12 –Ciclo de controle de autoadaptacao . . . . . . . . . . . . . . . . . . . . . 45

FIGURA 13 –ODA Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

FIGURA 14 –Funcao de Utilidade: Auto-otimizacao em Datacenter . . . . . . . . . . . 46

FIGURA 15 –Ciclo de controle do gerenciador autonomico . . . . . . . . . . . . . . . . 50

FIGURA 16 –O BAM - Modelo em contexto da logica de auto-otimizacao . . . . . . . 51

FIGURA 17 –O caso autonomico do BAM: Monitor autonomico . . . . . . . . . . . . 52

FIGURA 18 –DFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

FIGURA 19 –Demanda de servicos: requisicoes/hora . . . . . . . . . . . . . . . . . . 53

FIGURA 20 –Fluxograma do algoritmo de enxame de abelhas . . . . . . . . . . . . . . 55

FIGURA 21 –Analise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

FIGURA 22 –Polıticas de autogestao . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

FIGURA 23 –Logica de negocio da auto-otimizacao . . . . . . . . . . . . . . . . . . . 62

FIGURA 24 –Fonte de recursos - Data center . . . . . . . . . . . . . . . . . . . . . . . 63

FIGURA 25 –Acesso ao sistema por tipo de arquivo . . . . . . . . . . . . . . . . . . . 64

FIGURA 26 –Determinacao de custo de controle de solucao proposta . . . . . . . . . . 66

Page 11: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

10

FIGURA 27 –Mudancas do comportamento da utilidade do servico . . . . . . . . . . . 68

FIGURA 28 –Valores do custo de recurso por utilidade em relacao ao custo constante . . 69

FIGURA 29 –Custos das solucoes propostas . . . . . . . . . . . . . . . . . . . . . . . . 70

FIGURA 30 –Fitness em relacao ao valor medio . . . . . . . . . . . . . . . . . . . . . 70

FIGURA 31 –Custo fixo, por cada nıvel de utilidade . . . . . . . . . . . . . . . . . . . 71

Page 12: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

LISTA DE TABELAS

TABELA 1 – Necessidade de servicos das operacoes estatısticas . . . . . . . . . . . . . 34

TABELA 2 – Classes de demanda: Limiares de controle por nıvel de utilidade . . . . . 67

TABELA 3 – Valores por classe de utilidade . . . . . . . . . . . . . . . . . . . . . . . 68

Page 13: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

LISTA DE SIGLAS

CA – Computacao Autonomica

BAM – The Bees Autonomic Manager

UML – Unified Modeling Language

ACML – Adapt Case Modeling Language

SNH – Sistema Nervoso Humano

DFT – Transformada Discreta de Fourier

TI – Tecnologia de Informacao

INE – Instituto Nacional de Estatıstica

SEN – Sistema Estatıstico Nacional (Mocambique)

IEEE – Institute of Electrical and Electronics Engineers

MV – Maquina Virtual

Page 14: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

SUMARIO

1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.1 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.3 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.4 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.4.1 Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.5 Estrutura do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2 SISTEMAS AUTONOMICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.1 Conceitos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2 Propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2.1 Autoconfiguracao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2.2 Autocura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2.3 Autoprotecao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2.4 Auto-otimizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.3 Nıveis de maturidade dos sistemas autonomicos . . . . . . . . . . . . . . . . . 262.4 O modelo arquitetural de referencia de sistemas autonomicos . . . . . . . . . 272.4.1 Gerenciador autonomico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.5 Desafios arquiteturais das propriedades da computacao autonomica . . . . . . 30

3 TECNICAS DE DECISAO APLICADAS NA AUTO-OTIMIZACAO . . . . . . 323.1 Definicao do problema de decisao autonomica . . . . . . . . . . . . . . . . . . 323.2 Tipos do problemas de decisao . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.3 Tecnicas aplicadas a auto-otimizacao . . . . . . . . . . . . . . . . . . . . . . . 353.3.1 Teoria de controle adaptativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.3.2 Funcao de utilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3.3 Tecnologia dos agentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3.4 Sistemas autonomicos baseados em polıticas de acao e metas . . . . . . . . . . 383.3.5 Algoritmos bio-inspirados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.3.6 Algoritmo do Enxame das Abelhas . . . . . . . . . . . . . . . . . . . . . . . . 40

4 TRABALHOS RELACIONADOS . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5 ABORDAGEM PROPOSTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495.1 Ciclo inteligente de controle de auto-otimizacao . . . . . . . . . . . . . . . . . 495.2 Atividades autonomicas do BAM . . . . . . . . . . . . . . . . . . . . . . . . . 515.3 O componente monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.3.1 Atividades de monitoramento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545.4 A componente de analise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545.4.1 Atividades de analise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.5 Metricas de avaliacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.6 Polıticas de autogestao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Page 15: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

14

6 ESTUDO DE CASO: PROPOSTA DE AUTO-OTIMIZACAO DA DISSEMINACAODE INFORMACAO GERADO PELO SISTEMA ESTATISTICO NACIONAL,SEN, DE MOCAMBIQUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616.2 Caraterizacao do cenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636.2.1 Parametros de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646.2.2 Determinacao dos custos de avaliacao das decisoes do BAM . . . . . . . . . . . 666.2.3 Monitoramento e a utilidade da aplicacao . . . . . . . . . . . . . . . . . . . . 686.2.4 Analise de decisao na alocacao de recurso . . . . . . . . . . . . . . . . . . . . 696.3 Impacto do custo fixo sobre a utilidade . . . . . . . . . . . . . . . . . . . . . . . 716.4 Contribuicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

7 Conclusao e trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737.1 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737.2 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Page 16: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

15

1 INTRODUCAO

O aumento da complexidade nos sistemas computacionais e aplicacoes aliados a cres-

cente demanda de servicos integrados e crescimento de custos associado com gerenciamento de

infraestrutura de Tecnologias de Informacao (TI), cada vez mais complexas, tal como e ilustrado

no diagrama do servico distribuıdo da comercializacao eletronica da IBM (Figura 1), sao fatores

que limitam os mecanismos tradicionais de gerencia de sistemas de software com a intervencao

humana (HORN, 2001; KEPHART, 2003; IBM, 2006; KHALID et al., 2009; SHUAIB; ANTHONY;

PELC, 2011; NHANE; SONG, 2014; PEREZ et al., 2014).

Figura 1 – Diagrama de aplicacao

Fonte: Adaptado da IBM (KEPHART, 2011)

Mecanismos como a definicao de polıticas de protecao, provisao de recursos, correcao

de problemas, definicao e implementacao automatica da configuracao e alocacao de recursos

que atendam a aspectos de gerenciamento requerem conhecimento detalhado dos sistemas.

Contudo, a capacidade humana para intervir e atender a toda essas especificidades inerentes

as necessidades destes sistemas e um fator limitante que motiva a comunidade cientıfica a pro-

por alternativas de gerenciamento automatico.

Diversas propostas surgiram a partir da ultima decada. Um sistema de software com-

Page 17: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

16

plexo pode ser visto, por exemplo, como o sistema nervoso humano1. Tal sistema cuida da

maioria do funcionamento do corpo, eliminando da consciencia humana o trabalho de geren-

ciar todas acoes. Tais sistemas sao denominados autonomicos (HORN, 2001) por cuidar da maior

parte das acoes sem intervencao. Este paradigma significa a mudanca da era de padroes de sis-

temas convencionais de tecnologia geridos pelo Homem, para a era de padroes de tecnologia

gerida pela propria tecnologia (RANGSWAMY, 2011).

Um sistema autonomico deve possuir diversas propriedades entre estas: a autoconfiguracao,

autocura, autoprotecao e auto-otimizacao. A autoconfiguracao e uma propriedade que deve as-

segurar que esse sistema se adapte automaticamente as mudancas que ocorrem dinamicamente

no seu ambiente. A autocura e a propriedade em que o Sistema identifica, diagnostica e reage a

perturbacao que cause um comportamento indesejado. A autoprotecao consiste na antecipacao

e protecao contra ataques provenientes de qualquer fonte. A auto-otimizacao e a monitoracao

e o ajuste automatico dos recursos, para isso, e necessario que sistemas de hardware e soft-

ware maximizem o uso eficiente de recursos para alcancar os requisitos dos usuarios finais sem

intervencao humana. Contudo, para uma mudanca favoravel, varios aspectos da engenharia de

software precisam ser refinados, por ainda constituırem desafios para os sistemas autonomicos.

Esses desafios incluem: o ciclo de vida, elicitacao dos requisitos, o processo do software e a

verificacao (KEPHART, 2003).

Assim, esta pesquisa tem como enfoque a auto-otimizacao. Este trabalho se baseia na

utilizacao do metodo do enxame das abelhas no seu processo natural de busca por alimentos

para otimizar os parametros que regem o funcionamento do sistema (KARABOGA, 2005).

No processo natural de explorar o ambiente, as abelhas sao divididas em grupos. As

forrageiras sao as que procuram as regioes que apresentam boas fontes de alimento, nectar e

polen. Depois que regressam a colmeia, devem comunicar as outras abelhas a qualidade das

fontes encontradas, a distancia e quantidade de alimentos dessas fontes. Essa informacao ajuda

as abelhas na tomada de decisoes. Aos campos de maior abundancia sao dedicados maior

esforco, ou seja, ha maior presenca de abelhas empregadas (PHAM et al., 2006; BONABEAU;

DORIGO; THERAULAZ, 1999; CAMAZINE et al., 2003). O processo se repete e as abelhas sao

recrutadas para coletar os alimentos. Esta analogia pode ser aplicada ao funcionamento de

sistemas autonomicos, onde, constantemente, o sistema procura otimizar o seu funcionamento

1O Sistema Nervoso Humano e o sistema mais complexo existente e um exemplo especıfico do comportamentoautonomico atualmente na natureza. E o principal controlador do funcionamento do corpo humano, que monitoramudancas que ocorrem dentro e fora do corpo. O Sistema Nervoso Humano efetua a integracao de dados coletadospelos sensores e responde apropriadamente, objetivando manter o equilıbrio no funcionamento do corpo.

Page 18: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

17

mediante a monitoracao, analise e decisao sobre os parametros para identificar mudancas que

requerem intervencao corretiva em caso de perda de eficiencia.

Desta forma, a proposta contribui na busca de solucoes para o alcance de auto-otimizacao

em sistemas autonomicos, considerando fatores como a minimizacao de custos de manutencao

de software dotando o proprio sistema para se auto-gerenciar e alocar recurso em cada decisao

tomada.

1.1 Problema

O aumento da complexidade do software tem impacto no funcionamento das organizacoes

no que concerne ao aumento de custos operacionais, dificuldade de minimizacao do tempo

estatico em caso de mau funcionamento, assim como do processo corretivo. A Computacao

Autonomica (CA) pode ocultar detalhes dos sistemas gerando ganhos em tempo e custos me-

diante a implementacao de polıticas de alto nıvel para autogestao que ajusta o funcionamento e

minimiza o numero de intervencoes no gerenciamento.

Para paıses de economias emergentes como Mocambique em que sua infraestrutura esta

em constante expansao e importante a reducao nos custos de manutencao dos sistemas. Por

exemplo, Mocambique tinha menos de um porcento da populacao com acesso a Internet, se-

gundo dados do Censo de 2007 (INE, 2009). Em 2010, o numero de usuarios subiu para apro-

ximadamente 2, 7% e em 2012 para 4, 3% (WORLDSTATS, 2013). Aliado a esse crescimento,

sistemas de producao de estatısticas oficiais integradas norteiam a tendencia das organizacoes

de producao de informacao. Pois com a descentralizacao aos nıveis das provıncias, distritos

e municıpios a demanda pelo servicos crescera, implicando em arranjos organizacionais com-

plexos. Esse aspecto inclui a distribuicao da plataforma do servico que suporta a capacidade

de producao estatıstica. Contudo, ainda requer maior intervencao humana e a atualizacao de

informacoes que continua sendo o grande problema.

Page 19: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

18

1.2 Motivacao

Estudos indicam que mais de 80% dos erros nos sistemas computacionais sao resultan-

tes de falhas humanas. Alem disso, o impacto negativo nos sistemas computacionais causados

pela falta de recursos humanos capacitados para atender a crescente complexidade dos sistemas

e problemas inerentes ( na fase de manutencao do ciclo de vida) ao funcionamento de siste-

mas tende a aumentar (GANEK et al., 2004; BERRY; CHENG; ZHANG, 2005; SAHADEVA; YADAV;

SHARMA, 2012).

Caperes (2006) demostrou que o custo de manutencao crescera de 9% a 77%, no perıodo

compreendido entre 1950 a 2025.

O estudo de caso aborda o servico de disseminacao de dados estatısticos do Sistema

Estatıstico Nacional, Mocambique. Paıs que enfrenta diversas dificuldades de aquisicao de

servicos devido a escassez de recursos, assim como, as limitacoes economicas impostas pela

pobreza que afeta os paıses africanos. Portanto, usar as estrategias de minimizacao de despesas

torna-se indispensavel.

Em paralelo, o uso de decisoes mapeadas pela funcao da utilizacao dos servicos propor-

ciona maior integracao aos servicos baseados em TI para as organizacoes de baixa capacidade

financeira. A definicao de polıticas de alto, medio e baixo nıvel sao inerentes aos criterios que

caracterizam os processo de gerenciamento das organizacoes, tornando possıvel o mapeamentos

da necessidade dos recursos e resultando em economias e reaproveitamento dos mesmos.

Sahadeva, Yadav e Sharma (2012), em seu estudo sobre o custo associado ao aumento

da complexidade, mostra a reducao de ate 50% de despesas mensais per capita nos custos de

manutencao de software, injetando elementos autonomicos no processo de desenvolvimento.

O comportamento natural do exame de abelhas, que continuamente procura otimizar as

suas atividades, apresenta uma correlacao ao objetivo dos sistemas autonomicos que tambem

monitoram o ambiente para otimizar o funcionamento atraves da introducao de nova configuracao

baseada nas mudancas do seu ambiente ou de parametros monitorados.

Assim, percebe-se que a analogia do funcionamento da inteligencia do enxame de abe-

lhas pode ser aplicada para atingir a auto-otimizacao na computacao autonomica, como tambem

a estrategia que foca nos pontos com maior chance de ganho, reflexo de uma escolha baseada

no conhecimento que permite decisoes acertadas.

Page 20: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

19

1.3 Justificativa

Desde o surgimento da computacao, sistemas foram desenvolvidos com objetivo de oti-

mizar o processo de funcionamento das organizacoes. Esse objetivo dos sistema e complemen-

tado pela necessidade de autogestao que e a principal caracterıstica dos sistemas autonomicos.

Desse modo, sistemas de computacao autonomica provem propriedades de autogestao contri-

buindo na otimizacao dos processos de gerenciamento da organizacao. Alem disso, minimizam

problemas relacionados ao aumento da complexidade tidos como fatores limitantes no avanco

do desenvolvimento de sistemas computacionais e dos problemas resultantes da falha humana.

A proposta de auto-otimizacao aprimora a gestao das organizacoes impactando na reducao

de custos de manutencao, de pessoal e de recurso, maximizando a qualidade dos servicos.

O uso da analogia do comportamento inteligente do enxame de abelhas para computacao

autonomica tem como finalidade buscar aspectos relevantes da organizacao, otimizacao, divisao

do trabalho, troca de informacao sobre as melhores fontes no funcionamento do enxame, tomada

de decisao como alicerce nos mecanismos de funcionamento de um sistema para alcance de

autogestao em especial a auto-otimizacao.

1.4 Objetivos

A pesquisa tem como objetivo geral propor um modelo para a auto-otimizacao de siste-

mas de software de computacao autonomica baseando-se na inteligencia do funcionamento do

enxame de abelhas.

A proposta tambem apresenta uma modelagem do gerenciador autonomico baseado em

uma metodologia que estende a UML para sistemas autonomicos.

1.4.1 Objetivos especıficos

Os objetivos especıficos deste trabalho sao:

• Identificar as diferentes abordagens para auto-otimizacao em sistemas autonomicos;

Page 21: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

20

• Utilizar o algoritmo das abelhas para auto-otimizacao de parametros no controle de fun-

cionamento de sistemas autonomicos;

• Desenvolver o modelo de aplicacao baseado no comportamento do enxame das abelhas;

• Avaliar o impacto do modelo sobre os parametros do sistema do estudo de caso, em

relacao a auto-otimizacao;

1.5 Estrutura do trabalho

O trabalho e estruturado em sete capıtulos subdivididos em secoes e subsecoes, in-

cluindo uma secao de referencias de cinquenta e quatro autores na area da computacao au-

tonomica.

O primeiro Capıtulo apresenta o escopo da pesquisa sobre a auto-otimizacao em siste-

mas de computacao autonomica. Definem-se: a motivacao, os problemas, as justificativas, os

objetivos gerais e os especıficos.

O segundo Capıtulo e sobre a conceitualizacao da computacao autonomica. O Capıtulo

apresentada os conceitos basicos, as principais propriedades e os nıveis de maturidade dos

sistemas em relacao a frequencia e especializacao das intervencoes humanas. Inclui, ainda,

a meta-arquitetura para sistemas autonomicos, assim como, as propriedades arquiteturais da

computacao autonomica.

O terceiro Capıtulo aborda as tecnicas de decisao aplicadas na computacao autonomica.

Neste Capıtulo, destacam-se os tipos de problemas de decisao em sistemas de auto-otimizacao,

as tecnicas aplicadas, como, por exemplo, a teoria do controle adaptativo, funcao de utilidade,

tecnologia dos agentes, tecnicas baseadas em polıticas de metas e de acao, tecnicas baseadas

em algoritmos bioinspirados.

O quarto Capıtulo apresenta os trabalhos relacionados.

O quinto Capıtulo descreve a abordagem proposta para a auto-otimizacao dos siste-

mas autonomicos inspirada no modelo do enxame das abelhas e uma proposta de extensao do

MAPE-K.

O sexto Capıtulo descreve o estudo de caso que visa mostrar a aplicabilidade da aborda-

gem proposta no processo decisorio de autogestao, detalhando aspetos da auto-otimizacao para

o sistema autonomico de disseminacao de dados estatısticos. O estudo considera o problema da

Page 22: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

21

selecao combinatoria de recursos determinados atraves da deteccao dos nıveis de demanda que

definem a utilidade do sistema.

O setimo e ultimo Capıtulo apresenta as conclusoes gerais sobre o uso da metodologia

de auto-otimizacao, casos especıficos sobre o estudo de caso e sobre a sua aplicabilidade.

Page 23: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

22

2 SISTEMAS AUTONOMICOS

Este capıtulo descreve a conceitualizacao da computacao autonomica, os conceitos basicos,

as principais propriedades e os nıveis de maturidade dos sistemas em relacao a frequencia e

especializacao das intervencoes humanas. O capitulo inclui a meta-arquitetura para sistemas

autonomicos, assim como a propriedades arquiteturais da computacao autonomica.

2.1 Conceitos basicos

Segundo Raza et al. (2009), a utilidade primaria dos computadores e reduzir custos, ge-

renciar a complexidade, melhorar a eficiencia e o desempenho. Atualmente a complexidade dos

sistemas, aliados a proliferacao de computadores e uso da internet, crescem de forma exponen-

cial, o que tem incentivado a pesquisa de novos paradigmas da computacao, dentre as quais a

computacao autonomica.

A computacao autonomica e um termo proposto pela IBM para descrever a necessidade

de criar ambientes de computacao com capacidade de se gerenciarem e se adaptarem dinamica-

mente as mudancas em concordancia com polıticas de negocios e objetivos de alto nıvel que o

usuario pode especificar.

Figura 2 – Perspetiva da IBM sobre o estagio das TIs

Fonte: IBM, Horn (2001)

Em seu manifesto a IBM identifica oito caracterısticas inerentes aos sistemas autonomicos

inspirando-se no funcionamento do Sistema Nervoso Humano (SNH), que e capaz de tomar de-

cisoes de forma autonoma. Este sistema, SNH figura figura 2, monitora mudancas que ocorrem

dentro e fora do corpo humano, faz integracao dessas informacoes captadas e responde auto-

nomicamente conforme a necessidade. Desta forma, um sistema autonomico deve: conhecer

Page 24: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

23

a si proprio, reconfigurar-se sob condicoes variaveis e imprevisıveis, procurar constantemente

otimizar seu funcionamento, ser capaz de se recuperar de condicoes adversas, se auto proteger,

de conhecer o ambiente em que atua e agir de acordo com este, funcionar em um ambiente

heterogeneo e antecipar sua necessidade de recursos.

Segundo Kephart (2003), em sua proposta sobre a Visao da Computacao Autonomica,

reagrupou as principais propriedades que caracterizam sistemas autonomicos em: auto-otimizacao

(self-otimization), autocura (self-healing), autoconfiguracao (self-configuraton) e autoprotecao

( self-protection). Essas propriedades sao discutidas nas proximas subsecoes.

2.2 Propriedades

2.2.1 Autoconfiguracao

Esta propriedade permite ao sistema autonomico se autoconfigurar de acordo com metas

de alto nıvel. Neste caso, nao se especifica, necessariamente, como o sistema deve realizar uma

acao, mas apenas o resultado desejado. Isso significa que o sistema e capaz, por exemplo, de

efetuar instalacoes em funcao das necessidades de uma determinada plataforma do usuario.

A caraterıstica de autogerenciamento significa que uma nova funcao de software ou

hardware pode ser dinamicamente incluıda na infraestrutura do sistema sem introduzir perturbacoes

ao servico. O sistema deve ser projetado com capacidade de exibir e de permitir adicionar re-

cursos, ativar dispositivos, iniciar a instalacao assistida e gerenciar servicos de redes sem fios.

Essas capacidades possibilitam que funcoes sejam adicionadas dinamicamente na infraestrutura

da organizacao com a mınima intervencao humana.

Tome como exemplo, a alteracao do ambiente do sistema com a introducao ou remocao

de um novo componente no sistema. Na adicao de um novo componente o sistema deve auto-

maticamente se ajustar a nova configuracao. O novo componente se registra publicando as suas

capacidades. Desse modo, outros componentes podem acessa-lo. Essa adaptacao dinamica au-

xilia na produtividade da infraestrutura que resulta em crescimento de negocio e flexibilidade.

Page 25: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

24

2.2.2 Autocura

A autocura indica que um sistema e capaz de detectar, diagnosticar e reparar problemas

identificados. Esses problemas podem resultar de falhas de hardware ou software. Os problemas

detectados nao podem, entretanto, serem interpretados de forma ampla. Problemas de baixos

nıvel, como um bit de erro em chip de memoria, ou entao de alto nıvel, como uma entrada

errada em um servico de diretorio (problema de software), nao podem ser tratados.

Um exemplo de autocura pode ser a substituicao de componente de software que nao

funcione adequadamente por outro componente que prove a mesma funcionalidade com implementacao

diferente.

Varios estudos destacam os quatro aspectos essenciais dessa propriedade, sendo estes

o monitoramento, a interpretacao, a resolucao e a adaptacao (ou reconfiguracao) (GARLAN;

SCHMERL, 2002; AL-ZAWI et al., 2011):

• O monitoramento constitui o maior desafio por demandar implementacao nao intrusiva

nos componentes do sistema a serem monitorados;

• A interpretacao determina a existencia de um problema a ser resolvido. Sao previstos

mecanismos para detectar se o comportamento do sistema foi alterado e desta forma,

selecionar o metodo adequado de resolucao;

• A resolucao baseia-se no estudo da eficacia do mecanismo de reparacao proposto. Ne-

nhuma interrupcao pode ocorrer mesmo que aconteca um conflito entre os diversos me-

canismo de reparacao;

• Adaptacao e uma etapa onde a estrategia de implementacao em tempo real e considerada.

Nesta etapa, algoritmos online sao usados para garantir que os componentes do sistema

respondam em tempo real a adaptacao.

2.2.3 Autoprotecao

A autoprotecao e a capacidade de deteccao de ataques e protecao de recursos contra uso

indevido. Esta permite aos gerenciadores de sistemas de negocio reforcar consistentemente a

Page 26: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

25

seguranca e polıticas de privacidade.

Em um ambiente de autoprotecao, o sistema autonomicamente se modifica para o al-

cance da privacidade e protecao de dados, que pode ser alcancado com uso de tecnologias de

seguranca e encriptacao por harwdare (AHUJA; DANGEY, 2014). A capacidade de identificar

e reconhecer ameacas em variados contextos reduz a pressao nos administradores, deixando-

os focados nos demais aspectos da administracao. Por exemplo, nas tomadas de decisao dos

negocios.

2.2.4 Auto-otimizacao

A auto-otimizacao indica que os sistemas autonomicos sao capazes de, constantemente

e proativamente otimizar o uso dos recursos (operacionalizar, identificar, quantificar) de modo

a melhorar o desempenho, minimizando os custos.

Considere o middleware1 WebSphere e uma base de dados Oracle/DB2. Centenas de

parametros sao ajustados para se obter uma execucao otimizada. Ajustar manualmente os

parametros desses sistemas para uma execucao otimizada e praticamente impossıvel.

Entretanto em um sistema auto-otimizado, diversos parametros de software e hardware

podem ser utilizados para avaliar o desempenho. Tais parametros incluem: tamanho de cache,

valores de tempo permitido (timeout), CPU, largura de banda da alocacao, dimensionamento

de estruturas de dados internos, tabelas hash e o uso de varios algoritmos para a mesma tarefa.

Desta forma, o sistema pode considerar a escolha do algoritmo, a linguagem a ser utilizada e

o tempo de execucao para a escolha da melhor opcao. Por exemplo, a escolha da operacao

SQL (Linguagem de Consulta Estruturada) a ser executada, a paralelizacao das consultas e o

particionamento das tabelas podem ser utilizados para automaticamente ajustar uma execucao.

1Camadas de aplicacao ou programas que servem como intermediarios e tradutores entre duas diferentes pla-taformas de computacao. O middleware e usado em situacoes multi-plataforma, onde clientes e servidores saoexecutados em diferentes sistemas operacionais ou quando se utilizam diferentes estruturas de arquivos de bancode dados.

Page 27: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

26

2.3 Nıveis de maturidade dos sistemas autonomicos

Nesta secao sao apresentados os nıveis de autonomia que categorizam os sistemas au-

tonomicos de acordo com a frequencia e especializacao das intervencoes humanas (LEVINE,

2003; MACEDO, 2012; AHUJA; DANGEY, 2014).

No nıvel Basico (manual) multiplas fontes de dados sao gerenciadas independente-

mente. A equipe de TI agrupa os dados coletados das diferentes fontes e toma decisoes para re-

alizar acoes corretivas ou necessarias, isto e, aspectos como a instalacao, configuracao, adicao e

remocao de componentes, suporte de falhas e de seguranca sao feitos pela equipe manualmente.

No nıvel Gerenciado ha especialistas que, baseados nos dados coletados, tomam as

decisoes e realizam as acoes necessarias. O ganho neste nıvel pode ser medido por indicadores

de produtividade da equipe de TI, pois estes podem atuar sobre o sistema empregando interfaces

padronizadas e acessıveis remotamente para acompanhar o seu funcionamento.

No nıvel Preditivo o sistemas monitora, correlaciona e recomenda acoes. O sistema em-

prega mecanismos de correlacao e recomendacao para identificar as necessidades de mudancas

na sua configuracao. Estimula-se a equipe de TI mediante analise das recomendacoes proposta

automaticamente pelo sistema para a correcao do problemas . Deste modo, o nıvel preditivo

nao requer que a equipe de TI seja especializada, dado que parte da analise do problema e feita

pelo proprio sistema e a decisao, em ultima instancia, e da equipe de TI.

No nıvel Adaptativo os sistemas monitoram, correlacionam e executam as acoes. Tecnicos

de TI aprovam e iniciam as acoes. Assim, a intervencao humana passa a focar em requisitos de

qualidade e confiabilidade, como tambem na definicao de limites e parametros de operacao do

sistema.

No nıvel Autonomico o sistema e capaz de monitorar o seu funcionamento de forma a

garantir requisitos de confiabilidade, qualidade e seguranca a custos pre-definidos. Para isso,

o gerenciamento e feito por regras ou polıticas de negocio com a mınima intervencao humana.

O sistema e responsavel por implementar polıticas enquanto a equipe de TI foca na criacao e

alteracao das regras que descrevem as necessidades do negocio.

O desenvolvimento da computacao autonomica e visto como progressivo de um nıvel

totalmente dependente das intervencoes humanas ate atingir a totalidade das caracterısticas au-

tonomicas, isto e, ser gerido pela propria tecnologia. Todavia, partes de um sistemas podem ter

diferentes nıveis de autonomia de acordo com a maturidade de cada subsistema. Por exemplo,

Page 28: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

27

pode-se ter uma aplicacao paralela em um sistema computacional que possui um ajuste adap-

tativo de alocacao de threads em seus processos, enquanto a gerencia da memoria secundaria e

completamente autonomica.

A evolucao dos sistemas autonomicos, comecando em sistemas completamente geren-

ciados por humanos e alcancando nıveis de sistemas totalmente gerenciados pela tecnologia

requer confianca de seus administradores e usuarios em relacao a qualidade, confiabilidade e

eficiencia dos mecanismos de gerenciamento adotados. Contudo, os criterios sao subjetivos,

pois dependem da percepcao humana dos riscos associados e prejuızos.

Atualmente alguns sistemas alcancam o nıvel preditivo. As caracterısticas introduzidas

pela computacao autonomica reforcam a perspectiva da evolucao dos sistemas computacionais.

Desde os primordios da computacao foca-se na minimizacao da complexidade dos sistemas,

sem a intervencao humana. Avancos nesse sentido foram verificados com a introducao de siste-

mas distribuıdos, permitindo a separacao de funcoes independentes dos sistemas, que culminou

com criacao de aplicacoes tolerantes a falhas, sistemas especialistas e avancos nos mecanismos

de deteccao e correcao de erros, protecao, isolamento e replica de servicos como resultado da

distribuicao.

Os sistemas autonomicos contribuem para a integracao de diferentes areas (BERRY;

CHENG; ZHANG, 2005). Pesquisas em areas como: Inteligencia Artificial, Engenharia de Soft-

ware, Arquiteturas Adaptativas, Engenharia de Requisitos, Economia, Biologia, Matematica e

Redes Neurais, tem convergido na criacao de um arcabouco teorico que contribui no progresso

dos sistemas autonomicos.

2.4 O modelo arquitetural de referencia de sistemas autonomicos

O MAPE-K (Monitor, Analyze, Plan, Execute, Knowledge) ilustrado na figura 3, e a

arquitetura de referencia, designada como gerenciador autonomico que interage com o elemento

gerenciado por coleta de dados por meio de sensores reagindo por efetores.

A arquitetura do sistema e vista como uma colecao de elementos autonomicos interco-

nectados que prestam um determinado servico (figura 4).

O elemento autonomico tem uma arquitetura que reflete a estrutura de autogerencia-

mento, implementando um ciclo inteligente que permita a coleta de dados do elemento ge-

Page 29: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

28

Figura 3 – Diagrama da arquitetura MAPE-K

Fonte: Adaptado de Kephart (2003)

renciado. Alem disso, processa e serve de base para tomada de decisoes sobre os estados do

elemento autonomico gerenciado, ajustando e agindo mediante as necessidades (LEVINE, 2003).

Assim, o elemento autonomico gerencia o comportamento interno e o relacionamento com ou-

tros elementos autonomicos em concordancia com a politica estabelecida pelo administrador ou

acordada entre os mesmos (KEPHART, 2003).

2.4.1 Gerenciador autonomico

A arquitetura do elemento autonomico e dividida em dois componentes: O gerenciador

autonomico (Autonomic manager) e o elemento gerenciado (Managed element). O elemento

gerenciado e o componente do sistema cujo comportamento e funcionamento e monitorado

pelo gerenciador autonomico, uma vez que pode ser afetado em tempo de execucao, em virtude

Page 30: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

29

Figura 4 – Estrutura de um elemento autonomico

Fonte: Adptado de Kephart (2003)

de falhas, escassez de recursos, ataques e problemas de desempenho. Este pode ser um servidor,

uma base de dados, uma aplicacao, conjunto de servidores, um cluster e outros.

O gerenciador autonomico (Figura 3) e o componente que implementa o ciclo de con-

trole particular e seus elementos basicos sao: Monitor, Analyze, Plan, Execute, Knowledge.

Este conjunto de acoes funciona sobre a base de conhecimento (Knowledge) e e referido como

sendo MAPE-K Loop (TEWARI; MILENKOVIC, 2006; KEPHART, 2011).

A interface entre o gerenciador autonomico e o elemento gerenciado e feita atraves de

sensores ou de outros mecanismos de comunicacao de dados.

Com relacao aos elementos basicos do gerenciador autonomico, o Monitor fornece me-

canismos que coletam, agregam e filtram os dados2 relevantes do elemento gerenciado e repassa

para o elemento de analise as informacoes3 coletadas. A configuracao do elemento gerenciado

e monitorada bem como aspectos nao funcionais como, por exemplo o seu desempenho atual.

Os dados coletados sao processados e sumarizados, de forma a retirar informacoes relevantes

2Refere-se a dados como sendo valores coletados sem nenhum pre-processamento.3Informacao define-se como medidas e valores apos algum tipo de processamento de dados, tais como media,

maximo, mınimo, eliminacao de valores incoerentes, normalizacao, dentre outros

Page 31: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

30

para tomada de decisao nas etapas subsequentes e atualizar a base do conhecimento4.

O componente de Analise (Analyze) fornece mecanismos correlacionais e modela situacoes

complexas que permitem ao gerenciador autonomico obter conhecimento sobre o ambiente

computacional reconfigurando, se necessario, o elemento gerenciado. Para isso, utiliza metodos

de diversas areas do conhecimento tais como (MACEDO, 2012): Estatıstica, Economia, Inte-

ligencia Artificial, Teoria de Controle, Aprendizado de Maquina, Series Temporais, Teoria de

Jogos, Metodos de Analise e Modelagem de Desempenho, Algoritmos Bio-inspirados e outras.

Nesta etapa ativa-se o componente de Planejamento se necessario.

O componente de Planejamento (Plan) tem a responsabilidade de identificar a melhor

solucao dentre as diversas possibilidades disponıveis, uma vez detectada a necessidade de

reconfiguracao do sistema. As acoes podem ser complexas e subdivididas em diversas etapas.

Um exemplo seria o desligamento de um componente. Esta operacao pode requerer a parada

de outros componentes e, em seguida, o armazenamento das requisicoes pendentes e o reenca-

minhamento das requisicoes a outra unidade de processamento enquanto o novo componente e

ativado.

O componente de Execucao (Execute) implementa a estrategia definida na etapa de pla-

nejamento. Para isso, emprega protocolos e interfaces especıficas para interagir com o elemento

gerenciado. Alem disso, o componente de execucao verifica a todo momento se as operacoes

realizadas encerraram corretamente identificando desvios no fluxo de execucao.

O elemento de Conhecimento (Knowledge) armazena informacoes referentes ao funci-

onamento do gerenciador e do elemento gerenciado, por exemplo, o contexto de operacao do

sistema, o estado do elemento gerenciado, inferencias e previsoes sobre o comportamento do

elemento gerenciado. Alem disso, a base de conhecimento armazena protocolos que descre-

vem os nıveis de servicos e diretrizes que regem o funcionamento do gerenciador e de seus

componentes.

2.5 Desafios arquiteturais das propriedades da computacao autonomica

Diversos estudos descrevem propriedades arquiteturais desejaveis de sistemas autonomicos

que incluem: solucoes de instalacao, determinacao de problemas, analise complexa, gerencia-

4O conhecimento e produzido a partir do aprendizado ou identificacao de padroes, tendencias ou comporta-mentos do sistema.

Page 32: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

31

mento de carga heterogenea, gerenciamento baseado em polıticas e monitoramento autonomico

(KEPHART, 2003; HUEBSCHER; MCCANN, 2008; KHALID et al., 2009; MACEDO, 2012; MATTES;

KARL, 2014).

Com relacao a solucoes de instalacao e importante a padronizacao nos processos de

instalacao reduzindo a complexidade introduzida por multiplicidades de formatos e diversificacao

de ferramentas.

A determinacao do problema e a capacidade basica e a habilidade de extrair dados de

alta qualidade para determinar se existe ou nao um problema nos recursos gerenciados. Neste

contexto, um problema e uma situacao em que um gerenciador precisa responder a um evento

nao esperado.

Na analise complexa, os gerenciadores autonomicos precisam de ter a capacidade de

analisar dados complexos e fornecidos pelos sensores. A analise pode ser influenciada pelos

dados armazenados na base do conhecimento. Contudo, e pertinente notar que a capacidade de

um gerenciador autonomico para analisar rapidamente e dar sentido a esses dados e crucial para

o sucesso da operacao.

O gerenciamento de carga heterogenea consiste na capacidade dos componentes do

sistema serem configurados uniformemente para gerenciar o fluxo de trabalho independente de

uma infraestrutura heterogenia.

O gerenciamento baseado em polıticas implica na padronizacao de polıticas que sao

compartilhadas entre os gerenciadores. Tais polıticas sao fundamentais na tomada de decisoes

e no controle do planejamento pelo gerenciador.

O monitoramento autonomico e a capacidade do ambiente de execucao possibilitar ao

gerenciador coletar e filtrar dados obtidos atraves de sensores. Os gerenciadores autonomicos

podem utilizar esse recurso como um mecanismo para representar, filtrar, agregar e realizar uma

serie de analises sobre os dados coletados.

Page 33: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

32

3 TECNICAS DE DECISAO APLICADAS NA AUTO-OTIMIZACAO

A computacao autonomica requer algoritmos, metodos e processos de decisao que de-

finam acoes baseadas no estado do elemento monitorado. Este capıtulo descreve algoritmos

e metodos para o problema de decisao que direcionam o processo decisorio no gerenciador

autonomico.

3.1 Definicao do problema de decisao autonomica

Na computacao autonomica, o problema de decisao e caracterizado por uma acao de

(re)configuracao de um sistema baseado em seu estado e no ambiente (RAMIREZ et al., 2009; MA-

CEDO, 2012). Esse processo visa garantir propriedades, tais como: autocura, autoconfiguracao,

autoprotecao, inerentes ao gerenciador autonomico.

O problema de decisao definido por Macedo nao se assemelha ao empregado na teoria

de decisao segundo a definicao de North (1968). Nesta, o problema de decisao identifica uma

solucao otima a uma dada situacao em um conjunto de normas, praticas ou processos, baseada

em um conjunto de informacoes conhecidas e o seu grau de incerteza em relacao ao valor exato

(cuja qualidade de resposta e igual a 100%), respeitando os seus limites de domınio.

O problema de decisao pode ser modelado como sendo uma funcao, que devera ser

aproximada pelos algoritmos ou sistemas de controle autonomico. Formalmente, e dada pela

equacao

refpd01:

f(x0, x1, ..., xt)→ ot (3.1)

onde f e uma funcao de resposta do sistema, que possui um conjunto de parametros de entrada

x ∈ R|x| e um conjunto de parametros de saıda o ∈ R|o|. Estes valores sao avaliados em tempos

que aqui sao considerados discretos, onde t ∈ [0,∞).

Os valores de entrada e saıda podem tanto ser discretos quanto contınuos, bem como o

seu domınio pode ser um universo de discurso finito ou infinito.

Page 34: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

33

3.2 Tipos do problemas de decisao

Os problema de decisao sao descritos como Mutavel e Imutavel. Um problema de

decisao e dito imutavel quando, dada uma funcao de resposta f , que possui um conjunto de

parametros de entrada x e um conjunto de parametros de saıda o, a funcao de resposta do sis-

tema atende as seguintes condicoes (MACEDO, 2012):

• Os parametros de entrada e os respectivos domınio de valores nao mudam no tempo:

| xt |=| xt′ | ∧ xt = xt′ ∀t, t′ ∈ [0,∞) (3.2)

• A quantidade de parametros de saıda e os seus domınios de valores nao mudam com o

tempo:

| o′t |=| ot′ | ∧ ot = ot′ ∀t, t′ ∈ [0,∞) (3.3)

• A funcao de resposta f e constante no tempo, ou seja, o sistema responde sempre da

mesma forma aos estımulos, dada a mesma sequencia de entradas e saıdas. Assim, caso

o sistema seja reiniciado e executado novamente com as mesmas entradas em tempos

diferentes, as respostas do sistema aos estımulos de entrada ainda serao as mesmas. For-

malmente, dado um vetor de entrada x ∈ X e um vetor de saıda o ∈ O, e sendo t e t0

dois momentos distintos no tempo em que iniciamos o sistema, temos que:

f(xt, xt+1, ..., xt+n)→ f(xt′ , xt′+1, ..., xt′+n)→ {o0, o1, ..., on}∀t, t′ ∈ [0,∞) (3.4)

Para elucidar esta propriedade e considerado o estado instantaneo da memoria do sis-

tema M e os parametros de entrada xt, f(M,xt) → ot, que serao constantes se a mesma

sequencia de parametros for introduzida em outros instantes.

Essas caracterısticas definem quais tecnicas, modelos matematicos e metodologias sao

apropriados para cada tipo de problema, contribuindo assim no trabalho para uma melhor es-

colha de metodologia de auto-otimizacao no processo de decisoes para a implementacao do

gerenciador autonomico.

Metodos de decisao sem aprendizado, por exemplo, serao ideais para problemas imutaveis,

ou seja, problemas que nao mudam as suas caracterısticas no tempo. Metodos de decisao que

possuem mecanismos de aprendizado serao ideais para problemas mutaveis.

Page 35: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

34

Tabela 1 – Necessidade de servicos das operacoes estatısticas

Fonte: Fonte do Autor

Considere a existencia do Sistema Estatıstico Nacional (SEN)- Mocambique1, que tem

uma infraestrutura de recursos em data center, que partilha servicos de aplicacoes e de hard-

ware para todos orgaos que o compoem, nas atividades fundamentais de coleta, processamento

e disseminacao de dados estatısticos. Esse servico deve fornecer aos usuarios ferramentas de su-

porte a producao de dados estatısticos, no que concerne a fornecimento de recursos de hardware

e software para todas entidades. Por exemplo o Censo agropecuario (CAP), Censo Demografico

e de Habitacao (CDH), Pesquisa sobre Orcamento Familiar(IOF), Pesquisa sobre Saude (IDS).

Considere ainda que os servicos funcionam autonomicamente, isto e, alocam recursos mediante

as especificacoes da pesquisa a ser realizada com o mınimo de intervencao do administrador.

A Tabela 1 apresenta os parametros de cada solicitacao de servico no data center, onde

o µVM e uma medida de capacidade de processamento de uma Maquina Virtual (MV) usada

para especificar um custo associado a 400Mhz de processamento, 512MB de RAM, 4GB de

disco, 1Mbps de banda de acesso ao recurso, usado em servicos de data center para aquisicao

da tal capacidade.

Cada pedido pode demorar certo tempo para ser atendido e o servico do data center pode

recusar tarefas caso esteja ocupado. Dessa forma a saıda do sistema e modelada binaria, onde

saıda zero (0) significa que a tarefa nao foi atendido e a saıda um (1) significa que a tarefa foi

atendida. Caso a fonte de recursos esteja no inıcio das atividades e receber a solicitacao CDH

(150µVM ), esta poderia ser atendida. Se a solicitacao ocorresse depois de se ter alocado recur-

sos para IOF e IDS, a solicitacao da CDH seria recusada, dado que extrapola a capacidade

de recursos disponıveis. Os sistemas modelados com essa caracterıstica sao importantes, pois

existem situacoes em que o sistema num instante t depende das entradas e saıdas do controlador

1, orgao que coleta e dissemina Estatısticas Oficiais de Mocambique

Page 36: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

35

no instante 0 (zero) ate t−1. Esse controlador se adapta a resposta do sistema controlado desde

que a responda de forma constante.

Um problema de decisao e dito mutavel, aquele em que uma ou mais das condicoes

definidas acima sao violadas. Para exemplificar, considere o mesmo problema mencionado

no acima. Neste caso baseando-se em um metodo de decisao aleatorio, em cada instante t,

o sistema pode variar as entradas para satisfazer ao criterio definido e resultando em valores

diferentes dos parametros.

3.3 Tecnicas aplicadas a auto-otimizacao

O alcance da auto-otimizacao ainda constitui um dos maiores desafios na pesquisa sobre

sistemas autonomicos. Contudo, diversas teorias e tecnicas tem sido apresentadas desde os

primordios da computacao autonomica. Essas teorias constituem o arcabouco para a auto-

otimizacao.

3.3.1 Teoria de controle adaptativo

Nesta teoria o sistema e visto como sendo um ciclo de controle fechado que monitora e

gerencia os recursos (Figura 5).

Figura 5 – Elemento autonomico com decisoes para auto-otimizacao baseado na teoria decontrole

Fonte: Rangswamy (2011)

Page 37: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

36

Os dados coletados do monitoramento sao avaliados com base nas estimativas estatısticas

para determinar o comportamento do sistema.

No estudo de Khalid et al. (2009) aplica-se a teoria de controle para otimizacao de

consulta em uma base de dados e usam dados de execucoes anteriores para determinar o plano

de execucao futuro.

No estudo de Rangswamy (2011) o sistema de controle se baseia em um ambiente de

objetos dinamicos, mensurando a informacao de entrada e saıda para obter as caracterısticas

do objeto monitorado, o que permite o controle dos seus parametros, facilitando a correcao em

caso de erros e ajustando parametros para otimizar o funcionamento do sistema.

3.3.2 Funcao de utilidade

A Funcao de Utilidade e uma tecnica de uso comum na economia2. Na computacao

autonomica a funcao de utilidade e usada para mapear cada estado possıvel de um sistema, com

o objectivo de caracterizar o desempenho do sistema.

Usa-se a funcao de utilidade para a tomada de decisoes acerca das estrategias de gerenci-

amento que sao especificadas por modelo de desempenho do sistema para maximizacao da utili-

dade. Assim, o sistema autonomico obtem os valores correspondentes para a nova configuracao

(Figura 6). A funcao de utilidade e usada para determinar criterios de escolha a partir de varias

opcoes, que sao coletados atraves do sensoriamento do ambiente e sao dinamicamente introdu-

zidos para refletir a interpretacao da utilidade da aplicacao. O produto de cada termo e associado

a um peso atribuıdo que reflete uma ganho instantaneo para cada opcao.

3.3.3 Tecnologia dos agentes

Esta teoria consiste no uso dos agentes de software inteligentes capazes de executar

acoes reativas ou deliberativas. Um agente e reativo se depende dos estımulos do ambiente para

direcionar o seu comportamento e e deliberativo se as acoes sao orientadas por um objetivo

2A Funcao Utilidade que mostra a utilidade obtida por um consumidor em funcao das quantidades dosbens e servicos que compoem um determinado cabaz de consumo. Se considerarmos os bens e servicos como1, 2, 3, ..., i, x1, x2, x3, ..., xi, como as respectivas quantidades, entao a funcao utilidade pode ser expressa comoU = f(x1, x2, x3, ..., xi).

Page 38: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

37

Figura 6 – Elemento autonomico baseado em funcao de utilidade

Fonte: Adaptado de Rangswamy (2011)

a alcancar. Soares e Madeira (2012) usam a tecnologia dos agentes e propoe uma arquitetura

baseada em Sistema Multi-Agentes (MAS) para gerenciamento de maquinas virtuais (VMs) de

um provedor de infraestrutura de servicos. Na arquitetura (Figura 7) os agentes interconectados

possuem um comportamento (Monitorar, Analisar, Planejar, Executar), um planejador dinamico

e uma base do conhecimento.

O planejador dinamico interpreta um arquivo de polıticas, de modo que os agentes po-

dem ser configurados sem a necessidade de serem recompilados. Essas polıticas permitem

definir os limiares dos parametros dos agentes que definem o comportamento de execucao e a

frequencia de ativacao do ciclo autonomico. O comportamento deve implementar o ciclo de

controle autonomico que e o responsavel pela inteligencia do agente.

Agentes sao frequentemente utilizados em sistemas web, pois tem a vantagem da in-

dependencia de plataforma e interoperabilidade. Para isso, usa-se a Web Semantica3 para o

sistema tomar decisoes e por meio destas compreender o significado da informacao e completar

a funcao do agente inteligente como um cerebro humano. Portanto, com base nesta tecnologia

3A Web Semantica refere-se a visao do World Wide Web Consortium (W3C) da Web dos Dados interligados.A Web Semantica da as pessoas a capacidade de criarem repositorios de dados na Web, construırem vocabulariose escreverem regras para interoperarem com esses dados (BERNERS-LEE; HENDLER; LASSILA, 2001). Os dadossao interligados na base de tecnologias como Resource Description Framework (RDF), Web Ontology Language(OWL) e outras.

Page 39: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

38

Figura 7 – Multi-Agentes em sistema autonomico

Fonte: Adaptado de Soares e Madeira (2012)

as polıticas de abordagem de gestao sao combinadas com o servico Web e com a tecnologia de

Web Semantica, podendo criar uma variedade de sistemas de computacao autonomica (ZHAO;

GAO; DUAN, 2009).

3.3.4 Sistemas autonomicos baseados em polıticas de acao e metas

Os sistemas autonomicos podem se associar a diferentes polıticas para atender o auto-

gerenciamento. As polıticas de utilidade que podem expressar em nıvel mais amplo o compor-

tamento do sistema sao complementadas pela polıtica de metas. A polıtica de meta expressa os

objetivos em alto nıvel (se comparado a polıticas de acao) de um sistema autonomico. O sis-

tema traduz os objetivos especıficos em uma determinada acao, considerando todas condicoes

possıveis (Figura 8). Por sua vez a polıtica de acao e uma polıtica de baixo nıvel representada

sob forma de condicao IF(condicao) THEN (acao).

Para exemplificar o problema inerente ao uso de polıticas, considere as seguintes polıticas

definidas que especificam ajustes de CPU que o gerenciador autonomico deve executar.

Para as classes de transacoes:

G – IF (RTG > 100ms) THEN ( aumentar CPUG em 5%);

Page 40: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

39

Figura 8 – Mapeamento dos estados possıveis

Fonte: Adaptado de Kephart e Das (2007)

S – IF (RTS > 200ms) THEN ( aumentar CPUS em 5%);

onde RTG e RTS representam a media dos tempos de respostas obtidas para as classes

G e S. E CPUS e CPUG a fracao da CPU em cada maquina dedicada a transacao G e S.

Essas polıticas estao presentes em varios estudos combinados com outras teorias, por

exemplo Kephart e Das (2007) e aplicado com a Funcao de Utilidade, enquanto que Soares e

Madeira (2012) aplica a estas polıticas com a Teoria dos Agentes.

3.3.5 Algoritmos bio-inspirados

Nesta tecnica um problema de decisao computacional e modelado como um processo

natural, onde sao aplicados os comportamentos observados na natureza para se alcancar uma

resposta ao problema. Pode-se citar exemplos como os algoritmos baseados em enxame de

abelhas, em aglomeracao de partıculas e em colonias de formigas (BONABEAU; DORIGO; THE-

RAULAZ, 1999; KARABOGA, 2005; PAN; DOU; LIU, 2006).

Os algoritmos bio-inspirados sao heurısticas nao garantem uma resposta otima ao pro-

blema. Entretanto, bio-inspirados sao amplamente usados porque tornam possıvel a solucao

de problemas complexos que frequentemente nao existe um algoritmo conhecido que forneca

a solucao otima, ou entao, este algoritmo existe e e complexo. Segundo Macedo (2012) estes

Page 41: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

40

sao amplamente aplicados em sistemas autonomicos por alcancar o equilıbrio entre os diversos

agentes.

3.3.6 Algoritmo do Enxame das Abelhas

A classe de algoritmos inspirada na biologia tem semelhanca a computacao autonomica.

A presenca da populacao candidata a solucao faz com que estes algoritmos sejam inerentes e

adequados para tratar da otimizacao. A analise do comportamento do indivıduo, em determi-

nado instante possibilita otimizacoes futuras do comportamento da populacao.

O algoritmo de otimizacao e inspirado na inteligencia do enxame das abelhas em seu

processo de procura (forrageamento) por fontes de alimento e na troca de informacoes entre as

abelhas empregadas e escoteiras.

Karaboga (2005) em seu estudo sobre inteligencia do enxame 4 propos o algoritmo

de enxame das abelhas para solucionar problemas de otimizacao. Sucessivamente as versoes

do algoritmo foram sendo alteradas com melhorias substanciais (KARABOGA; BASTURK, 2007;

BASTURK; KARABOGA, 2006a, 2006b; KARABOGA; AKAY, 2009; NARASIMHAN, 2009). Podem

se destacar as seguintes caracterısticas: e um algoritmo de optimizacao global; foi inicialmente

proposto para otimizacao numerica, Karaboga (2005); tambem pode ser usado para problemas

de otimizacao combinatoria; pode ser usado para problemas de otimizacao sem restricoes e

com restricoes (por exemplo em Karaboga e Basturk (2007)); e simples, flexıvel e robusto e,

em varios estudos, o algoritmo apresenta melhores resultados na convergencia para a solucao

em 100% dos casos.

No algoritmo, Karaboga classifica as abelhas de acordo com as suas funcoes: Abelhas

empregadas (employed), abelhas expectadoras (onlookers) e abelhas escoteiras (scout bees). As

abelhas forrageiras (foragers) descobrem novas fontes.

4Inteligencia do enxame e uma area de pesquisa de inteligencia artificial, que visa modelar a inteligenciacoletiva de insetos ou animais. Muitos algoritmos que simulam esses modelos tem sido propostos e usados pararesolver uma quantidade cada vez maior de problemas.

Page 42: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

41

3.3.6.1 Descricao das etapas do algoritmo das abelhas

O algoritmo se baseia na distribuicao das posicoes das fontes de alimentos, uma vez que

esta representa um ponto localizado no espaco de solucao do problema.

O problema e modelado sob forma de matriz (X[N,D]), onde cada linha representa

uma fonte de recursos e cada coluna os alimentos na fonte.

Inicia-se a fonte de alimento estabelecendo-se um valor mınimo de recurso fonte pode

possuir xminj mais uma taxa aleatoria permitida no intervalo dado por xmax

j − xminj , conforme a

equacao 3.5,

xij = xminj + rand(0, 1)(xmax

j − xminj ) (3.5)

onde i = 1, 2, ...N ; j = 1, 2, ...D; N e o numero de fontes de alimentos e D o numero

de parametros de otimizacao. Os valores de xminj e xmax

j representam o valor mınimo e maximo

do recurso j que uma fonte i possui. O coeficiente rand(0, 1), gera valores aleatorio entre zero

e um, visando garantir a inicializacao dos recursos de forma aleatoria, tal como e o processo

natural das abelhas.

Figura 9 – Abelhas empregadas

Fonte: Adaptado de Teodorovic et al. (2006)

As abelhas empregadas exploram as fontes, calculam a quantidade dos alimentos e par-

tilham informacoes com as abelhas expectadoras, segundo a equacao 3.6.

vij = xij + φij(xij − xik) (3.6)

Page 43: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

42

O ındice j e um inteiro aleatorio no intervalo de [1, D] e k ∈ [1, 2, .., N ], k diferente de

i, e φij ∈ [−1, 1] uniformemente distribuıdo.

Figura 10 – Abelhas escolhem a melhor fonte

Fonte: Fonte: Adaptado de Teodorovic et al. (2006)

No caso de xi > xmaxi ha um correcao em que xi = xmax

i . Analogamente se (xi <

xmini ) entao xi recebe xmin

i . Depois que sao escolhidos os valores otimos de todos parametros,

somente uma fonte de recursos e selecionada (Figura 10).

Uma vez especificado o vetor vi calcula-se a adequacao (fitness) deste valor para o pro-

blema, dado por Formula 5.5:

fitness(i) =

1

1 + fi, fi >= 0.

1 + abs(fi), fi < 0.(3.7)

fi e o valor do custo da solucao vi.

Uma escolha gulosa e usada entre a solucao vi memorizada e a proposta xi. O criterio

de selecao consiste em escolher de valores de mınima diferenca entre a unidade e o quociente

do valor orcado para nıvel de utilidade e o custos dos recursos propostos para alocar. Isto e,

a escolha gulosa no algorıtimo de enxame de abelhas significa aceitar a nova solucao, se e

somente se, esta melhora o valor do fitness da funcao objectiva, considerado otima ate a esse

instante.

Depois que todas as abelhas empregadas completam sua busca por alimentos, partilham

a informacao da posicao das fontes com abelhas espectadoras. As abelhas espectadoras seleci-

onam as melhores fontes de alimentos de acordo com a sua rentabilidade dado pela 3.8:

pi =fitness(i)∑Ni=1 fitness(i)

(3.8)

Page 44: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

43

Se a fonte de alimento nao e rentavel, a abelha a abandona. Neste instante muda de

estado para escoteira, procurando nova fonte de alimento.

Page 45: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

44

4 TRABALHOS RELACIONADOS

Este capıtulo descreve os trabalhos relacionados, abordando diferentes arquiteturas do

gerenciador autonomico e estudos sobre a auto-otimizacao que aplicam as tecnicas de decisao

discutidas no capitulo anterior.

A arquitetura de referencia MAPE-K, descrita no capıtulo dois, descreve aspectos de

alto nıvel, especificando as etapas do monitoramento, analise, planejamento e execucao do ci-

clo de controle autonomico que sao usados para modelos de auto-otimizacao. O ciclo MAPE-K

(Figura11), na coordenacao do sistema isola os principais aspectos de autocura, autoconfiguracao

e auto-otimizacao que qualquer processo deve fornecer.

Figura 11 – Arquitetura em camadas

Fonte: Adaptado de IBM (2006), PEREZ et al. (2014)

A arquitetura e essencialmente composta por tres camadas: a camada de recursos, a

camada do gerenciador autonomico e a camada de coordenacao que gerencia os elementos

autonomicos.

Diversos estudos propoem diferentes arquiteturas de autogerenciamento. Salehie e Tah-

vildari (2009) propoem um ciclo de controle de autoadaptacao (Figura 12), que e um processo

que enfatiza a separacao entre a etapa de deteccao e a fase de decisao. O processo de deteccao

Page 46: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

45

esta encarregado de analisar os dados provenientes dos sensores a fim de identificar se algum

parametro deve ser alterado, de forma a restaurar o sistema a partir de um estado indesejado

para as condicoes de trabalho pretendidas. O processo de decisao, neste caso, e responsavel por

determinar modificacoes a serem efetuadas, escolhendo a correta acao a ser executada.

Figura 12 – Ciclo de controle de autoadaptacao

Fonte: (SALEHIE; TAHVILDARI, 2009)

O ciclo de controle de autoadaptacao proposto por Salehie e Tahvildari (2009) difere da

arquitetura MAPE-K por enfatizar o fato de que o conhecimento compartilhado sobre o sistema

e seu ambiente sao mantidos a fim de executar com sucesso o esquema de controle autonomico.

Sironi et al. (2012) propoem o ciclo do controle autonomico denominado ODA Loop

(Figura 13). Neste, as etapas sao subdivididas em Observacao do estado interno do sistema e

do ambiente; a Decisao de qual acao deve ser tomada com base nas observacoes; e a Acao que

deve corresponder a implementacao da decisao tomada, ou seja, perturbacao do estado interno

ou externo a fim de modifica-lo para otimizar o desempenho do sistema.

Walsh e Kephart (2005), Tesauro et al. (2005) e Kephart e Das (2007) usam a funcao de

utilidade para alcancar a auto-otimizacao de alocacao de recursos de um data center. Os auto-

res consideram que a funcao de utilidade e uma forma pratica, pragmatica e um princıpio geral

para representar e gerenciar polıticas de alto nıvel guiando o comportamento de um sistema au-

tonomico. Esta tecnica permite tomar decisoes baseadas no contexto feitas dinamicamente com

Page 47: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

46

Figura 13 – ODA Loop

Fonte: Adaptado de Sironi et al. (2012)

baixa complexidade em sua implementacao. No estudo, o Data center possui varios ambientes

de aplicacoes que proveem servicos dedicados, alocando-os dinamicamente em um conjunto de

recursos de varios tipos, tais como: aplicacoes de servidores, base de dados e particoes virtuais.

A utilidade e dada pela formula Ui(Si, Di), onde Si e espaco de nıvel do servico, Di representa

a demanda no domınio i e U e funcao de utilidade. Si e Di representam classes de usuarios, Ri

e a quantidade de um tipo especıfico de recurso que e alocado ao gerenciador de aplicacao. O

objetivo e otimizar a funcao dada por∑

i Ui(Si, Di) que e distribuıdo ao longo de cada elemento

autonomico em dois nıveis, baixo e alto (Figura 14).

Figura 14 – Funcao de Utilidade: Auto-otimizacao em Datacenter

Fonte: Adaptado do Kephart e Das (2007)

Em baixo nıvel, o data center tem varios ambientes de aplicacao, onde cada um tem

seu Gerenciador de aplicacao local, responsavel por manter otima a utilidade local Ui(Si, Di)

dada a limitacao de recurso (Ri) mediante o ajuste de parametros de controle.

Page 48: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

47

No seu alto nıvel, o data center gerencia a alocacao de recursos em diferentes ambientes

de aplicacao, usando o arbitro de recursos que e o representante de cada ambiente de aplicacao

de baixo nıvel. O arbitro nao leva em consideracao detalhes de cada ambiente da aplicacao e

aloca recurso mediante demanda. Essa demanda e obtida a partir da funcao de utilidade em

nıvel de recurso (resource-level utility function), dada por U(R).

Assim, dado UiRi do gerenciador de aplicacao, o arbitro de recursos periodicamente

atualiza o processamento e alocacao de recursos R*:∑i Ui(Si, Di) =

∑iUi(Ri), R∗ = argmaxR

∑iUi(Ri) sendo que

∑Ri=R, onde R

representa a quantidade total de recursos disponıveis.

Guilherme (2013), no seu estudo sobre o Gerenciamento de desempenho e consumo

de energia na infraestrutura do data center, usa uma abordagem baseada na funcao de uti-

lidade para auto-otimizar o desempenho e o consumo de energia do data center, atraves da

determinacao de quantos recursos podem ser alocados e como as aplicacoes deveriam ser co-

locadas na infraestrutura para otimizar o consumo de energia. Nesse estudo propoe-se um

framework em dois nıveis. O primeiro e o nıvel de aplicacao, onde para cada aplicacao existe

um modelo de desempenho que se baseia numa funcao de utilidade definida para expressar os

graus de utilizacao em relacao ao tempo de resposta. Em adicao, uma aplicacao contadora,

escalar, e usada para alocar as requisicoes nas aplicacoes em varias instancias das Maquinas

Virtuais (MVs). Ja no segundo nıvel de infraestrutura, o gestor global de recursos e composto

por um gerenciador de provisionamento de MVs e um gerenciador de alocacao de MVs, ambos

modelados segundo tecnicas de programacao com restricoes (constraint programming).

O gerenciador de provisionamento e responsavel pela determinacao da quantidade de

recursos, em termos de MVs, para cada aplicacao. Enquanto que o gerenciador de alocacao

toma como entrada o provisionamento de MVs resultantes do gerenciador de provisionamento

para otimizar a alocacao de todas MVs, assim como, para minimizar o numero de maquinas

fısicas necessarias e o consumo de energia. Esses dois gerenciadores sao periodicamente e se-

quencialmente executados, se e somente se, houver diferenca entre o numero corrente de MVs e

o numero resultante do gerenciador de provisionamento. Como resultado da execucao do geren-

ciador de provisionamento temos um conjunto de MVs para serem solicitadas ou liberadas. O

gerenciador de alocacao produz um conjunto de MVs com finalidade ou de criar ou de destruir

ou de migrar, assim como, para desligar ou ligar o consumo de energia (VAN; TRAN; MENAUD,

2010).

Page 49: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

48

A especificacao dos requisitos de auto-otimizacao, tem sido feita por meio de diversas

extensoes de modelos tradicionais como a UML. Markus e Engels (2013) propoem a separacao

de especificacoes (SoC) para focar em casos especıficos de autoadaptatividade e permitir analises

independentes e detalhadas. A aplicacao do SoC exige processos adequados de desenvolvi-

mento, linguagens e tecnicas, por exemplo, para a garantia da qualidade. Adapt Case, Modeling

Language (ACML) e uma linguagem de modelagem de desenvolvimento de sistemas autoadap-

tativos. Esta linguagem e uma extensao UML para especificar sistemas autonomicos.

Quijano e Passino (2007) aplicam o algoritmo do enxame das abelhas para resolver o

problema de alocacao de recursos. Os criterios usados para capturar o comportamento do sis-

tema consistem na intensidade das troca de informacoes, na taxa de recrutamento e na alocacao

da abelhas exploradoras. Os mesmos autores propoem uma aplicacao de engenharia de alocacao

dinamica de recursos para controle de temperatura em multiplas zonas, objetivando ilustrar a

aplicabilidade do algoritmo.

Page 50: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

49

5 ABORDAGEM PROPOSTA

Este capıtulo descreve uma abordagem para a auto-otimizacao de sistemas autonomicos

inspirada no modelo do enxame das abelhas e em uma proposta extensao do MAPE-K. A auto-

otimizacao e a componente necessaria nos sistemas de autogerenciamento porque um sistema

autonomico deve continuamente melhorar o seu funcionamento.

5.1 Ciclo inteligente de controle de auto-otimizacao

O processo de auto-otimizacao proposto neste trabalho e composto por elementos que

implementam o ciclo inteligente de controle do MAPE-K (Figura 15). Nesta figura, os sensores

e efetores representam a interface entre o recurso gerenciado e o gerenciador autonomico. O

monitor coleta dados do sensor, efetua agregacoes e comunica metricas ao elemento de analise.

O elemento de analise decide sobre os recursos que atendem as metricas comunicadas. O ele-

mento de planejamento determina a estrategia de configuracao para a implementacao de plano

de mudancas, considerando situacoes de remocao e adicao de recurso, parada de servicos,

mudancas de contextos de modo a atender a decisao informada. O elemento de execucao es-

pecifica as acoes que visam a realizacao do plano. O elemento de conhecimento representa a

fonte de dados que guiam as decisoes do gerenciador autonomico.

O processo de gerenciamento autonomico e decomposto em dois componentes. O pri-

meiro, corresponde ao sistema a ser gerenciado. O segundo componente e o gerenciador au-

tonomico baseado no comportamento das abelhas, designado neste trabalho como BAM (Bees

Autonomic Manager).

O BAM introduz as generalizacoes da metodologia de auto-otimizacao, focando nas

decisoes tomadas nas etapas de monitoramento e de analise.

O BAM apresenta duas caracterısticas em seu processo de auto-otimizacao. A primeira

e o uso do metodo de agrupamento1 para identificar e classificar a demanda do servico. Essa

tecnica favorece a harmonizacao dos dados monitorados que sao extraıdos do sistema gerenci-

1Agrupamento e o processo de organizar objetos em que os membros sao similares de alguma maneira. Umgrupo e deste modo a colecao de objetos que sao similares entre eles e nao em relacao aos que pertencem ao outrogrupo.

Page 51: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

50

Figura 15 – Ciclo de controle do gerenciador autonomico

Fonte: Fonte do Autor

ado pertencentes a mesma classe de demanda. O BAM faz analogia ao comportamento natural

das abelhas que descobre fontes de alimentos (recursos) de boa qualidade e comunica as demais

abelhas escoteira os recursos encontrados. O objetivo e obter parametros de decisao que nao

sao influenciados por valores discrepantes ou extremos quando se considera o uso da media

estatıstica como um estimador de utilidade.

Outra caraterıstica quanto ao uso do algoritmo no processo de selecao dos parametros e

a adequabilidade do subconjunto de recursos. Por exemplo, uma fonte de recursos pode possuir

os seguintes parametros ou atributos que qualificam os estados dos recursos – o processador,

memoria, disco, largura de banda. Posterior a determinacao do subconjunto de parametros,

aplica-se uma polıtica para mapear os estados do sistema de acordo com a demanda classificada

e os respectivos tempos de resposta observado pelo sistema.

Adota-se neste trabalho os nıveis de demanda classificados em: 0, o mais baixo nıvel e

5 para o mais alto nıvel.

Page 52: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

51

5.2 Atividades autonomicas do BAM

A visao geral do BAM (Figura 15) reflete as etapas de um ciclo fechado de controle

autonomico implementando o monitoramento, a analise, o planejamento e as execucoes das

decisoes.

O processo decisorio do gerenciador autonomico, como ilustrado no modelo de con-

texto da logica de auto-otimizacao (Figura 16), e composto fundamentalmente pelas etapas de

monitoramento e analise da decisao.

Os demais componentes do ciclo de controle auxiliam no gerenciamento da atividade de

autoconfiguracao para atender a decisao tomada. Assim, as etapas de planejamento e execucao

das decisoes devem corresponder as acoes de baixo nıvel para a satisfacao da estrategia tomada.

Figura 16 – O BAM - Modelo em contexto da logica de auto-otimizacao

Fonte: Fonte do Autor

Destacam-se dois processos do ciclo de controle como chave na implementacao do

BAM: o monitoramento das mudancas na demanda de usuarios e a analise de decisoes sobre

os recursos a serem alocados para atender a essa demanda. Sensores coletam dados do recurso

gerenciado. Esses dados sao entao agrupados de acordo com os criterios e objetivos que nor-

teiam o processo. Por exemplo, dados coletados podem incluir: data, hora, minutos, segundos,

IP, informacoes relativas aos conjuntos de dados, banco de dados, tamanho da informacao dos

dados extraıdos e outros.

Page 53: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

52

5.3 O componente monitor

Figura 17 – O caso autonomico do BAM: Monitor autonomico

Fonte: Fonte do Autor

A etapa do monitoramento autonomico e descrita pela Figura 15, onde o Monitor pro-

cessa os dados recolhidos pelo sensor e comunica o nıvel de indicadores da demanda. Os dados

processados sao utilizados para o reconhecimento dos nıveis exigidos de acordo com os passos

seguintes:

1. A extracao das caracterısticas de processamento e feita a partir da informacao transmitida

e e obtida atraves da aplicacao da Transformada Discreta de Fourier (TDF) sobre os

dados coletados.

X[k] =N−1∑n=0

x[n]ε

(−2.j.π.n)N (5.1)

Page 54: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

53

A TDF e baseada na formula 5.1 e o agrupamento e feito a partir das funcoes de analise

de x(n) dos dados sobre a procura observada. X(k) e a forma transformada de x(n).

Figura 18 – DFT

2. A classificacao do grau da demanda e obtida atraves do reconhecimento de padroes de

utilidade: 0, 1, 2, 3, 4 e 5.

Como exemplo considere os dados coletados durante 30 intervalos de uma hora cada

de funcionamento de um sistema de disseminacao de dados estatısticos (Figura 19). As linhas

do grafico mostram dados das frequencias antes (frequencia de dados capturados) e depois de

agrupados (TDF-agrupados).

Os valores nao agrupados apresentam maior variabilidade das suas frequencias causando

distorcoes nas metricas de decisao. A menor disparidade de frequencias resultante da aplicacao

da funcao de agrupamento, resulta em valores mais precisos para as etapas de decisao.

Figura 19 – Demanda de servicos: requisicoes/hora

Fonte: Fonte do autor

As propriedades da TDF possibilitam a translacao vertical das frequencias observadas,

a fim de se executar a analises das situacoes de baixa, media e alta utilidade.

Page 55: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

54

O Monitor utiliza a TDF com o objetivo de agrupar os nıveis de similaridade. Ou seja,

determinacao dos valores com as mesmas caracterısticas de distribuicao para convergir em um

determinado intervalo para uma classe especıfica de demanda. Isto permite a eliminacao da

influencia de valores extremos ao se utilizar a media como metrica.

A media, o desvio padrao e valores maximos e mınimos observados sao indicadores-

chave a serem considerados neste intervalo. Assim, os novos parametros sao definidos com

base nessa informacao. No exemplo considerado usou-se a media para selecionar a classe de-

mandada.

5.3.1 Atividades de monitoramento

O funcionamento do monitor resume-se a coletar, analisar e classificar os dados, ilus-

trado no diagrama sobre monitor autonomico.

Na etapa de coleta sao definidos os mecanismos para a extracao dos dados do sensoria-

mento do sistema gerenciado.

Na etapa de analise sao efetuadas as transformacoes dos dados obtidos da etapa anterior,

atraves da TDF. Em seguida, o monitor extrai a caracterıstica de nıvel de utilidade do elemento

gerenciado.

A Classificacao caracteriza o comportamento da demanda obtida nas etapas anteriores.

5.4 A componente de analise

A etapa de analise e decisoes correlaciona dados de eventos informados pelo monitor ou

obtidos de uma base do conhecimento para identificar o estado atual do recurso gerenciado e

para sugerir acoes a serem efetuadas em caso de degradacao do desempenho.

O metodo das abelhas (Figura 20) permite determinar os recursos a serem utilizados,

correlacionando a demanda atraves da maximizacao do fitness. Entende-se por maximizacao de

fitness o processo aplicado para selecionar valores que melhoram as solucoes anteriores em cada

ciclo do algoritmo. No diagrama, a posicao final de recursos indica o conjunto otimo parcial

selecionado.

Page 56: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

55

Figura 20 – Fluxograma do algoritmo de enxame de abelhas

Fonte: Adaptado de Karaboga (2012)

Page 57: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

56

A funcao de fitness e obtida a partir do custo de cada fonte de alimento; cada tipo de

recurso tem o seu custo. Cada fonte de alimentacao inclui todos os tipos de recursos e ci[j]

representa o custo do j recurso na iesima fonte de alimento e N o numero de fontes.

O custo (cf [i]) de cada solucao proposta e avaliado usando a Formula 5.2,

cf [i] =N∑j=1

v[j] ∗ ci[j] (5.2)

em que v[i] e a solucao proposta (vide a Formula 5.5 do enxame de abelhas).

Para cada fonte e estabelecido o limite de uso dos recursos definidos segundo a classe

de cada demanda. Considere uma fonte com 4 parametros em que cada parametro tem o seu

preco associado (ci[j]). O custo limitante de cada fonte sera calculado segundo 5.3, em que n e

o numero da classe de demanda. Assim, para valores de n = 0, 1, 2, 3, 4, 5, que correspondem

estados de demanda de n=0, a mınima utilidade, ate n=5, a maxima utilidade.

oF [n] = ci[j1] ∗ 2n−1 + ci[j2] ∗ 2n + 15 ∗ ci[j3] ∗ 2n + ci[j4] ∗ 2n−1 (5.3)

As classes dependem do comportamento do sistema, podendo-se dividir em mais classes

ou menos.

Deste modo, usando 5.2 e 5.3, obtem-se a funcao objetiva (5.4). Esta funcao permite

determinar a convergencia relacionada ao custo de cada classe (orcamento limiar) e o custo de

cada solucao proposta dos recursos para cada fonte.

f(i) = 1− cf [i]

oF [n](5.4)

oF [n] e o custo da classe demandada que representa o valor total, limitando os recursos

do sistema. Ou seja, ha um custo para cada conjunto de recursos de uma dada fonte que deve

estar relacionada a demanda. Essa informacao ajuda o BAM a gerenciar os diferentes nıveis de

custo para cada classe. Com base na convergencia fi calcula-se a adequacao (fitness) da solucao

dada por formula 5.5,

fitness(i) =

1

1 + fi, f(i) >= 0.

1 + abs(fi), fs(i) < 0.(5.5)

Page 58: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

57

5.4.1 Atividades de analise

A etapa de analise (Figura 21) resume-se em coletar dados passados do monitoramento,

analisar e classificar decisoes.

Figura 21 – Analise

Fonte: Fonte do Autor

Na etapa de coleta de dados do monitor sao extraıdos conhecimentos das bases de dados.

A partir daı, utiliza-se o metodo das abelhas para determinar a melhor alocacao de recursos,

indicando a fonte que satisfaca adequadamente as necessidades. Para isso, o coletor especifica

os recursos disponıveis e a classe da demanda. Salienta-se que o metodo das abelhas tem como

saıda um conjunto de ”solucoes”otimas de cada ciclo do algoritmo, que e usadas como entrada

para selecao da fonte.

Por fim, o classificador indica a melhor solucao (fonte) baseando-se em metricas (que

serao descritas a seguir), a fim de selecionar a fonte com melhor distribuicao de recursos.

5.5 Metricas de avaliacao

Para a avaliacao da solucao proposta, a media, os valores maximos e mınimos, a variancia

e estimativas de erros sao utilizados. Estas medidas de tendencia central e de dispersao foram

tambem usadas por MAGGIO et al. (2012) para avaliar a qualidade das solucoes no seu estudo

sobre comparacao das estrategias de decisao para a auto-otimizacao.

Page 59: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

58

As metricas sao descritas a seguir:

• Valor medio - e definido como sendo a media entre o maximo e o mınimo dos valores

do fitness de cada fonte de recurso, em cada iteracao.

fitnessmax = max{fitness[0], fitness[1], ..., f itness[r], ..., f itness[rt]}

fitnessmin = min{fitness[0], fitness[1], ..., f itness[r], fitness[rt]}

vMedio = (fitnessmax + fitnessmin)/2 (5.6)

• Media O valor de (x) – e a media dos valores de fitness de cada ciclo em relacao ao tempo

definido de execucao (rt).

x = (1/rt) ∗rt∑r=0

fitness[rt] (5.7)

Nas equacoes, rt (runtime) e o numero de vezes que o algoritmo pode ser executado a

fim de verificar a robustez da solucao.

• WGm – e uma metrica definida como sendo a diferenca entre a media do valor de cada

fitness e o valor medio desejado dividida pelo valor medio. Como uma segunda metrica,

tambem usamos a variacao da frequencia do valor fitness que e controlado pela V ar para

cada fonte de recurso.

WGm = (vMedio− x)/vMedio (5.8)

assim V ar e definido pela formula 5.9:

V ar =

√√√√√ rt∑r=0

(fitness[r]− x)2

rt− 1(5.9)

A Formula 5.8 expressa o nıvel de proximidade entre o valor medio, desejado e a media

do fitness de cada subconjunto de solucao. A partir desse valor o BAM aplica uma escolha da

solucao representativa resultante da pesquisa pelos agentes no enxame. Isto e, seleciona-se o

mınimo valor obtido de WGm.

Page 60: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

59

5.6 Polıticas de autogestao

O controle de polıticas que norteiam o comportamento do sistema e fundamental na

computacao autonomica. Na Figura 22 , polıticas de acao, polıticas de metas e polıticas de

funcao de utilidade (discutidas no Capıtulo 3) estao organizadas segundo os nıveis de abrangencia.

Figura 22 – Polıticas de autogestao

Fonte: Adaptado de Shen e Pesch (2005)

As polıticas de acao sao de nıvel mais baixo, sob a forma de uma estrutura de selecao

IF (condicao)THEN (acao) que determina a acao a ser executada pelo elementos autonomicos

sempre que a condicao e satisfeita. Polıticas de metas estao em nıvel intermediario e sao de

maior abrangencia se comparadas as de acao. Aquelas especificam situacoes a serem alcancadas

sem expressar as acoes a seguir. As Polıticas de Funcao de Utilidade, por sua vez, associam va-

lores de utilidades definidas a partir do custo de uma classe de demanda. Estas sao mapeadas

segundo valores da Transformada Discreta de Fourier, caracterizando o comportamento do sis-

tema e associando custos inerentes as classes.

O valor de utilidade de cada classe e que permite a definicao de Polıticas de metas.

Por exemplo, a capacidade alocada de recursos de um valor de utilidade nao pode ultrapassar

seu limite superior. Se a demanda ultrapassa a capacidade correspondente entao o nıvel mais

baixo deve atuar. Isto e, as Polıticas de acao devem especificar acoes concernentes ao ajuste

necessario.

No diagrama, a politica de utilidade esta no nıvel mais mais alto, permitindo a determinacao

automatica da meta viavel em uma dada situacao, viabilizando o controle mais amplo do sis-

tema. As decisoes automaticas em cada uma das polıticas sao dirigidas pelo metodo do exame

Page 61: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

60

de abelhas. Este metodo especifica recursos para cada situacao detectada.

O capıtulo seguinte descreve um estudo de caso que visa mostrar a aplicabilidade da

abordagem proposta no processo decisorio de autogestao, detalhando aspetos da auto-otimizacao

para um sistema autonomico de disseminacao de dados estatısticos. O estudo considera o pro-

blema da selecao combinatoria de recursos determinados atraves de deteccao dos nıveis de

demanda pelo componente de monitoramento, que define a utilidade do sistema.

Page 62: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

61

6 ESTUDO DE CASO: PROPOSTA DE AUTO-OTIMIZACAO DA DISSEMINACAO

DE INFORMACAO GERADO PELO SISTEMA ESTATISTICO NACIONAL, SEN, DE

MOCAMBIQUE

6.1 Introducao

O desenvolvimento de uma aplicacao e sua evolucao durantes anos requer uma manutencao

constante a fim de se adequar as novas realidades, substituir procedimentos e introduzir novas

funcionalidade ao sistema. Entretanto, acoplar novos sistemas de software e alterar o ambi-

ente de operacao implicam em alteracoes recıprocas nas interacoes dos sistemas tornando-os

tambem cada vez mais complexos. Todos esses fatores motivam a busca de tecnicas que facili-

tem o gerenciamento dos sistemas.

Um exemplo desse sistema e aquele que disponibiliza dados estatısticos historicos e

atuais para acesso aos usuarios. Esse processo tem demandado desafios no gerenciamento das

aplicacoes de disseminacao de tais dados. Estas aplicacoes sao as que mais crescem nos setores

de producao de estatısticas, aliadas a necessidade de novos metodos de coleta assistidos por

computadores. Nesse contexto, solucoes que incluem a distribuicao da plataforma do servico

mostram-se necessarias para suportar a estrategia que, segundo o CSE-INE (2013), deve-se

fortalecer a capacidade de producao estatıstica, descentralizadas ao nıvel das provıncias, dos

distritos e dos municıpios.

Em geral esses sistemas sao complexos com diversas funcionalidades, fontes de dados

e formas de manipulacao dos dados em tabelas, mapas, graficos e vıdeos.

Neste capıtulo propoe-se o estudo do Sistema Estatıstico Nacional (SEN) de Mocambique,

criado em 1996 Lei no7/96 de 5 de Julho, lei do SEN, que com regularidades, coleta e disse-

mina estatısticas oficiais com imparcialidade, objectividade e universalidade que, para alem

do seu valor informativo nos planos economico, social e demografico, revestem a natureza de

uma autentica informacao cıvica (MOCAMBIQUE, 1996). As estatısticas sao pertinente para a

formulacao e o acompanhamento das diferentes polıticas, servindo de suporte para os parcei-

ros sociais, empresas, investigadores, estudantes e ao publico em geral aferir a situacao real do

meio economico e social em que vivem e atuam.

A utilizacao de polıticas fundamentadas na utilidade (Figura 22) de alocacao dos re-

Page 63: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

62

cursos em conformidade com as necessidades do sistema nao tem sido pratica, implicando no

uso excessivo de recursos computacionais e desperdıcios como, por exemplo, o consumo de

energia, a rapida obsolescencia de recursos, a desistencia dos usuarios motivados pelo mau

funcionamento do servico. Essas polıticas quando adotadas no uso dos recursos existentes, e,

efetuando-se o monitoramento do ambiente do sistema, visam melhorar sua eficiencia.

Figura 23 – Logica de negocio da auto-otimizacao

Fonte: Fonte do autor

A aplicacao da computacao autonomica possibilita que o monitoramento, a avaliacao do

nıvel de utilizacao, as decisao sobre as necessidades e as configuracoes correspondentes sejam

realizados pelo proprio sistema.

A auto-otimizacao pode ser alcancada por meio do monitorando da demanda do servico

disponıvel pelas aplicacoes segundo os nıveis de utilidade. Define-se a alocacao correspondente

de recursos e autonomamente se ajusta as necessidade em cada nıvel.

O Diagrama de Contexto de alto alto nıvel (Figura 23) ilustra a ideia geral da proposta.

Esta considera a existencia de um data center que fornece recursos para atender aos diferentes

nıveis de demanda.

Page 64: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

63

6.2 Caraterizacao do cenario

Atualmente as organizacoes tem preferido data centers corporativos partilhando recur-

sos para reducao da ociosidade dos mesmos. Neste estudo usa-se a auto-otimizacao para o

sistema de disseminacao de dados estatısticos de Mocambique hospedado em um Data center.

Figura 24 – Fonte de recursos - Data center

Fonte: Fonte do Autor

O data center do SEN (24) representa a fonte de recursos para o elemento gerenciado –

o servico web de disseminacao de dados.

Esse servico web inclui uma base de dados nao relacional e esta configurado em uma

plataforma composta por um servidor de aplicacao - Internet information service (IIS).

A base de dados agrega arquivos de tamanho homogeneo, de acordo com os dados

coletados a partir dos registros do servidor web durante 22 meses. Observa-se (Grafico 25)

que 99% das consultas sao caracterizadas pela extracao de dados de tamanho menor que 1MB.

Destes, 70,9% correspondem a consultas no formato visualizacao na tela (asp). Alem disso,

23% efetuaram conversoes de formatos.

A principal atividade do servidor e construir uma matriz com os dados disponibilizando

para o usuario. Alem disso, fornece recurso de aplicacao para a manipulacao de diferentes for-

matos que sao suportados. Isto e, o servidor deve possibilitar a manipulacao e geracao de mapas

de dados, graficos e arquivos de diferentes formatos. O cliente, por sua vez, pode manipular ou

Page 65: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

64

visualizar os dados extraıdos.

Figura 25 – Acesso ao sistema por tipo de arquivo

Fonte: Fonte do Autor

Todas estas atividades tem impacto no consumo do processador, memoria, disco e lar-

gura da banda. Ou seja, o processo de otimizacao tem que considerar os quatro parametros para

cada fonte de recursos que e representado no data center como um subconjunto da capacidade

de processamento.

Nas secoes seguintes sao definidas as polıticas que guiam o processo decisorio do geren-

ciador autonomico para o caso em estudo, detalhando o processo de auto-otimizacao do sistema

de disseminacao.

6.2.1 Parametros de controle

Neste estudo de caso levou-se em consideracao a existencia de quatro fontes de recursos.

Estas estao localizadas em tres regioes distintas do paıs.

As decisoes tomadas no processo de analise do BAM pertencem a classe de problemas

de decisao mutaveis, uma vez que os limiares de entrada em cada etapa de pesquisa por recursos

podem variar por requisicao e por cada fonte. Alem disso, vetores de solucoes otimas nao sao

contantes em cada etapa e podem convergir em diferentes sequencias de parametros. Contudo,

nestas situacoes sao validas as combinacoes com valores de fitness (qualidade) proxima ao valor

medio (desejado), segundo proposto nas metricas de MAGGIO et al. (2012).

Page 66: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

65

O problema e modelado em forma de matriz, onde cada linha representa uma fonte de

recursos, neste estudo ha 4 fontes. Os parametros que caracterizam cada uma dessas fontes

estao representados segundo as colunas. Na primeira coluna localiza-se o Processador, na

segunda a Memoria, na terceira o Disco e na quarta a Largura de banda. Esses parametros

sao determinados mediante as caracterısticas do sistema de disseminacao, conforme descrito na

secao anterior.

Os recursos tem limiares que sao fornecido a uma aplicacao dentro do limite inferior

e superior. A aplicacao e inicializada segundo as necessidades mınimas para o seu funciona-

mento. Por exemplo, as matrizes indicam os limites superior e inferior nas quatro fontes.

Limite inferior

Proc(Core) Mem(GB) Disc(GB) L.Banda(Mbs)

1 1 30 11 1 30 11 1 30 12 4 60 2

Limite Superior

Proc(Core) Mem(GB) Disc(GB) L.Banda(Mbs)

4 8 120 416 32 480 88 16 240 48 16 240 4

O BAM toma decisoes mediante a aplicacao do metodo das abelhas. Neste metodo sao

definidos os parametros iniciais (KARABOGA; BASTURK, 2007):

• Numero de recursos – representado pela variavel (D) que caracteriza o problema de

decisao do BAM. No presente estudo quatro sao tais recursos: processador, memorias,

disco e largura de banda.

• Numero de fontes – representam as fontes de recursos. Esse numero varia de 2D a 4D.

• Numero total de agentes no enxame (NP ). Esse numero varia {2∗N, ..., 40∗N}, onde

N e o numero de fontes.

As simulacoes sao executadas em ambiente do Ultrabook XPS Core I7, 4GB de memoria

RAM, 32GB de memoria em disco solido (SSD) e 500GB em disco rıgido. A implementacao

e realizada na plataforma Visual Studio 2012 , usando a linguagem de programacao C/C++.

Page 67: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

66

A criacao das adaptacoes dos extensoes dos diagramas da UML e na base do editor Astah . A

avaliacao dos resultado e utiliza-se o pacote Ms Excel.

6.2.2 Determinacao dos custos de avaliacao das decisoes do BAM

A Computacao Autonomica busca na matematica estrategias para a tomada de decisao,

dado que os metodos de engenharia de software sao menos eficientes no que concerne aos

processos de controle do gerente autonomico.

Os custos associados ao processo se baseiam na valoracao de cada unidade de processa-

mento e na estrategia de decisao segundo as classes definidas que guiam o gerente autonomico.

Esses custos dos recursos foram determinados segundo precos praticados em servicos no data

center.

O estudo tem enfoque na pesquisa por parametros de cada fonte de recursos (Formula

5.2) a fim de encontrar uma solucao que minimize a funcao, {1− cf [i]oF [n]} definida pela Formula

5.4. Para isso, deve-se maximizar o valor da funcao do fitness definido pela Formula 5.5.

Figura 26 – Determinacao de custo de controle de solucao proposta

Cada fonte e limitada pelas quantidades maximas e mınimas de recursos, representando

a sua disponibilidade.

O limite inferior representa o estado inicial. Cada parametro e associado a um custo de

controle e cada classe de utilidade limitado por um valor que orienta a solucao (Tabela 3).

As classes de demanda (utilidade) sao definidas por intervalos, representando a utilidade

que e determinada pela TDF (Polıtica de alto nıvel). Deste modo, os numero 0, 1, 2, 3, 4

Page 68: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

67

e 5 caracterizam cada uma das utilidades, do nıvel mais baixo ao nıvel mais alto, que neste

trabalho e parametrizado segundo o comportamento da aplicacao web em seus diferentes nıveis

de utilidade, ou seja:

0 : TDF ∈ [0..5]

1 : TDF ∈]5..10]

2 : TDF ∈]10..15]

3 : TDF ∈]15..20]

4 : TDF ∈]20..25]

5 : TDF ∈]25..e+

As classes de utilidade mapeadas por n = 0, 1, 2, ..5, estabelecem os limites de recursos

por classe de utilidade (Tabela 2).

Tabela 2 – Classes de demanda: Limiares de controle por nıvel de utilidade

Fonte: Fonte do Autor

A classificacao e usada para o calculo dos orcamentos representativos de cada classe. O

BAM a utiliza para encontrar recursos proximo desse valor (Formula 5.3):

oF [n] = ci[j1] ∗ 2n−1 + ci[j2] ∗ 2n + 15 ∗ ci[j3] ∗ 2n + ci[j4] ∗ 2n−1

O custo unitario do parametro da aplicacao (i=1) no seu nıvel mais baixo de necessidade

de recurso n=0 e dado pelo vetor:

c[4] = {1, 0.5, 0.01, 0.5};

Aplicando-o na determinacao do valor por nıvel, tem-se:

oF [0] = c1[1] ∗ 2−1 + c1[2] ∗ 20 + 15 ∗ ci[j3] ∗ 20 + c1[j4] ∗ 2−1

oF [0] = 1.4

Analogamente oF [1] = 2.8, ..., oF [5] = 40.8, conforme e ilustrado na Tabela 3.

Page 69: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

68

Tabela 3 – Valores por classe de utilidade

Fonte: Fonte do Autor

6.2.3 Monitoramento e a utilidade da aplicacao

O Monitor representa e regula a polıtica de utilidade detectando os nıveis de demanda.

Neste estudo observou-se uma queda da media demandada de recursos, de TDF = 5, 8 para

TDF = 2, 0, nas ultimas 7 horas implicando na mudanca da Polıtica de utilidade 1 para faixa

de utilidade 0. Ou seja, o recurso em uso tem um custo maior, sendo necessario a reducao

dos recursos para adequacao ao nıvel observado. Neste caso, a polıtica de utilidade 1 tem que

ser adequada para utilidade 0, cuja meta e manter o sistema com o consumo de recursos nao

superior a R$ 1,40 por hora.

Figura 27 – Mudancas do comportamento da utilidade do servico

Fonte: Fonte do Autor

A polıtica de acao deve iniciar a reducao de recursos utilizando para isso a componente

de analise. Nos intervalos seguintes a utilidade manteve-se constante. Desse modo a compo-

nente de monitoramento do BAM nao ativa a componente de pesquisa de recursos.

Page 70: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

69

6.2.4 Analise de decisao na alocacao de recurso

Este processo consiste em selecionar a melhor combinacao de recursos que atendem

ao pedido. Esse processo e controlado por diferentes etapas. Considere o exemplo da secao

anterior (Figura 27) em que e avaliada a utilidade = 0 no instante t = 1, segundo a polıtica de

alto nıvel. A partir do instante t = 4 e avaliada em utilidade = 1. Isto e, sera necessario alocar

mais recursos, pois os custos anteriores, nos instantes t = 1, 2 e 3, correspondiam a polıtica de

meta limitada a R$1, 40/h. Nesta situacao, utilidade = 1, define-se novas metas com limiares

de custos a R$2, 80. A acao a considerar e selecionar um subconjunto de recursos limitados por

esse valor.

Figura 28 – Valores do custo de recurso por utilidade em relacao ao custo constante

Fonte: Fonte do Autor

No exemplo sobre os sistemas de disseminacao do SEN, no intervalo mostrado no

Grafico 27, em um perıodo de 14 horas, 71.4% dos intervalos de estudo tem a utilidade classi-

ficada como muito baixa (Utilidade zero); contudo o nıvel de recursos alocados para atender o

sistema e alto, em volta de recursos de custo R$11.20, no Grafico 28. Essa diferenca, mostra

que existe grande possibilidade de se obter ganhos aplicando a auto-otimizacao. No mesmo

intervalo observado, 28.6% dos perıodos tem utilidade = 1, mas tambem nao esta em con-

formidade com a quantidade de recursos alocados, que neste casos sao considerados sempre

constantes.

Page 71: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

70

A avaliacao do fitness visa encontrar as respostas com melhor equilıbrio na selecao.

Todavia, esta pode ser obtida mediante a determinacao do valor mediano do custo e aplicacao

de uma escolha gulosa para selecionar o valor com menor deferencia em relacao ao valor medio

(Figura 29).

Figura 29 – Custos das solucoes propostas

Fonte: Fonte do Autor

O resultado e um conjunto de parametros mınimos com os valores do fitness que se

distribuem em volta do valor medio (Figura 30). Tal como na estrategia de custo, a melhor

combinacao e aquela que tiver menor distancia em relacao ao valor medio.

Figura 30 – Fitness em relacao ao valor medio

Fonte: Fonte do Autor

O valor medio e 0.9031962 que representa o referencial do conjunto de solucao. A fonte

de recursos classificada como o melhor subconjunto e a 4, com desvio padrao de 0.006613.

Page 72: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

71

Portanto, o BAM nas suas polıticas de decisao deve especificar situacoes de mudancas na fonte

de recursos em situacoes em que a atual e substituıda por aleatoriedades no metodo de decisao.

6.3 Impacto do custo fixo sobre a utilidade

Figura 31 – Custo fixo, por cada nıvel de utilidade

A Figura 31 ilustra o impacto de um custo fixo sobre a utilidade. Em um sistema tra-

dicional os recursos disponıveis corresponderiam a classe de maior disponibilidade de recursos

(classe 5). Esta e utilizada para se determinar o impacto de um custo fixo (Valor da classe)

sobre a utilidade nas demais. Como ja esperado a dispersao dos valores em relacao a media e

maior para a classe de maior ociosidade em relacao a classe de nıvel 5. Valores proximos a zero

representam a situacao ideal do custo em relacao a demanda.

Em cada intervalo de tempo o ganho e calculado como a diferenca da utilizacao dos

recursos do sistema a custo constante e o custo de utilizacao por cada intervalo de tempo,

determinado pela classe de utilidade, tal como ilustra Grafico 28.

Em geral, a aplicacao web gerenciada, no perıodo observado, 70% dos nıveis de uti-

Page 73: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

72

lidade correspondem a demanda baixa, em que a utilidade e mantida baixa (zero) em cerca

de 30% dos casos, a utilidade e ajustada para atender nıveis proximos ao limite de recursos

da aplicacao gerenciada. Este comportamento foi impactando na minimizacao dos custos de

operacao, considerando que uma hora tem um valor de custo constante no sistema tradicional

e assumindo nulo os custos de introducao dos novos parametros. Assim, comparando com os

valores obtidos com variacao dos custos por hora e ajustando-os de acordo com as classes de

utilidade obtem-se ganhos proximos a 60% de reducao do custo. Essa porcentagem e ilustrativa

de ganhos inerentes a auto-otimizacao, dado que os parametros assumidos constantes podem

ter impacto na minimizacao dos custos.

6.4 Contribuicao

A CA e uma area de pesquisa que foi proposta em outubro de 2001 e formalizada em

2003 como area de pesquisa e de interesse para a engenharia de software, pois preocupa-se

em solucionar problemas que constituem gargalos a mesma motivada pelo aumento da com-

plexidade. Assim, a CA representa uma mudanca de paradigma de sistemas gerenciados pelo

homem para sistemas de software gerenciados pela propria tecnologia. Entretanto, varios fato-

res constituem desafios, tais como: elicitacao dos requisitos, o proprio processo de software, o

monitoramento de servicos, a obtencao de informacao sobre o estado do sistema e outros.

E fato que os sistemas tradicionais tem enfoque principalmente nos requisitos funcio-

nais, mas dotar tais sistemas com caracterısticas autonomicas requer o tratamento de requisitos

nao funcionais para a garantia da qualidade do servico. Este trabalho contribui nesta direcao por

meio de estrategias que especificam os requisitos de funcionamento de um elemento gerenciado,

minimizando as intervencoes do usuario neste processo.

Outra contribuicao se baseia na necessidade de desenvolver sistemas autonomicos ro-

bustos, faceis de usar, proativos, transparentes e flexıvel. Nesse contexto, este trabalho propoe

um mecanismo de auto-otimizacao com hierarquia em nıveis de utilidade que guiam escolhas

dos recursos do elemento gerenciado, simplificando as polıticas de ajuste.

A separacao de acoes que visam garantir a qualidade do funcionamento do sistema e a

estrategia nao intrusiva deste trabalho, sao tambem contribuicoes, pois permitem a introducao

do paradigma da CA, especificamente da auto-otimizacao, em sistemas legados.

Page 74: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

73

7 Conclusao e trabalhos futuros

7.1 Conclusao

Esta dissertacao apresentou uma abordagem de auto-otimizacao para sistemas autonomicos,

baseada na polıtica do enxame das abelhas. Apresentou tambem um estudo de caso de servicos

web para disseminacao de dados estatısticos de Mocambique. Destaca as principais diretrizes

da computacao autonomica e os requisitos para o alcance da auto-otimizacao.

Diferentes abordagens da auto-otimizacao estao baseadas em variadas tecnicas. A teo-

ria de controle adaptativa foi aplicada no monitoramento dos parametros de saıda dos objetos,

a fim de capturar o comportamento destes, isto e, demanda a intervencao intrusiva no sistema

gerenciado. Essa situacao dificulta a introducao do autogerenciamento em sistemas tradici-

onais. Contrariamente, a abordagem deste trabalho considera as caracterısticas de sistemas

autonomicos, baseando na separacao entre as funcoes para alcancar os requisitos funcionais

e de auto-otimizacao. Esta abordagem captura o comportamento de utilidade e determina os

parametros de uso dos recursos em funcao da demanda. O resultado e um sistema que acumula

ganhos em funcao de contencao de custos por unidade de tempo.

As polıticas baseadas na funcao de utilidade, metas e acao sao usadas para mapear os

nıveis de hierarquia das acoes do gerenciador autonomico. Esta abordagem do enxame das

abelhas se difere pelo fato de aplicar em cada nıvel de atuacao estrategias diferentes nas etapas

de monitoramento e analise de decisoes.

No monitoramento, o comportamento da utilidade do sistema e capturado sobre forma

da Transformada Discreta de Fourier para comunicar os nıveis de utilidade. Neste trabalho, ela

expressa os nıveis de utilidade do sistema que mapeiam as acoes de baixo nıvel. As preferencias

do gerenciador sao baseadas no seu grau de aversao ao risco, o que pode representar subjetivi-

dade no processo se nao houver confianca de que o gerenciador autonomico toma as decisoes

acertadas.

O uso do metodo de agrupamento, neste trabalho, no processo de monitoramento con-

tribui para maior precisao da utilidade. Esse fato, e muito importante para analise do comporta-

Page 75: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

74

mento dos sistemas autonomicos, pois contrariamente ao uso da media, o estimador apresenta

pouca influencia em relacao ao valores extremos.

O Modelo de Aplicacao define as componentes que devem constituir um framework do

processo decisorio. Neste processo sao especificadas as componentes de monitoramento e de

analise das decisoes. O modelo em alto nıvel descreve as acoes do BAM.

A avaliacao do impacto dos parametros constitui a componente de analise onde sao

capturados os valores de utilidade e classificados para determinar os parametros adequados ao

nıvel de utilidade. Cada conjunto de parametros de saıda do modelo e avaliado em funcao

das metricas estatısticas descritas no Capıtulo 4. Neste caso procura-se encontrar os valores

cuja qualidade da resposta e igual ou esta proxima do valor mediano entre o fitness maximo e

mınimo. Esta escolha alcanca valores otimos, portanto, diverge na estrategia da qualidade em

que o maior fitness e o melhor valor. Os resultados do estudo de caso mostram que se pode

obter ganhos significativos aplicando polıticas de autogestao.

O sistema apresentado no estudo de caso com decisoes de auto-otimizacao, sem con-

siderar os custos envolvidos para reajustar os parametros do sistema, assim como os custos

de migracao dos servicos entre as diferentes fontes obtem um ganho de cerca de 60% de

minimizacao de custo.

7.2 Trabalhos futuros

A pesquisa discutiu aspectos fundamentais a serem considerados no desenvolvimento de

um framework de auto-otimizacao. Um trabalho importante e a utilizacao do BAM integrando

a autoconfiguracao e avaliar se melhorarias as polıticas de decisao do sistema autonomico.

A aplicacao da computacao autonomica deve incluir componentes dos sistemas para-

lelizados para atender real capacidade dos recursos alocados. Neste estudo, o fator limitante

foi o sistema estudado que nao e uma aplicacao paralela. Portanto, nao foi possıvel testar a

reacao deste sistema face ao paralelismo. Desta forma, um trabalho futuro deve incluir esta

possibilidade.

Um outro estudo pertinente e avaliar a aplicabilidade da logica fuzzy para o alcance das

propriedades autonomicas em particular no processo decisorio do BAM.

Page 76: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

75

REFERENCIAS

AHUJA, K.; DANGEY, H. Autonomic Computing: An Emerging Perspective and Issues.Ghaziabad, India: IEEE, 2014. 471–475 p.

AL-ZAWI, M. M. et al. Autonomic computing: Applications of self-healing systems. In:IEEE. Proceedings of International Conference on Developments in E-systems Engineering.Dubai, 2011. p. 381–386.

BASTURK, B.; KARABOGA, D. An artificial bee colony algorithm for numeric functionoptimization. In: Proceedings of International Conference on Swarm Intelligence . USA:IEEE, 2006. p. 459–471.

BASTURK, B.; KARABOGA, D. An artificial bee colony algorithm for numeric functionoptimization. In: Proceedings of International Conference on Swarm Intelligence. USA:IEEE, 2006. p. 459–471.

BERNERS-LEE, T.; HENDLER, J.; LASSILA, O. Web semantica: um novo formato deconteudo para a web que tem significado para computadores vai iniciar uma revolucao denovas possibilidades. Revista Scientific American, 2001.

BERRY, D. M.; CHENG, B. H. C.; ZHANG, J. The four levels of requirements engineeringfor and in dynamic adaptive systems. In: Proceedings of 11th International Workshopon Requirements Engineering Foundation for Software Quality. USA: Michigan StateUniversity, 2005.

BONABEAU, E.; DORIGO, M.; THERAULAZ, G. Swarm Intelligence: from Natural toArtificial Systems. UK: Oxford University Press, 1999.

CAMAZINE, S. et al. Self-Organization in Biological Systems . UK: Princeton: PrincetonUniversity Press, 2003.

CSE-INE, C. S. de E. PLANO ESTRATEGICO DO SISTEMA ESTATISTICO NACIONAL2013–2017. Mocambique: INE, 2013. 1–37 p.

GANEK, A. G. et al. The response to it : autonomie computing. In: Proceedings of The 3rdIEEE International Symposium on Network Computing and Applications . USA: IEEE,2004. p. 151–157.

GARLAN, D.; SCHMERL, B. Model-based adaptation for self-healing systems. In: ACM.Proceedings of the First Workshop on Self-healing Systems. USA, 2002. p. 27–32.

GUILHERME, F. Multi Autonomic Management for Optimizing Energy Consumption inCloud Infrastructures. Franca: Universidade de Nante, 2013.

HORN, P. Autonomic Computing: IBM perspective on the state of information technology.USA: IBM Corporation, 2001.

Page 77: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

76

HUEBSCHER, M. C.; MCCANN, J. A. A survey of autonomic computing, degrees, models,and applications. ACM Computing Surveys (CSUR), ACM, USA, v. 40, n. 3, p. 7, 2008.

IBM. An architectural blueprint for autonomic computing. IBM Corporation, USA, 2006.

INE. Resultados Definitivos do Censo 2007. Mocambique: Instituto Nacional de Estatistica,2009.

KARABOGA, D. An idea based on honey bee swarm for numerical optimization. Turky, 2005.

KARABOGA, D.; AKAY, B. A survey: algorithms simulating bee swarm intelligence.Artificial Intelligence Review, Kluwer Academic Publishers, v. 31, n. 1-4, p. 61–85, 2009.

KARABOGA, D.; BASTURK, B. A powerful and efficient algorithm for numerical functionoptimization: artificial bee colony (abc) algorithm. Journal of Global Optimization, IEEE,USA, v. 39, p. 459–471, 2007.

KEPHART, J. O. The Vision of Autonomic Computing. USA: IEEE, 2003.

KEPHART, J. O. Autonomic computing: The first decade. In: Proceedings of 8thInternational Conference on Autonomic Computing . USA: ACM, 2011. p. 1–2.

KEPHART, J. O.; DAS, R. Achieving self-management via utility functions. In: AutonomicComputing. USA: IEEE, 2007. p. 40 – 48.

KHALID, A. et al. Survey of frameworks, architectures and techniques in autonomiccomputing. In: Proceedings of Fifth International Conference on Autonomic andAutonomous Systems. Valencia: IEEE, 2009. p. 220–225.

LEVINE, D. W. A Toolkit for Autonomic Computing. USA: IBM Developerworks Live, 2003.

MACEDO, D. F. Computacao Autonomica. Minas Gerias, Belo Horizonte: Instituto deCiencias Exatas, Universidade Federal de Minas Gerais, 2012.

MAGGIO, M. et al. Comparison of decision-making strategies for self-optimization inautonomic computing systems. In: Proceedings of The ACM Transactions on Autonomousand Adaptive Systems. USA: ACM, 2012. p. 1–36.

MARKUS, L.; ENGELS, G. High-quality specification of self-adaptive software systems. In:IEEE. Proceedings of The 8th International Symposium on Software Engineering for Adaptiveand Self-Managing Systems. USA, 2013. p. 143–152.

MATTES, O.; KARL, W. Evaluating the self-optimization process of the adaptive memorymanagement architecture. In: Resource Awareness and Adaptivity in Multi-Core Computing.Germany: Institute of Computer Science and Engineering, 2014. p. 16–21.

MOCAMBIQUE. Lei no7/96 cria o Sistema Estatıstico Nacional, SEN. 1996. Disponıvel em:<www.ine.gov.mz; Acesso em: 1 de Agosto 2014>.

Page 78: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

77

NARASIMHAN, H. Parallel artificial bee colony algorithm. In: ICIS Proceedings InternationalConference on Nature and Biologically Inspired Computing, 2009. World Congress on NaBIC2009. Coimbatore, India: IEEE, 2009. p. 306–311.

NHANE, A. L. O.; SONG, M. A. J. Self-optimization in autonomic computing systems basedon the methodology of bees swarm intelligence. In: Proceedings of The 2014 InternationalConference on Software Engineering Research and Practice, SERP 2014. USA, Las Vegas:CSREA Press, 2014. p. 120– 126.

NORTH, D. W. A tutorial introduction to decision theory. In: IEEE Transactions on SystemsScience and Cybernetics. [S.l.]: IEEE, 1968. p. 200–210.

PAN, G.; DOU, Q.; LIU, X. Performance of two improved particle swarm optimization indynamic optimization environments. In: Proceedings of the Sixth International Conference onIntelligent. Systems Design and Applications. USA: IEEE, 2006. p. 1024 – 1028.

PEREZ, J. et al. Self-balancing distributed energy in power grids: an architecture based onautonomic computing. In: 47th Hawaii International Conference on System Science. Spain:IEEE Computer Society, 2014.

PHAM, D. et al. The bees algorithm: a novel tool for complex optimisation problems. In:Proceedings of 2nd Virtual International Conference on Intelligent Production Machinesand Systems . United Kingdom: Cardiff University, 2006. p. 454–459.

QUIJANO, N.; PASSINO, K. M. Honey bee social foraging algorithms for resource allocation,part i: Algorithm and theory. In: American Control Conference. USA: IEEE, 2007. p.3383–3388.

RAMIREZ, A. J. et al. Applying genetic algorithms to decision making in autonomiccomputing systems. In: Proceedings of the 6th international conference on Autonomiccomputing. USA: ACM, 2009. p. 97–106.

RANGSWAMY, S. Techniques and theories of self-optimization in autonomic systems. India,II, n. 1, p. 73–80, 2011.

RAZA, B. et al. Autonomic Success in Database Management Systems. In: Proceedingsof Eighth IEEE/ACIS International Conference on Computer and Information Science. ICIS2009. Shanghai: IEEE, 2009. p. 439 – 444.

SAHADEVA, K.; YADAV, S.; SHARMA, A. Minimizing maintenance cost of softwareby injecting autonomic computing elements. In: Proceedings of 2nd IEEE InternationalConference on Parallel, Distributed and Grid Computing. India: IEEE, 2012.

SALEHIE, M.; TAHVILDARI, L. Self-adaptive software: Landscape and research challenges.In: Proceedings of The ACM Transactions on Autonomous and Adaptive Systems. USA: ACM,2009. p. 1–42.

SHEN, C.; PESCH, D. A framework for self-management of hybrid wireless networksusing autonomic computing principles. In: Proceedings of the 3rd Annual CommunicationNetworks and Services Research Conference . UK: IEEE, 2005. p. 99–104.

Page 79: PONTIF´ICIA UNIVERSIDADE CAT OLICA DE MINAS GERAIS

78

SHUAIB, H.; ANTHONY, R. J.; PELC, M. A framework for certifying autonomic computingsystems. In: Proceedings of The Seventh International Conference on Autonomic andAutonomous Systems. United Kingdom: IARIA, 2011.

SIRONI, F. et al. Metronome: operating system level performance management via self-adaptive computing. In: Proceedings of The 49th Annual Design Automation Conference.USA: ACM, 2012. p. 856–865.

SOARES, M. A.; MADEIRA, E. R. M. A multi-agent architecture for autonomic managementof virtual networks. In: Proceedings of Internation Conference on Network Operations andManagement. USA: IEEE, 2012. p. 1183 – 1186.

TEODOROVIC, D. et al. Bee colony optimization: Principles and applications. In:Proceedings of The Neural Network Applications in Electrical Engineering. Belgrade,Serbia & Montenegro: IEEE, 2006. p. 151 – 156.

TESAURO, G. et al. Utility-function-driven resource allocation in autonomic systems. In:Proceedings of Second International Conference on Autonomic Computing, 2005. Busan,South Korea: IEEE, 2005.

TEWARI, V.; MILENKOVIC, M. Standards for autonomic computing. Intel TechnologyJournal, Intel Corporation, 2006.

VAN, H. N.; TRAN, F. D.; MENAUD, J.-M. Performance and power management for cloudinfrastructures. In: Proceedings of 3rd International Conference on Cloud Computing. USA,Washington DC: IEEE, 2010. p. 329–336.

WALSH, W. E.; KEPHART, J. O. Utility functions in autonomic systems. In: Proceedings ofSecond International Conference on Autonomic Computing. USA: IEEE, 2005. p. 342–343.

WORLDSTATS. Internet WorldStats and Population. 2013. Disponıvel em:<www.internetworldstats.com; Acesso em: 1 de Marco 2014>.

ZHAO, Z.; GAO, C.; DUAN, F. A survey on autonomic computing research. In: IEEE.Proceedings of Second Asia-Pacific Conference on Computational Intelligence andIndustrial Applications. Asia-Pacıfico: IEEE, 2009. v. 2, p. 288 – 291.