avaliação de desempenho de sistemas computacionais josé augusto suruagy monteiro dept. de...
TRANSCRIPT
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
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.
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
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.
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)
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
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
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…
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
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
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)
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)
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”.
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.
SPECweb96SPECweb96
Técnicas de AvaliaçãoTécnicas de Avaliação MediçãoMedição Modelagem AnalíticaModelagem Analítica SimulaçãoSimulação
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
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
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
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
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