1
Software Aging em uma Software Aging em uma Infraestrutura de Cloud Infraestrutura de Cloud
ComputingComputing
Jean Carlos Teixeira de Araujo
Rubens de Souza Matos Júnior
[email protected]@cin.ufpe.br
2
Software Aging
Degradação progressiva do desempenho e/ou da disponibilidade de recursos do sistema operacionalCorrupção de dados e acúmulo de erros numéricos que podem levar a falhas no sistema ou desligamentos indesejados [Trivedi et al, 2000]
3
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).
4
Software Rejuvenation
ESTRATÉGIAS
Garbage collection; Desfragmentação; Flushing de tabelas e recursos do SO; Reinicialização de estruturas internas de dados.
5
Cloud Computing
Recursos computacionais são abstraídos e fornecidos como serviços na internet, de uma forma acessível remotamente.
Poder de computaçãoArmazenamentoRedeSoftware
6
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.
7
Baseada em Linux Pode usar as tecnologias de virtualização:
– KVM– Xen– VMWare*
8
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.
9
10
ModCS Cloud
11
Ciclo de vida das VMs
12
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
13
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”.
14
Análise preliminar
Cloud controller – CPU geral
15
Análise preliminar
Cloud controller – Memória geral
16
Análise preliminar
Cloud controller – Swap
17
Análise preliminar
Cloud controller – Processo eucalyptus cloudMemória residente
18
Análise preliminar
Cloud controller – Processos zumbis
19
Análise preliminar
Node controller – Serviço eucalyptus-ncMemória residente
20
Análise preliminar
Node controller – Serviço eucalyptus-ncMemória virtual
21
Análise preliminar
Node controller 64 bits – Swap
22
Análise preliminar
Node controller 64 bits – Serviço eucalyptus-ncMemória residente
23
Análise preliminar
Node controller 64 bits – Serviço eucalyptus-ncMemória virtual
24
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)
25
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.
26
Dúvidas