adaptação dinâmica de sistemas distribuídos - ime-uspfssilva/tese/apresentacao.pdf ·...

Post on 30-Nov-2018

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Adaptação Dinâmica deSistemas Distribuídos

Francisco Jose da Silva e Silva

Orientadores:

Prof. Dr. Markus Endler

Prof. Dr. Fabio Kon

Instituto de Matematica e Estatıstica da

Universidade de Sao Paulo

Adaptacao Dinamica deSistemas Distribuıdos – p.1/54

Tópicos

1. Introdução

2. Visão Geral do Arcabouço

3. Monitoração

4. Detecção de Mudanças

5. Reconfiguração

6. Validação

7. Testes Realizados

8. Conclusões

Adaptacao Dinamica deSistemas Distribuıdos – p.2/54

Introdução

Adaptacao Dinamica deSistemas Distribuıdos – p.3/54

Motivação

Os avanços nas áreas de computação distribuída, móvel eubíqua tem contribuído para o desenvolvimento desistemas de software caracterizados por um alto grau dedinamismo para tratar de diversas caracteristicas inerentesa estes sistemas:

grande variação na disponibilidade de recursos eserviços;

heterogeneidade de hardware e software;

diversidade das tecnologias de rede empregadas;

mobilidade dos usuários.

Adaptacao Dinamica deSistemas Distribuıdos – p.4/54

Requisito de Software

O software deve ser capaz de se reconfigurar dinamica-

mente em resposta às constantes mudanças do ambiente

de execução de forma a prover os requisitos de funcionali-

dade e desempenho especificados.

Adaptacao Dinamica deSistemas Distribuıdos – p.5/54

Software Adaptativo: Desafios

estruturação do código da aplicação considerando osaspectos funcionais e adaptativos;

escolha de quais elementos do ambiente de execuçãodevem ser monitorados e como realizar estamonitoração;

determinação da necessidade de realizar adaptações;

definição de quais ações adaptativas devem serrealizadas e como executá-las;

complexidade é maior se considerarmos aplicaçõesdistribuídas.

Adaptacao Dinamica deSistemas Distribuıdos – p.6/54

Objetivo e Abordagem

Reduzir a complexidade inerente ao desenvolvimento de

aplicações distribuídas adaptativas através do desenvolvi-

mento de um modelo e mecanismos, na forma de um arca-

bouço de software, que facilitem a construção desta classe

de aplicações.

Adaptacao Dinamica deSistemas Distribuıdos – p.7/54

Mecanismos para Adaptação

Monitoração do Ambientede Execução

MudançasDetecção de

Alteração do Comportamentoda Aplicação

Adaptacao Dinamica deSistemas Distribuıdos – p.8/54

Visão Geral do Arcabouço

Adaptacao Dinamica deSistemas Distribuıdos – p.9/54

Requisitos de Projeto

deve ser geral;

deve dar apoio a reconfiguração dinâmica deaplicações distribuídas;

seus componentes devem ser extensíveis;

os serviços disponibilizados devem permitir a execuçãoconcorrente de aplicações adaptativas;

os componentes do arcabouço devem permitir ogerenciamento de sua execução;

deve promover uma clara separação entre o códigofuncional da aplicação e o código responsável pelocomportamento adaptativo.

Adaptacao Dinamica deSistemas Distribuıdos – p.10/54

Visão Geral do Arcabouço

Detecção de Eventose Notificação

Monitor deRecursos

Monitor deInterações entreObjetos

Avaliador deEventos de Interação

Avaliador deEventos de Recurso

Compositor eNotificador

ReconfiguraçãoDinâmica

Configurador deComponentes Estendido

Monitoração

Adaptacao Dinamica deSistemas Distribuıdos – p.11/54

Monitoração

Adaptacao Dinamica deSistemas Distribuıdos – p.12/54

Monitoração

Objetivo: coletar dados que permitam acompanhar oestado do ambiente de execução.Sub-pacotes:

Monitor de Recursos: acompanha o estado deutilização dos recursos disponíveis no ambiente;

Monitor de Interações entre Objetos:monitora as chamadas de método realizadas entre oscomponentes da aplicação.

Adaptacao Dinamica deSistemas Distribuıdos – p.13/54

Monitor de Recursos

estruturado como uma coleção de OMRs (Objetos deMonitoração de Recursos);

cada OMR é responsável por monitorar um Parâmetrode Monitoração.

Exemplo: percentual de uso da UCP

Faixa Valor Inicial Valor Final

1 0 5

2 5.01 10

3 10.01 20

4 20.01 50

5 50.01 75

6 75.01 85

7 85.01 95

8 95.01 100Adaptacao Dinamica deSistemas Distribuıdos – p.14/54

OMR

utiliza modelo push;

gera notificação somente ao ocorrer alteração na faixade operação;

extensível: reutiliza-se 5 de 7 classes;

tipicamente haverão diversos OMRs instanciados nosnós do ambitente de execução;

permite gerenciamento de sua execução.

Adaptacao Dinamica deSistemas Distribuıdos – p.15/54

Monitor de Interações

Interceptadores são inseridos entre os objetos quecompõem a aplicação;

dados relativos a cada chamada de método sãoarmazenados em memória persistente;

pode-se selecionar quais métodos de cadacomponente da aplicação devem ser monitorados.

Adaptacao Dinamica deSistemas Distribuıdos – p.16/54

Monitor de Interações

Duas implementações disponíveis:

utiliza Interceptadores Portáteis de CORBAtransparente para o código da aplicação;não permite o armazenamento dos parâmetrosenviados na chamada de método.

utiliza apenas Javacontorna a limitação anterior;não é transparente para o código da aplicação.

Adaptacao Dinamica deSistemas Distribuıdos – p.17/54

Detecção de Mudançasno Ambiente de Execução

Adaptacao Dinamica deSistemas Distribuıdos – p.18/54

Detecção de Eventos

Objetivo: detectar mudanças relevantes no estado doambiente no qual a aplicação está sendo executada enotificar estas mudanças.Sua abordagem é orientada a eventos:

Eventos de Recurso: relacionados a mudanças noestado de utilização dos recursos distribuídos;

Eventos de Interação: relacionados com a análise dasinterações entre os componentes que compõem aaplicação distribuída.

Adaptacao Dinamica deSistemas Distribuıdos – p.19/54

Requisitos de Projeto

extensibilidade: cada aplicação possui interesse em umconjunto próprio de eventos;

definição de eventos de Recurso e Interação.

reconfiguração dinâmica: o código para detecção deum evento deve poder ser carregado, removido ealterado dinamicamente;

gerenciamento: interface que permita inciar, suspender,reiniciar e interromper a detecção de eventos de formaseletiva.

Adaptacao Dinamica deSistemas Distribuıdos – p.20/54

Eventos de Recurso

OMRs notificam o Gerente de Recursos sempre quehouver uma variação na faixa de operação doparâmetro monitorado;

O Gerente de Recursos mantém o último valorfornecido por todos os OMRs;

A avaliação da ocorrência de Eventos de Recurso ébaseada em expressões boolenas:

uso_ucp > 4 AND mem_disponível < 2

tempo de duração.

Adaptacao Dinamica deSistemas Distribuıdos – p.21/54

Eventos de Interação

dados relativos às chamadas de método realizadas porcomponentes da aplicação são armazenadas emmemória persistente;

a análise destes dados é realizada por Avaliadores deInterações;

cada Avaliador é responsável pela avaliação daocorrência de um Evento de Interação específico;

cada Avaliador é executado em uma periodicidadefornecida;

o Gerente de Interações controla a execução de umconjunto de Avaliadores.

Adaptacao Dinamica deSistemas Distribuıdos – p.22/54

Notificação de Eventos

Utiliza o Serviço de Eventos de CORBA:

push()

Componente daAplicação B

Componente daAplicação A

Canal de Eventos

push()

Gerente de

Gerente de

Interações

Recursos

Adaptacao Dinamica deSistemas Distribuıdos – p.23/54

Reconfiguração

Adaptacao Dinamica deSistemas Distribuıdos – p.24/54

Reconfiguração Dinâmica

Objetivo: executar as ações de reconfiguração daaplicação distribuída necessárias para adequá-la a umnovo estado do ambiente de execução.

componentes do arcabouço são introduzidos no códigoda aplicação;

requisito importante: separar o código responsável pelocomportamento funcional da aplicação do códigoresponsável pelo comportamento adaptativo;

extensão do Configurador de Componente;

Adaptacao Dinamica deSistemas Distribuıdos – p.25/54

Configurador de Componente

Para cada componente da aplicação que possa estarenvolvido ou ser afetado por uma reconfiguração,instancia-se um Configurador de Componente;

O Configurador mantém dois tipos de referencias:gancho;cliente.

Configuradores são também responsáveis por distribuireventos de reconfiguração entre componentesinter-dependentes.

Adaptacao Dinamica deSistemas Distribuıdos – p.26/54

Configurador de Componente

Clientes

Ganch

so

Depende DeDepende De

Componentes

Implementação do

Clientes

Componente (C)

Componente

Configurador de

Enganchadas

Adaptacao Dinamica deSistemas Distribuıdos – p.27/54

Configurador Estendido

Uma nova thread, denominada EnvironmentAware,possui as seguintes funções:

receber notificações de eventos que sinalizammudanças no ambiente de execução;

executar a estratégia responsável por tratar o eventoespecífico ocorrido;

para cada evento, pode-se definir mais de umaestratégia organizadas utilizando-se o padrão Strategy.

Adaptacao Dinamica deSistemas Distribuıdos – p.28/54

Configurador Extendido

Clientes

anchos

G

Depende DeDepende De

Componentes Clientes

Environment Component

CORBA

Configurator

Canal de Eventos

Aware

Implementação do Componente

Enganchados

Adaptacao Dinamica deSistemas Distribuıdos – p.29/54

Validação

Adaptacao Dinamica deSistemas Distribuıdos – p.30/54

Validação do Arcabouço

utilizamos o protótipo da aplicação de referência doprojeto SIDAM: um sistema de disseminação deinformações de trânsito para uma metrópole;

a geração, armazenamento e consulta de dados sobreo tráfego nas regiões da cidade são distribuídos.

Adaptacao Dinamica deSistemas Distribuıdos – p.31/54

Conceitos

divide-se a cidade em microrregiões;

cada microrregião corresponde a algumas quadras erepresenta uma unidade atômica de armazenamentode informações de trânsito;

dados a respeito da condição do trânsito de uma oumais microrregiões são armazenados em Servidoresde Informação;

máquinas fixas executam um ou mais Servidores deInformação.

Adaptacao Dinamica deSistemas Distribuıdos – p.32/54

Protótipo PSIT

Componentes:

Servidor de Informação;

Servidor de Localização;

Servidor Sidam.

Adaptacao Dinamica deSistemas Distribuıdos – p.33/54

Adaptação no PSIT

adaptação a variações no padrão de acesso aServidores de Informação;

adaptação a variações no estado de utilização derecursos.

Adaptacao Dinamica deSistemas Distribuıdos – p.34/54

Padrão de Acesso

monitoração das chamadas ao método getInfo()disponibilizado por Servidores de Informação;

um Avaliador periodicamente contabiliza a quantidadede acessos gerados para cada Servidor de Informação,agrupando-as pelas “regiões geradoras” dasrequisições;

evento AccessLocation;

a estratégia implementada localiza uma máquina naregião responsável pelo maior número de acessos paraeste servidor e que esteja com uma carga de trabalhoabaixo de um determinado patamar;

o Servidor de Informação é reintanciado.

Adaptacao Dinamica deSistemas Distribuıdos – p.35/54

Estado de Recursos

OMRs monitoram o percentual de uso da UCP ememória disponível nas máquinas pertencentes à redefixa;

evento ServerOverloaded: grande consumo de UCPe pouca memória disponível;

estratégias implementadas:first fitbest fit

o Servidor de Informação é reintanciado.

Adaptacao Dinamica deSistemas Distribuıdos – p.36/54

Testes Realizados

Adaptacao Dinamica deSistemas Distribuıdos – p.37/54

Testes Realizados

através de simulações, avaliou-se o desempenho daversão adaptativa do PSIT comparando-o à sua versãonão-adaptativa;

a cidade foi dividida em quatro macrorregiões (norte,sul, leste e oeste) e definimos um custo decomunicação para computadores pertencentes à redefixa entre cada uma das regiões;

para simplificar a análise dos dados coletados, foiutilizado apenas um Servidor de Informação;

foram implementados 3 cenários.

Adaptacao Dinamica deSistemas Distribuıdos – p.38/54

Primeiro Cenário

� �

Etapa

� �

Etapa

acessos 300 / 600 300 / 600

norte 10% 10%

sul 50% 10%

leste 20% 10%

oeste 20% 70%

Adaptacao Dinamica deSistemas Distribuıdos – p.39/54

Primeiro Cenário

0

10

20

30

40

50

60

70

0 20 40 60 80 100 120

Tem

po m

edio

de

aces

so (

em m

ilise

gund

os)

Intervalo entre execucoes do Avaliador (em segundos)

Adaptacao Dinamica deSistemas Distribuıdos – p.40/54

Primeiro Cenário

0

50

100

150

200

250

300

0 50 100 150 200 250

Tem

po d

e ac

esso

(em

mili

segu

ndos

)

Tempo (em segundos)

Adaptacao Dinamica deSistemas Distribuıdos – p.41/54

Primeiro Cenário

0

50

100

150

200

250

300

0 50 100 150 200 250

Tem

po d

e ac

esso

(em

mili

segu

ndos

)

Tempo (em segundos)

Adaptacao Dinamica deSistemas Distribuıdos – p.42/54

Segundo Cenário

� �

Etapa

� �

Etapa

acessos 300 300

norte 25% 20%

sul 25% 40%

leste 25% 20%

oeste 25% 20%

Adaptacao Dinamica deSistemas Distribuıdos – p.43/54

Segundo Cenário

0

10

20

30

40

50

60

70

0 20 40 60 80 100 120

Tem

po m

edio

de

aces

so (

em m

ilise

gund

os)

Intervalo entre execucoes do Avaliador (em segundos)

Adaptacao Dinamica deSistemas Distribuıdos – p.44/54

Terceiro Cenário

� �

Etapa

� �

Etapa

� �

Etapa

� �

Etapa

� �

Etapa� �

Etapa

acessos 60 60 60 60 60 60

norte 0% 100% 0% 100% 0% 100%

sul 100% 0% 100% 0% 100% 0%

leste 0% 0% 0% 0% 0% 0%

oeste 0% 0% 0% 0% 0% 0%

Adaptacao Dinamica deSistemas Distribuıdos – p.45/54

Terceiro Cenário

0

10

20

30

40

50

60

70

0 50 100 150 200

Tem

po m

edio

de

aces

so (

em m

ilise

gund

os)

Intervalo entre execucoes do Avaliador (em segundos)

Adaptacao Dinamica deSistemas Distribuıdos – p.46/54

Quarto Cenário

� �

Etapa

� �

Etapa

acessos 600 600

norte 90% 5%

sul 5% 90%

leste 3% 3%

oeste 2% 2%

Adaptacao Dinamica deSistemas Distribuıdos – p.47/54

Quarto Cenário

0

50

100

150

200

250

300

350

0 20 40 60 80 100 120

Tem

po m

edio

de

aces

so (

em m

ilise

gund

os)

Intervalo entre execucoes do Avaliador (em segundos)

Adaptacao Dinamica deSistemas Distribuıdos – p.48/54

Conclusões

Adaptacao Dinamica deSistemas Distribuıdos – p.49/54

Características do Arcabouço

seu modelo integra a monitoração do ambiente deexecução, a detecção de mudanças significativas desteambiente e o suporte à reconfiguração doscomponentes da aplicação;

é geral;

é flexível;

possui mecanismos que permitem o gerenciamento daexecução de seus componentes;

permite a reconfiguração dinâmica da infra-estrutura demonitoração e detecção de eventos do ambiente deexecução;

Adaptacao Dinamica deSistemas Distribuıdos – p.50/54

Características do Arcabouço

monitoração: estado de utilização de recursos doambiente E análise das interações realizadas entre osobjetos que compõem a aplicação;

os componentes do arcabouço executados emprocessos independentes podem ser compartilhadospor diversas aplicações adaptativas;

separação do código funcional da aplicação do códigoresponsável pela adaptação;

estratégias de adaptação organizadas de acordo com opadrão Strategy ;

suporte à reconfiguração dos componentes quecompõem a aplicação através do uso deConfiguradores de Componentes.

Adaptacao Dinamica deSistemas Distribuıdos – p.51/54

Principais Contribuições

desenvolvimento de um modelo e mecanismos naforma de um arcabouço para simplificar odesenvolvimento de aplicações adaptativasdistribuídas;

foi explorado a análise das interações entrecomponentes da aplicação como forma de se detectara necessidade de realizar adaptações;

extendeu-se o Configurador de Componentes criandoum mecanismo para coordenar reconfigurações decomponentes distribuídos.

Adaptacao Dinamica deSistemas Distribuıdos – p.52/54

Conclusões

o desenvolvimento de aplicações distribuídasadaptativas é uma tarefa complexa;

este trabalho apresenta um modelo e arcabouço queobjetivam simplificar o desenvolvimento desta classede aplicações;

solução geral e que não restringe os mecanismos paraadaptação que possam ser utilizados.

Adaptacao Dinamica deSistemas Distribuıdos – p.53/54

Trabalhos Futuros

integração com o ReMoS;

utilização EPS;

utilização do arcabouço na construção de outrasaplicações;

desenvolvimento de bibliotecas de componentesespecializados;

escalabilidade no gerenciamento de recursos;

extensões na interface do OMR;

utilização de parte da infra-estrutura em outrosprojetos, como os relacionados a grid computing.

Adaptacao Dinamica deSistemas Distribuıdos – p.54/54

top related