Software Aging em uma Infraestrutura de Cloud Computing Jean Carlos Teixeira de Araujo Rubens de Souza Matos Júnior jcta@cin.ufpe.br rsmj@cin.ufpe.br
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]
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).
Software Rejuvenation ESTRATÉGIAS Garbage collection; Desfragmentação; Flushing de tabelas e recursos do SO; Reinicialização de estruturas internas de dados.
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
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.
Pode usar as tecnologias de virtualização: Baseada em Linux Pode usar as tecnologias de virtualização: KVM Xen VMWare*
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.
ModCS Cloud
Ciclo de vida das VMs
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
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”.
Análise preliminar Cloud controller – CPU geral
Análise preliminar Cloud controller – Memória geral
Cloud controller – Swap Análise preliminar Cloud controller – Swap
Cloud controller – Processo eucalyptus cloud Análise preliminar Cloud controller – Processo eucalyptus cloud Memória residente
Cloud controller – Processos zumbis Análise preliminar Cloud controller – Processos zumbis
Node controller – Serviço eucalyptus-nc Análise preliminar Node controller – Serviço eucalyptus-nc Memória residente
Node controller – Serviço eucalyptus-nc Análise preliminar Node controller – Serviço eucalyptus-nc Memória virtual
Node controller 64 bits – Swap Análise preliminar Node controller 64 bits – Swap
Node controller 64 bits – Serviço eucalyptus-nc Análise preliminar Node controller 64 bits – Serviço eucalyptus-nc Memória residente
Node controller 64 bits – Serviço eucalyptus-nc Análise preliminar Node controller 64 bits – Serviço eucalyptus-nc 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)
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.
Dúvidas