Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de...

21
Avaliação de Avaliação de Desempenho de Sistemas Desempenho de Sistemas Computacionais Computacionais José Augusto Suruagy José Augusto Suruagy Monteiro Monteiro Dept. de Informática - Dept. de Informática - UFPE UFPE www.di.ufpe.br/~suruagy www.di.ufpe.br/~suruagy

Transcript of Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de...

Page 1: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

Avaliação de Desempenho Avaliação de Desempenho de Sistemas de Sistemas ComputacionaisComputacionais

José Augusto Suruagy José Augusto Suruagy MonteiroMonteiroDept. de Informática - UFPEDept. de Informática - UFPEwww.di.ufpe.br/~suruagywww.di.ufpe.br/~suruagy

Page 2: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

O que é “Desempenho”?O que é “Desempenho”? Webster’s:Webster’s:

• The manner in which a mechanism The manner in which a mechanism performs.performs.

Aurélio:Aurélio:• Mil.Mil. Conjunto de características ou de Conjunto de características ou de

possibilidades de atuação de possibilidades de atuação de uma uma aeronave, aeronave, tais como velocidade de tais como velocidade de cruzeiro, velocidade de pouso, capacidade cruzeiro, velocidade de pouso, capacidade de carga, autonomia de vôo, etc. de carga, autonomia de vôo, etc.

Page 3: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

Medidas de desempenho Medidas de desempenho de um automóvelde um automóvel Velocidade máxima Velocidade máxima Aceleração (tempo para ir de 0 a Aceleração (tempo para ir de 0 a

100 km/h)100 km/h) Espaço de frenagem a uma dada Espaço de frenagem a uma dada

velocidadevelocidade

Page 4: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

Medidas de desempenho Medidas de desempenho de sistemas de sistemas computacionaiscomputacionais Vazão/Taxa Vazão/Taxa (Throughput)(Throughput)

• Taxa na qual os pedidos são atendidos Taxa na qual os pedidos são atendidos (servidos) pelo sistema.(servidos) pelo sistema.

Utilização:Utilização:• Fração do tempo em que o recurso permanece Fração do tempo em que o recurso permanece

ocupado atendendo os pedidos dos usuáriosocupado atendendo os pedidos dos usuários Tempo de resposta:Tempo de resposta:

• tempo decorrido entre o pedido e o tempo decorrido entre o pedido e o início/conclusão da realização do serviço.início/conclusão da realização do serviço.

Page 5: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

VazãoVazão Taxa na qual os pedidos são atendidos Taxa na qual os pedidos são atendidos

(servidos) pelo sistema.(servidos) pelo sistema. ExemplosExemplos

• Sistemas em lotes: jobs por segundoSistemas em lotes: jobs por segundo• Sistemas interativos: pedidos por segundoSistemas interativos: pedidos por segundo• CPUs: MIPs ou MFLOPsCPUs: MIPs ou MFLOPs• Redes: pacotes por segundo (pps) ou bits por Redes: pacotes por segundo (pps) ou bits por

segundo (bps)segundo (bps)• Sistemas de Processamento de Transações: Sistemas de Processamento de Transações:

Transações por segundo (TPS)Transações por segundo (TPS)

Page 6: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

Medidas de desempenhoMedidas de desempenho VelocidadeVelocidade

• tempo de resposta, vazão e utilizaçãotempo de resposta, vazão e utilização ConfiabilidadeConfiabilidade

• Probabilidade de erroProbabilidade de erro• Intervalo entre errosIntervalo entre erros

DisponibilidadeDisponibilidade• Duração da falhaDuração da falha• Intervalo entre falhasIntervalo entre falhas

Page 7: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

BenchmarksBenchmarks BENCHMARKING é o processo de BENCHMARKING é o processo de

comparação entre dois ou mais comparação entre dois ou mais sistemas através de medições.sistemas através de medições.

BENCHMARKS são as cargas de BENCHMARKS são as cargas de trabalho trabalho (workloads) (workloads) utilizadas utilizadas nestas mediçõesnestas medições

Page 8: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

Benchmarks popularesBenchmarks populares Crivo de EratóstenesCrivo de Eratóstenes Função de AckermannFunção de Ackermann WhetstoneWhetstone LINPACKLINPACK DhrystoneDhrystone Laços do Lawrence LivermoreLaços do Lawrence Livermore Débito-créditoDébito-crédito SPEC…SPEC…

Page 9: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

SPEC BenchmarkSPEC Benchmark SPEC = SPEC = Systems Performance Systems Performance

Evaluation CooperativeEvaluation Cooperative www.specbench.orgwww.specbench.org Benchmarks atuaisBenchmarks atuais

• SPEC95SPEC95• SPECweb96SPECweb96

Em desenvolvimento:Em desenvolvimento:• SPEC98SPEC98

Page 10: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

SPEC95SPEC95 Versões anteriores: SPEC89 e Versões anteriores: SPEC89 e

SPEC92SPEC92 Composta por dois conjuntos de Composta por dois conjuntos de

benchmarks:benchmarks:• CINT95: para cálculos intensivos com CINT95: para cálculos intensivos com

inteirosinteiros• CFP95: para cálculos intensivos de CFP95: para cálculos intensivos de

ponto flutuanteponto flutuante Máquina de referência:Máquina de referência:

• SUN SPARCstation 10/40 com 128MB SUN SPARCstation 10/40 com 128MB de memóriade memória

Page 11: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

CINT95CINT95 Escrita em C, contém 8 benchmarks para Escrita em C, contém 8 benchmarks para

cálculos intensos sobre inteiroscálculos intensos sobre inteiros Medidas:Medidas:

• SPECint95: média geométrica de oito frações SPECint95: média geométrica de oito frações normalizadas quando compiladas com otimização normalizadas quando compiladas com otimização “agressiva”.“agressiva”.

• SPECint_base95: idem para compilação com SPECint_base95: idem para compilação com otimização tradicional (conservadora)otimização tradicional (conservadora)

• SPECint_rate95: média geométrica de oito frações de SPECint_rate95: média geométrica de oito frações de vazões quando compiladas com otimização vazões quando compiladas com otimização “agressiva”.“agressiva”.

• SPECint_rate_base95: idem para compilação com SPECint_rate_base95: idem para compilação com otimização tradicional (conservadora)otimização tradicional (conservadora)

Page 12: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

CFP95CFP95 Escrita em FORTRAN, contém 10 benchmarks Escrita em FORTRAN, contém 10 benchmarks

para cálculos intensos sobre números reais para cálculos intensos sobre números reais (ponto flutuante).(ponto flutuante).

Medidas:Medidas:• SPECfp95: média geométrica de dez frações SPECfp95: média geométrica de dez frações

normalizadas quando compiladas com otimização normalizadas quando compiladas com otimização “agressiva”.“agressiva”.

• SPECfp_base95: idem para compilação com SPECfp_base95: idem para compilação com otimização tradicional (conservadora)otimização tradicional (conservadora)

• SPECfp_rate95: média geométrica de dez frações de SPECfp_rate95: média geométrica de dez frações de vazões quando compiladas com otimização vazões quando compiladas com otimização “agressiva”.“agressiva”.

• SPECfp_rate_base95: idem para compilação com SPECfp_rate_base95: idem para compilação com otimização tradicional (conservadora)otimização tradicional (conservadora)

Page 13: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

SPECweb96SPECweb96 Objetivo: Medir o desempenho de Objetivo: Medir o desempenho de

servidores Webservidores Web Nesta primeira versão mede o Nesta primeira versão mede o

desempenho para acesso a páginas desempenho para acesso a páginas estáticasestáticas

Mede a capacidade do servidor Mede a capacidade do servidor atender os pedidos do HTTP, ou atender os pedidos do HTTP, ou seja, “gets”.seja, “gets”.

Page 14: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

SPECweb96SPECweb96 Um ou mais clientes enviam Um ou mais clientes enviam

pedidos do HTTP para o servidorpedidos do HTTP para o servidor O software mede o tempo de O software mede o tempo de

resposta para cada pedidoresposta para cada pedido Ao final da execução, o software Ao final da execução, o software

calcula uma medida baseada na calcula uma medida baseada na vazão total.vazão total.

Page 15: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

SPECweb96SPECweb96

Page 16: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

Técnicas de AvaliaçãoTécnicas de Avaliação MediçãoMedição Modelagem AnalíticaModelagem Analítica SimulaçãoSimulação

Page 17: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

MediçãoMedição Para efetuarmos medições (como Para efetuarmos medições (como

as Benchmarks) é preciso termos à as Benchmarks) é preciso termos à disposição ao menos um protótipo disposição ao menos um protótipo do sistema.do sistema.

Normalmente é difícil comparar Normalmente é difícil comparar alternativasalternativas

Page 18: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

Modelagem AnalíticaModelagem Analítica Teoria das filasTeoria das filas Filas associadas a recursosFilas associadas a recursos Caracterização:Caracterização:

• Processo de chegadaProcesso de chegada• Processo de atendimentoProcesso de atendimento• Número de servidoresNúmero de servidores• Tamanho máximo da filaTamanho máximo da fila• Política de atendimento da filaPolítica de atendimento da fila

Page 19: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

Modelagem AnalíticaModelagem Analítica É uma técnica aproximadaÉ uma técnica aproximada Aproxima a realidade por um Aproxima a realidade por um

modelomodelo Se o modelo for simples e a Se o modelo for simples e a

aproximação boa, é possível aproximação boa, é possível avaliar facilmente compromissos avaliar facilmente compromissos entre alternativasentre alternativas

Page 20: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

SimulaçãoSimulação Simulação de eventos discretosSimulação de eventos discretos Cada evento (ex.: chegada de Cada evento (ex.: chegada de

usuário, término de serviço, etc.) é usuário, término de serviço, etc.) é tratado quando do instante de sua tratado quando do instante de sua ocorrência.ocorrência.

Simula o comportamento de um Simula o comportamento de um sistema realsistema real

Em geral, é possível construir um Em geral, é possível construir um modelo muito mais próximo da modelo muito mais próximo da realidade do que com a teoria das realidade do que com a teoria das filasfilas

Page 21: Avaliação de Desempenho de Sistemas Computacionais José Augusto Suruagy Monteiro Dept. de Informática - UFPE suruagy.

Critérios para seleção da Critérios para seleção da técnica de avaliaçãotécnica de avaliação

Critério Modelagemanalítica

Simulação Medição

Estágio Qualquer Qualquer Protótipo

Temponecessário

Pouco Médio Variado

Ferramentas Analistas Linguagens deProgramação

Instrumentação

Precisão Pouca Moderada Variada

Avaliação deCompromissos

Fácil Moderada Difícil

Custo Baixo Médio Alto

Saleability Baixa Média Alta