using virtualization to improve software rejuvenation departamento de eletrônica – escola...

22
Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos Santos Alves http://www.gta.ufrj.br

Upload: internet

Post on 22-Apr-2015

108 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Using Virtualization to Improve Software Rejuvenation

Departamento de Eletrônica – Escola PolitécnicaPrograma de Engenharia Elétrica – COPPE

Rafael dos Santos Alves

http://www.gta.ufrj.br

Page 2: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Informações

• Autores• Luis Moura Silva• Javier Alonso• Paulo Silva• Jordi Torres• Artur Andrzejak

• Publicação• Sixth IEEE International Symposium on

Network Computing And Applications (NCA 2007)

Page 3: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Introdução

Page 4: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Software Rejuvenation

• Definição• “Software rejuvenation is the concept of

gracefully terminating an application and immediately restarting it at a clean internal state”

• Motivação• Software aging• Degradação da aplicação• Ex.: vazamento de memória

Page 5: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Software Rejuvenation

• Soluções• Baseadas em temporização• Pró-ativas• Micro-rebooting• Redução do tempo de reparo• Reinício de partes da aplicação• Exige alteração do código

• Proposta• Virtualização

Page 6: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Requisitos da Proposta

• Aplicável a qualquer aplicativo inalterado• Redução do tempo de reparo• Ausência de requisições perdidas• Auto-cura• Baixa sobrecarga do sistema• Aplicável a qualquer hardware• Facilidade de implementação e manutenção

Page 7: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

VM-Rejuv

Figura 1: Arquitetura VM-Rejuv

Page 8: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

VM-Rejuv

• Procedimento geral• VM3 em espera e VM2 ativa• VM-LB (VM1) procura por potenciais

anomalias• VM3 é iniciado• Passa a receber as novas requisições

• Estado de VM2 é migrado para VM3• VM2 conclui todas as operações em

andamento• VM2 é reiniciado

Page 9: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Módulos

• Load -balancer• Interceptação de todas as requisições• Implementação: LVS (Linux Virtual Server)

• Watchdog• Monitoramento de parâmetros• CPU, uso de memória, espaço em disco

etc• Implementação: Ganglia

• Data-collector• Aplicação de filtros em parâmetros

Page 10: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Módulos

• Aging-detector• Análise• Parâmetros de sistema• Erros em protocolos de comunicação• Códigos de erro em logs• Sensores específicos de aplicações• Métricas de desempenho

• Implementação• Análise de vazão

Page 11: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Módulos

• Anomaly-detector• Complemento ao aging-detector• Análise• Anomalias a nível de aplicação• Erros em protocolos• Violação de limiares

• Implementação• Em desenvolvimento

Page 12: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Módulos

• SRA-Coord• Coordena os SRA-Agents

• SRA-Agent• Responsável pela operação de rejuvenation

• S-Probe• Sonda geral

• P-Probe• Análise de métricas específicas

• LogProbe

Page 13: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Ambiente de Análises

Servidores: Katrina, Wilma

Servidores: Tania, Nelma

Clientes

CPUDual AMD64 Opteron (2000MHz)

Dual Core AMD64 Opteron 165 (1800MHz)

Intel Celeron (1000MHz)

Memória 4GB 2GB 512MBDisco Rígido 160GB(SATA2) 160GB(SATA2)Espaço para Swap

8GB 4GB 1024MB

Sistema Operacional

Linux 2.6.16.21-0.25-smp

Linux 2.6.16.21-0.25-smp

Linux 2.6.15-p3-Netboot

Java JDK 1.5.0_06, 64-bit Server VM

1.5.0_06, 64-bit Server VM

1.5.0_06-b05 Standard Edition

Tomcat JVM tamanho heap

512MB 512MB

Outros softwaresApache Tomcat 5.5.20, Axis 1.3, MySQL 5.0.18

Apache Tomcat 5.5.20, Axis 1.3

Page 14: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Resultados - Sobrecarga

14%12%

Figura 2: Tomcat/Axis

Page 15: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Resultados - Efetividade

Figura 3: Tomcat/Axis

Page 16: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Resultados - Efetividade

Figura 4: TPC-W

Page 17: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Figura 5: Tomcat/Axis

Resultados - Indisponibilidade

Page 18: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Resultados - Indisponibilidade

VM-RejuvReinício do

TomcatReinício do

XEN-VMReinício da máquina

Vazão média (req/s)

143,8 134,7 128,8 97,3

Total de Requisições

86313 80847 77292 58401

Requisições perdidas

0 476 536 1902

Requisições lentas

0 10 0 0

Indisponibilidade (ms)

0 12490 56143 200722

Page 19: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Resultados – Sobrecarga (2)

Figura 6: Tomcat/Axis

117750 requisições / 0 erros de sessão

107301 requisições / 15 erros de sessão

Page 20: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Resultados – Aplicabilidade emClusters

Figura 7: Tomcat/Axis

Page 21: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Resultados – Aplicabilidade emClusters

Figura 8: Tomcat/Axis

SLA=75

Page 22: Using Virtualization to Improve Software Rejuvenation Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos

Resultados – clean resart vs blind restart

Figura 9: Tomcat/Axis