Software Aging em uma
Infraestrutura de Cloud
Computing
Jean Carlos Teixeira de Araujo
Rubens de Souza Matos Júnior
[email protected]
[email protected]
1
Software Aging
Degradação progressiva do desempenho e/ou da
disponibilidade de recursos do sistema operacional
Corrupção de dados e acúmulo de erros numéricos que
podem levar a falhas no sistema ou desligamentos
indesejados [Trivedi et al, 2000]

2
Software Rejuvenation
É uma técnica que contraria o fenômeno do envelhecimento
em uma forma proativa, eliminando condições de
acumulação de erro e liberando recursos do sistema
operacional.
Proposta por (HUANG et al, 1995).
3
Software Rejuvenation
ESTRATÉGIAS




Garbage collection;
Desfragmentação;
Flushing de tabelas e recursos do SO;
Reinicialização de estruturas internas de dados.
4
Cloud Computing
Recursos computacionais são abstraídos e fornecidos como
serviços na internet, de uma forma acessível remotamente.
Poder de computação
Armazenamento
Rede
Software
5



Eucalyptus é um software usado para implementar clouds
privadas e híbridas no estilo IaaS.
A arquitetura do Eucalyptus é bastante modular e seus
componentes internos usam Web services, facilitando sua
substituição e expansão;
Implementa a API Amazon Web Service (AWS), permitindo
interoperabilidade com outros serviços baseados no AWS.
6

Baseada em Linux

Pode usar as tecnologias de virtualização:
–
–
–
KVM
Xen
VMWare*
7
MoDCS Cloud

Arquitetura utilizada:






1 host controlador geral

Cloud Controller

Cluster Controller

Storage Controller (Block-level storage – Amazon EBS)

Walrus Controller (File-level storage – Amazon S3)
4 hosts para execução das VMs (node controllers);
3 com S.O. e pacotes i386
1 com S.O. e pacotes amd64
Interligados por um switch, numa rede isolada;
1 máquina sendo utilizada como proxy (rede do CIn e Internet) e cliente
para requisições à cloud.
8
9
ModCS Cloud
10
Ciclo de vida das VMs
11
Descrição do experimento

Elaboração de scripts para experimento de aging
–
Monitoramento de recursos:
•
•
•
•
•
•
–
Uso geral de CPU (mpstat)
Uso geral de memória: buffer, cache, swap (free)
Uso de CPU e memória do processo eucalyptus-cloud e do
processo apache2, relativo ao eucalyptus-nc (pidstat)
Uso geral de disco (df)
Número de processos zumbis (ps)
Eventos de fragmentação de memória
Métricas eram obtidas a cada 1 minuto
12
Andamento do experimento





Aproximadamente 1 hora de medição antes do início da carga
A partir do 2º dia, notamos que em algumas máquinas as VMs não
estavam mais sendo instanciadas.
Decidimos reiniciar o serviço eucalyptus-nc na máquina onde isso
acontecia e continuar o experimento.
O comportamento prosseguiu nos dias seguintes.
Em algumas ocasiões demorou-se a perceber o “travamento”.
13
Análise preliminar
Cloud controller – CPU geral
14
Análise preliminar
Cloud controller – Memória geral
15
Análise preliminar
Cloud controller – Swap
16
Análise preliminar
Cloud controller – Processo eucalyptus cloud
17
Memória residente
Análise preliminar
Cloud controller – Processos zumbis
18
Análise preliminar
Node controller – Serviço eucalyptus-nc
19
Memória residente
Análise preliminar
Node controller – Serviço eucalyptus-nc
20
Memória virtual
Análise preliminar
Node controller 64 bits – Swap
21
Análise preliminar
Node controller 64 bits – Serviço eucalyptus-nc
22
Memória residente
Análise preliminar
Node controller 64 bits – Serviço eucalyptus-nc
23
Memória virtual
Proposta de rejuvenation
Reinicialização do serviço eucalyptus-nc, antes que o
mesmo chegue aos 3 GB de uso de memória virtual.




Prejuízos mínimos para a disponibilidade do serviço
(FTP ou Web por exemplo)
VMs não são interrompidas com a reinicialização do
referido processo
Apenas pedidos de alocações de VMs naquela
máquina ficam imposdibilitados (por poucos
segundos)
24
Futuros projetos

Cloud storage




Eucalyptus
Google File System
Modelos e medições de dependabilidade de serviços na
cloud
Comparações entre efeitos de aging usando KVM e Xen.
25
Dúvidas
26
Download

Análise preliminar