A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Avaliação de Desempenho

Cópias: 2
Avaliação de Desempenho Introdução Aula 1 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de Ciências Matemáticas.

Avaliação de Desempenho Planejamento de Experimentos 1 Aula 1 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de.

Apresentações semelhantes


Apresentação em tema: "Avaliação de Desempenho"— Transcrição da apresentação:

1 Avaliação de Desempenho
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Avaliação de Desempenho Introdução Aula 1 Marcos José Santana Regina Helena Carlucci Santana

2 Conteúdo Planejamento de Experimentos
Técnicas para Avaliação de Desempenho Análise de Resultados

3 Conteúdo Planejamento de Experimentos
Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Técnicas para Avaliação de Desempenho Análise de Resultados

4 Conteúdo Planejamento de Experimentos
Técnicas para Avaliação de Desempenho Técnicas de Aferição: Protótipos, Benchmarks e Monitores Técnicas de Modelagem: Solução Analítica e por Simulação Análise de Resultados

5 Conteúdo Planejamento de Experimentos
Técnicas para Avaliação de Desempenho Análise de Resultados Análise Estatística dos Resultados Comparação de Resultados Aplicações em Sistemas Operacionais

6 Conteúdo Planejamento de Experimentos
Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Técnicas para Avaliação de Desempenho Análise de Resultados

7 Avaliação de Desempenho de Sistemas Computacionais
Motivação Como Agilizar? Identificar os pontos negativos e verificar o impacto desse pontos: Verificar a freqüência com que o procedimento ocorre Eventos raros e lentos: Pouco impacto Muita otimização para ser perceptível Exemplo: procedimento ao ligar o computador, falha ao entrar em uma região crítica Eventos freqüentes: Muito impacto Pequena otimização pode ser perceptível Exemplo: processo escalonador 2. Propor soluções 3. Avaliar soluções Avaliação de Desempenho de Sistemas Computacionais

8 Conteúdo Planejamento de Experimentos
Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Técnicas para Avaliação de Desempenho Análise de Resultados

9 Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?

10 Avaliação de Desempenho
Por quê se preocupar em avaliar um sistema? Obter o melhor desempenho possível a um menor custo. O que é “melhor desempenho possível”? O que deve ser analisado? Depende do ponto de vista

11 Avaliação de Desempenho
O que o sistema precisa? Qual é o tipo de usuário? Qual é o objetivo do sistema? Como se dá o gerenciamento de recursos?

12 Avaliação de Desempenho?
Análise detalhada: Dos recursos do sistema Dos gerenciadores Dos Usuários Caso contrário pode-se trocar um conjunto de problemas por outro

13 Exemplo Como avaliar um aquário?

14 Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?

15 O que vem a ser Avaliação de Desempenho?
Avaliar um sistema (computacional ou não) buscar uma métrica que indique quantidade ou qualidade, por exemplo, de um serviço prestado; Determinar a eficiência com a qual um sistema atinge seus objetivos

16 Avaliação de Desempenho
Avaliar um sistema (computacional ou não) Determinar a eficiência com a qual um sistema atinge as necessidades e expectativas de seus usuários e de seus desenvolvedores, para uma dada aplicação

17 Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?

18 Avaliação de Desempenho
Quando se preocupar com a avaliação de desempenho? Usuário reclamando Troca de sistema Comparação entre sistemas Avaliação de um projeto

19 Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?

20 Avaliação de Desempenho
Quem deve se preocupar com a avaliação de desempenho? cada domínio implica em um profissional exemplo: sistemas computacionais: analista de sistemas; gerente de sistemas; engenheiro de sistemas; projetista de hardware ou software; programador; etc.

21 Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?

22 Técnicas para Avaliação de Desempenho
Como medir o desempenho? Como escolher a técnica mais adequada? Deve deixar a análise isenta Não deve ser um fator degenerador Deve considerar o domínio da aplicação Intrusões em sistemas já estabelecidos nem sempre são bem-vindas

23 Técnicas para Avaliação de Desempenho
Técnicas de Aferição: Realizam experimentação no sistema Construção de Protótipos; Coleta de Dados; Benchmarks. Técnicas de Modelagem: Criam abstrações desse sistema Desenvolvimento de um Modelo Solução do Modelo

24 Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?

25 Planejamento de Experimentos
Variável de Resposta O que medir? Quero ter a informação mais fiel possível sobre o comportamento de um sistema Diversos enfoques: Responsividade – tempo que leva para executar um serviço Produtividade – taxa de execução de um serviço por unidade de tempo Utilização – recurso utilizado para a execução do serviço

26 Planejamento de Experimentos
Variável de Resposta O que medir? Velocidade Confiabilidade Disponibilidade Métricas individuais Métricas globais

27 Planejamento de Experimentos
Variável de Resposta O que medir? Média Variabilidade Distribuição Máximo e mínimo Desvio Padrão Intervalo de confiança

28 Medidas de Desempenho Categorias das medidas de despenho
Alto é melhor (High is Better - HB); Baixo é melhor (Low is Better - LB); Nominal é melhor (Nominal is Better - Nbi).

29 Medidas de Desempenho Tempo de resposta
intervalo entre o pedido do usuário e a resposta do sistema pedido e resposta instantâneos pedido e resposta realistas

30 Medidas de Desempenho tempo de resposta com pedido e resposta realistas geralmente o tempo de resposta cai na medida que a carga de trabalho diminui

31 Medidas de Desempenho Tempo de Resposta Visão do usuário
Medida individual ou global Velocidade de execução de uma tarefa em determinadas condições Influencia da carga de trabalho do sistema Engloba diversas fases: tempo de espera por um trabalho comprimento de uma fila por um recurso tempo de processamento Valores médios/máximos/mínimos/distribuições

32 Medidas de Desempenho Troughput
Taxa de pedidos que podem ser servidos pelo sistema (pedidos por unidade de tempo) Capacidade nominal Troughput geralmente aumenta até certo ponto, depois começa a cair Eficiência Medidas orientadas ao sistema

33 Avalia quão bem os vários elementos do sistema estão sendo utilizados
Medidas de Desempenho Utilização Fração de tempo em que o recurso está ocupado Relação entre o serviço útil executado e a carga máxima suportada pelo sistema (processador por exemplo) Avalia quão bem os vários elementos do sistema estão sendo utilizados Medidas orientadas ao sistema

34 Medidas de Desempenho Disponibilidade
fração de tempo em que o sistema está disponível pode ser utilizada como uma medida de desempenho, apesar de medir aspectos de confiabilidade; algumas medidas úteis: tempo de vida; intervalo de disponibilidade; MTTF (mean time to failure); MTTR (mean time to repair); MTBF (mean time between failures).

35 Produtividade do Sistema
Medidas de Desempenho Produtividade do Sistema Indica como o usuário pode submeter o seu trabalho; Indica o grau de facilidade oferecido pelo sistema; Aspectos de manutenção do sistema; Existe certa dificuldade para quantificar esse item.

36 Medidas de Desempenho Custo/Desempenho Confiabilidade melhor relação
tempo provável em que o sistema fica livre de erros

37 Medidas de Desempenho MIPS MFLOPS Milhões de Instruções por Segundo
Milhões de Instruções de Ponto Flutuante por Segundo Fabricantes apresentam números de pico de MIPS e MFLOPS superiores aos reais, valores obtidos em situações ideais Comparação entre máquinas com conjunto de instruções diferentes – CISC X RISC

38 Medidas de Desempenho MIPS e MFLOPS são relevantes quando aplicados em computadores de mesma arquitetura para análise comparativa Apresentam características similares de hardware e software Números de MIPS e MFLOPS mais coerentes

39 Avaliação de Desempenho
Qual ou quais das medidas acima devem ser consideradas? Depende da aplicação (do tipo do sistema): Uso Geral  tempo de resposta e utilização  desempenho; disponibilidade  confiabilidade. Alta Disponibilidade (bancos, res. aéreas, etc.)  tempo de resposta, disponibilidade e produtividade  desempenho.

40 Avaliação de Desempenho
Qual ou quais das medidas acima devem ser consideradas? Tolerantes a Falhas  Disponibilidade e recuperação  desempenho Tempo Real  tempo de resposta e carga de trabalho  desempenho. Orientados a Missão  disponibilidade  desempenho.

41 Avaliação de Desempenho
Qual ou quais das medidas acima devem ser consideradas? Cuidado

42 Avaliação de Desempenho
Aeronave Washington a Paris 6.5 horas 3 horas Velocidade 610 mph 1350 mph Boeing 747 BAD/Sud Concorde Fastest for 1 person? Which takes less time to transport 470 passengers?

43 Avaliação de Desempenho
Aeronave Boeing 747 BAD/Sud Concorde Velocidade 610 mph 1350 mph Washington a Paris 6.5 horas 3 horas Passageiros 470 132 Throughput (pmph) 286,700 178,200 Fastest for 1 person? Which takes less time to transport 470 passengers? Tempo para executar a tarefa tempo de resposta, latência Tarefas por dia, por hora, etc. Throughput, bandwidth

44 Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?

45 Avaliação de Desempenho
Como confiar nas métricas obtidas? Avaliação versus Análise  Qual a diferença? Avaliar  obter, produzir, levantar dados a respeito de uma entidade; exemplo: determinar o consumo de um automóvel  usar alguma técnica para medir a distância percorrida e o volume de combustível consumido;

46 Avaliação de Desempenho
Avaliação versus Análise  Qual a diferença? Analisar  verificar a precisão, a validade, o significado da grandeza produzida durante a avaliação. exemplo: se a avaliação do automóvel levou a 20 Km/litro de gasolina, então a análise se preocupa em se certificar que: a metodologia utilizada foi correta; que os números levantados são suficientemente precisos; e, então, conclui se o desempenho avaliado é bom, ruim, etc.

47 Pontos Importantes para a Avaliação de Desempenho
 Entendimento completo do sistema, dos problemas e dos objetivos da avaliação Abordagem sistemática Não devem ser considerados parâmetros, cargas, métricas, etc. arbitrários. Definição de uma carga de trabalho característica Definição da metodologia mais apropriada Definição do nível de detalhamento Análise dos resultados Considerar os limites, suposições e margem de erro

48 Avaliação de Desempenho
Planejamento de Experimentos Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Análise de Resultados Técnicas para Avaliação de Desempenho

49 Etapas a serem consideradas na Avaliação de Desempenho
  Planejamento do Experimento 1.  Estudar o sistema e definir os objetivos   2.  Determinar os serviços oferecidos pelo sistema   3.  Selecionar métricas de avaliação   4.  Determinar os parâmetros que afetam o desempenho do sistema   5.  Determinar o nível de detalhamento da análise

50 Etapas a serem consideradas na Avaliação de Desempenho
6.  Determinar a Técnica de Avaliação apropriada   7.  Determinar a carga de trabalho característica   8.  Realizar a avaliação e obter os resultados   9.  Analisar e interpretar os resultados   10. Apresentar os resultados   As etapas apresentadas nem sempre são executadas linearmente como apresentado nesta lista

51 Etapas a serem consideradas
1.  Estudar o sistema e definir os objetivos 2.  Determinar os serviços oferecidos pelo sistema 3.  Selecionar métricas de avaliação 4.  Determinar os parâmetros que afetam o desempenho do sistema 5.  Determinar o nível de detalhamento da análise 6.  Determinar a Técnica de Avaliação apropriada 7.  Determinar a carga de trabalho característica  8.  Realizar a avaliação e obter os resultados 9.  Analisar e interpretar os resultados 10. Apresentar os resultados Planejamento de Experimento Técnica de Avaliação Análise dos Resultados

52 Avaliação de Desempenho
Planejamento de Experimentos Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Análise de Resultados Técnicas para Avaliação de Desempenho

53 Planejamento de Experimentos
Deve ser utilizado em qualquer experimento É uma técnica muito importante para a indústria pois seu emprego permite resultados mais confiáveis economizando dinheiro e tempo Requer uma quantidade exaustiva de cálculos tornando fundamental o emprego de ferramentas

54 Planejamento de Experimentos
Técnicas utilizadas para se planejar experimentos e definir: quais dados em que quantidade em que condições os dados devem ser coletados durante um determinado experimento Obter a maior precisão estatística possível na resposta a um menor custo

55 Planejamento de Experimentos
Objetivos Obter o máximo de informação com um número mínimo de experimentos Separar os efeitos de vários fatores no resultado observado Determinar o quão significante é o efeito de um fator no resultado observado. Melhor qualidade dos resultados dos testes e um projeto com desempenho superior em termos de suas características funcionais e de sua robustez

56 Planejamento de Experimentos
Terminologia Variável de Resposta – Saída de um experimento Fatores – Variável que afeta as variáveis de resposta e que podem assumir diversas alternativas Níveis – Os valores que um determinado fator pode assumir Fatores Primários – Fatores que causam um grande impacto em uma variável de resposta e que devem ser considerados Fatores Secundários – Fatores cujo impacto na variável de resposta não é significante ou não se tem interesse em quantificar

57 Planejamento de Experimentos
Terminologia: Replicação – Repetição de todo ou de parte de um experimento Projeto - Determina o número de experimentos a serem considerados, incluindo o número de fatores e níveis, a combinação entre os níveis e o número de replicações para cada experimento Interação – Dois fatores interagem se o efeito de um depende do nível do outro

58 Planejamento de Experimentos
Manipula-se de forma planejada certas variáveis independentes (fatores), definindo-se os valores mais prováveis que essas variáveis podem assumir (níveis) para verificar o efeito que esta manipulação provoca na variável de resposta (variável dependente)

59 Planejamento de Experimentos Terminologia – Exemplo
Considere a avaliação do aquário Variáveis de Resposta (métricas): Tempo para a cerveja atingir a temperatura desejada Número de cervejas que atingem a temperatura desejada por hora

60 Planejamento de Experimentos
2. Definição dos Fatores primários e níveis Quatro fatores: Fator 1 – 3 níveis Fator 2 – 4 níveis Fator 3 – 3 níveis Fator 4 – 3 níveis Tamanho do aquário: 30X30X30 30X30X60 60X60X30 (em centímetros)

61 Planejamento de Experimentos
Quatro fatores: Fator 1 – 3 níveis Fator 2 – 4 níveis Fator 3 – 3 níveis Fator 4 – 3 níveis Quantidade de cervejas: 10 20 50 100

62 Planejamento de Experimentos
Quatro fatores Fator 1 – 3 níveis Fator 2 – 4 níveis Fator 3 – 3 níveis Fator 4 – 3 níveis Quantidade de gelo 1 Kg 2 Kg 5 Kg

63 Planejamento de Experimentos
Quatro fatores: Fator 1 – 3 níveis Fator 2 – 4 níveis Fator 3 – 3 níveis Fator 4 – 3 níveis Tamanho da cerveja: Lata – 350 ml Latão – 473 ml Super – 1000 ml

64 Planejamento de Experimentos
2. Definição dos Fatores Secundários Espessura do vidro – 5 mm Temperatura inicial da cerveja – 25 graus

65 Planejamento de Experimentos
Terminologia – Exemplo 3. Interação Fator A = Tamanho do aquário Fator B = Quantidade de gelo Fatores sem interação Fator A = Quantidade de gelo Fator B = Número de cervejas Fatores que interagem

66 Planejamento de Experimentos Terminologia – Exemplo
Considere a avaliação de um banco de dados Variáveis de Resposta (métricas): Tempo para recuperar uma informação Número de informações recuperadas por unidade de tempo Taxa de acerto ao cache

67 Planejamento de Experimentos
2. Definição dos Fatores primários e níveis Quatro fatores: Fator 1 – Tamanho do banco de dados Fator 2 – Quantidade de usuários Fator 3 – Quantidade de cache Fator 4 – Forma de armazenamento

68 Planejamento de Experimentos
2. Definição dos Fatores primários e níveis Fator 1 – Tamanho do banco de dados: 20 mil registros 1 milhão de registros 5 milhões de registros Fator 2 – Quantidade de usuários: 10 usuários 100 usuários 1000 usuários 10000 usuários

69 Planejamento de Experimentos
2. Definição dos Fatores primários e níveis Fator 3 – Quantidade de cache: 512K byte 1M byte 10 M byte Fator 4 – Forma de armazenamento: RAID – nível 10 com 5 discos RAID – nível 4 com 5 discos RAID – nível 5 com 5 discos

70 Planejamento de Experimentos
2. Definição dos Fatores Secundários Processamento Número de discos do RAID

71 Planejamento de Experimentos
Mais um ponto deve ser considerado.... O que vocês acham de um banco em dia de pagamento? Filas longas... Muita espera Desempenho ruim...

72 Planejamento de Experimentos
Mais um ponto deve ser considerado.... E o mesmo banco alguns dias antes do pagamento? Filas curtas... Rapidez.... Atenção... Desempenho ótimo... Mas o mesmo sistema pode ter desempenho ótimo/ruim? Mais um ponto deve ser considerado.... Carga de trabalho imposta ao sistema

73 Conteúdo – Parte II Planejamento de Experimentos
Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Técnicas para Avaliação de Desempenho Análise de Resultados

74 Planejamento de Experimentos
Filas cada vez maiores Três casos: Tempo para atender cada cliente – 5 minutos Tempo entre a chegada de um cliente e outro – 2 minutos Nenhuma fila Tempo para atender cada cliente – 6 minutos Tempo entre a chegada de um cliente e outro – 10 minutos ??? Tempo para atender cada cliente – 5 minutos (na média) Tempo entre a chegada de um cliente e outro – 4 minutos (na média)

75 Caracterização de Carga de Trabalho
Exemplo: Acesso a um disco com: Valor médio da taxa entre chegadas – 10 ms Valor médio do tempo de acesso ao disco – 8ms Simular de 0 a 100 m segundos – O que ocorre?

76 Caracterização de Carga de Trabalho
Considerar agora que estes valores apresentam uma “certa” distribuição, de forma que os valores gerados são: Tempo de chegada: 12, 6, 4, 15, 20, 3, 1, 17, 12, 10 Tempo de serviço: 8, 12, 4, 7, 9, 12, 3, 1, 16, 8 (Tempo em m segundos) Simular de 0 a 100 m segundos - Qual a diferença observada?

77 Caracterização de Carga de Trabalho
Conclusão: Na avaliação de desempenho de um sistema é muito importante considerar a carga de trabalho real do sistema

78 Procedimento para determinar Carga de Trabalho
I. Determinar que tipo de caracteristica é importante ser representada Depende do objetivo da avaliação Exemplo: Um Sistema Computacional pode ser subdividido em 4 camadas que executam as seguintes operações:

79 Depende da camada a ser analisada
Procedimento para determinar Carga de Trabalho Camada de aplicação que recebe as transações e envia comandos para o SO Sistema Operacional que recebe os comandos e serviços e envia instruções para a CPU CPU que divide as instruções em instruções aritméticas e lógicas e as envia para a ULA ULA – executa instrução Qual tipo de carga de trabalho deve ser considerada? Depende da camada a ser analisada

80 Procedimento para determinar Carga de Trabalho
Camada de aplicação que recebe as transações e envia comandos para o SO Freqüência dos diferentes tipos de transações efetuadas Sistema Operacional que recebe os comandos e serviços e envia instruções para a CPU Conjunto de comandos e serviços oferecidos pelo SO 3. CPU que divide as instruções em instruções aritméticas e lógicas e as envia para a ULA Conjunto de Instruções 4. ULA – executa instrução Freqüência e tipo das instruções aritméticas

81 Caracterização de Carga de Trabalho e do Tempo de Serviço
II. Nível de detalhe a ser considerado Várias possibilidades: a – Utilizar as requisições mais freqüentes b – Considerar os vários tipos de requisições e suas freqüências c – Trace: Seqüência de requisições com timestamp d – Utilizar valores médios e – Utilizar distribuições de probabilidade

82 Caracterização de Carga de Trabalho e do Tempo de Serviço
III. Verificar a representatividade da carga de trabalho Três Aspectos importantes: a – Taxa de chegada b – Demanda por recurso c – Seqüência e demanda por diferentes recursos IV. Atualização da carga de trabalho

83 Tipos Básicos de Carga de Trabalho
Precisamos agora de uma forma para representar a carga de trabalho. Basicamente, duas formas: Carga de trabalho Real Carga de trabalho Sintética

84 Tipos Básicos de Carga de Trabalho
Real – Observada no sistema real em operação normal. Vantagem: Precisão Desvantagens: Não pode ser repetida com facilidade Arquivos de Trace -> arquivos muito grandes

85 Tipos Básicos de Carga de Trabalho
Sintética – Carga com características similares às reais Vantagens: Pode ser repetida de forma controlada Não necessita de arquivos com dados reais Carga pode ser facilmente modificada Pode ser transportada para diferentes sistemas Problema: Determinar a distribuição mais apropriada para o sistema em avaliação.

86 Etapas a serem consideradas
1.  Estudar o sistema e definir os objetivos 2.  Determinar os serviços oferecidos pelo sistema 3.  Selecionar métricas de avaliação 4.  Determinar os parâmetros que afetam o desempenho do sistema 5.  Determinar o nível de detalhamento da análise 6.  Determinar a Técnica de Avaliação apropriada 7.  Determinar a carga de trabalho característica  8.  Realizar a avaliação e obter os resultados 9.  Analisar e interpretar os resultados 10. Apresentar os resultados Planejamento de Experimento Técnica de Avaliação Análise dos Resultados

87 Conteúdo – Parte II Planejamento de Experimentos
Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Técnicas para Avaliação de Desempenho Análise de Resultados


Carregar ppt "Avaliação de Desempenho"

Apresentações semelhantes


Anúncios Google