Universidade Federal do Pampa Campus-Bagé Arquitetura e Organização de Computadores Aula 2 Avaliando Desempenho Prof. Julio Saraçol juliosaracol@gmail.com Slide1
AULA 4: AVALIANDO DESEMPENHO 2 Slide2
Método de Comparação Performance de vários computadores Comparação de cada um com um programa de referência. Problema Performance depende do programa Como definir o programa para comparação? Slide3
Benchmarks A melhor forma de determinar desempenho é executando um conjunto de aplicações reais (benchmark) - Usa programas típicos do workload esperado (carga de trabalho) - Ou, típico da classe de aplicações esperada por exemplo, compiladores/editores, aplicações científicas, design gráfico etc. Benchmarks pequenos - ótimos para arquitetos e projetistas - fácil de padronizar - fácil de ser forçado (compiladores especializados enganadores ) SPEC (System Performance Evaluation Cooperative) - as empresas concordaram sobre um conjunto de programas e entradas reais - valioso indicador do desempenho (e da tecnologia do compilador) - ainda pode ser forçado Slide4
Comparando e Sumarizando (Resumindo) Definir um grupo de benchmarks Decidir sobre métrica: tempo ou vazão. Melhor uma avaliação para cada aplicação Mas pessoas muitas vezes preferem uma média, i.e., um único número que resuma Questão: Como um resumo de comparação de desempenho deve ser calculado? Slide5
Comparando e Sumarizando (Resumindo) Exemplo: Uma primeira forma: Comparação individual: Programa 1: A é 10 vezes mais rápido que B. Programa 2: B é 10 vezes mais rápido que A. Problema: Qual é melhor coletivamente? Slide6
Comparando e Sumarizando (Resumindo) Exemplo: Segunda forma: Tempo de execução total: Performanc Performanc e e B A Tempo Tempo 1001 110 9,1 Problema: É justo comparar desta forma quando os tempos são tão diferentes? A B Slide7
Comparando e Sumarizando (Resumindo) Exemplo: Terceira forma: Média Aritmética: MA 1 n Problema: E se os programas tiverem frequência de execução diferente? n i 1 Tempo i Slide8
Comparando e Sumarizando (Resumindo) Exemplo: Quarta forma: Média Aritmética Ponderada: MAP 1 n i 1 Exemplo: Prog1 (20%) e Prog2 (80%) n Tempo i w i Slide9
1. Considere Exercícios (Verifique você mesmo p.195/196) Quatro desktops diferentes Apple Macintosh Pentium 4 (P4) AMD (compilador P4) Pentium 5 (hipotético, compilador P4) Seguintes afirmações são corretas ou falsas? Slide10
Exercícios (Verifique você mesmo p.195/196) a) O Computador mais rápido será o que tem a velocidade de clock mais alta. b) Como todos os PCs usam o mesmo conjunto de instruções compatível com o Intel e executam o mesmo número de instruções para o programa, o PC mais rápido será o que tem a velocidade de clock mais alta. c) Como o AMD usa técnicas diferentes do Intel para executar instruções, eles podem ter diferentes CPIs. Entretanto, você ainda pode saber qual dos dois PCs baseados no Pentium é o mais rápido examinando a velocidade do clock. d) Somente olhando os resultados dos benchmarks para tarefas semelhantes ao seu workload é que se pode ter um quadro preciso do provável desempenho. tempo de CPU = nº de instruções tempo Slide11de CPU = X CPI X nº de instruções X CPI frequência do clock período do clock
1. Considere Exercícios (Verifique você mesmo p.195/196) Quatro desktops diferentes Apple Macintosh Pentium 4 (P4) AMD (compilador P4) Pentium 5 (hipotético, compilador P4) Seguintes afirmações são corretas ou falsas? Respostas: A (F); B (F); C (F); D (V) Slide12
Exercícios (Verifique você mesmo p.195/196) 2. Considerando as seguintes medições É verdade que: Programa Computador A Computador B 1 2 segundos 4 segundos 2 5 segundos 2 segundos a) A é mais rápido que B para P1 b) A é mais rápido que B para P2 c) A é mais rápido que B para workload com mesmo número de execuções de P1 e P2 d) A é mais rápido que B para workload com P1 tendo o dobro das execuções de P2 Slide13
Exercícios (Verifique você mesmo p.195/196) 2. Considerando as seguintes medições É verdade que: Programa Computador A Computador B 1 2 segundos 4 segundos 2 5 segundos 2 segundos a) A é mais rápido que B para P1 (V) b) A é mais rápido que B para P2 (F) c) A é mais rápido que B para workload com mesmo número de execuções de P1 e P2 (F) d) A é mais rápido que B para workload com P1 tendo o dobro das execuções de P2 (V) Slide14
Jogos de benchmark A Intel reconheceu, envergonhada, na sexta-feira que um bug em um programa de software conhecido como um compilador levou a empresa a anunciar uma velocidade 10 por cento maior dos seus chips microprocessadores em um benchmark da área. Entretanto, os analistas do setor disseram que o erro de codificação foi um comentário infeliz sobre uma prática comum de mentir nos testes de desempenho padronizados. O erro foi atribuído à Intel dois dias atrás pela concorrente Motorola, em um teste conhecido como SPECint92. A Intel reconheceu que havia otimizado seu compilador para melhorar suas pontuações de teste. A empresa também havia dito que não gostava da prática, mas que foi forçada a fazer as otimizações por que seus concorrentes estavam fazendo o mesmo. No coração do problema da Intel está a prática de ajustar os programas de compilador para reconhecerem certos problemas de computação no teste e, então, substituir por partes especiais do código escritas a mão. Sábado, 6 de janeiro de 1996 New York Times Slide15
SPEC 89 Melhorias e desempenho de compilador Taxa de desempenho SPEC Compilador Compilador melhorado Slide16
SPEC CPU2000 Slide17
SPEC 2000 Dobrar a velocidade de clock dobra o desempenho? Uma máquina com uma velocidade de clock mais lenta pode ter um desempenho melhor? Slide18
SPEC 2000 Velocidade Pentium III Pentium 4 CINT2000/velocidade clock MHz CFP2000/velocidade clock MHz 0,47 0,36 0,34 0,39 CINT pode-se sacrificar alguns aspectos (CPI) em pról de frequências mais altas. Métricas de desempenho de benchmark divididos pela velocidade de clock são consideradas medições da eficiência da implementação, embora não se possa separar das outras melhorias. Slide19
SPECweb99 Avaliação de um sistema para uma aplicação completa Servidores WEB Exemplos: Site do Banco do Brasil Site da Receita Federal Foco na vazão Conexões de usuários Latência limitada Desempenho Depende de quais fatores? Só processador? Slide20
Desempenho x Eficiência Laptops (notebooks) Eficiência da bateria não cresceu tão significativamente ao longo dos anos Processador é responsável por parcela importante do consumo Processador deve operar de maneira eficiente, conservando energia Datacenters Vários computadores de alto desempenho em um mesmo ambiente Resolvendo poucos problemas complexos ou muitos problemas diferentes Como isto se relaciona com o consumo? Slide21
Desempenho Relativo Considerando Móveis (Sistemas Embarcados) Slide22
Desempenho Relativo Considerando Móveis (Sistemas Embarcados) P4 Sempre estável, bom desempenho em Low PM Bom Desempenho modos Híbrido e Full P3 Baixo Desempenho mas não foi projetado para tal. Slide23