Medidas de Desempenho do Processador Medidas de desempenho Há a considerar dois tipos de medida de desempenho: Desempenho relativo Desempenho absoluto 2 2 1
Medidas relativas As Benchmarks são padrões de teste para: Comparar sistemas diferentes Comparar evoluções no próprio sistema As Benchmarks medem o desempenho relativo a determinadas aplicações especificas. As Benchmarks devem representar um alargado conjunto de programas Operações com inteiros, - Virgula Flutuante Multimédia - Base dados 3 3 Benchmarks (cont.) É com base em benchmarks, que é avaliado o desempenho de: Sistema Compilador Se é conseguido um melhoramento do desempenho de uma máquina ( pois a benchmarks utilizado reflectiu esse melhoramento) significa garantidamente que essa máquina melhorou para a execução de muitos programas. Esta afirmação é válida se se tratar de uma boa Benchmark 4 4 2
Benchmarks (cont.) EEMBC -- The Embedded Microprocessor Benchmark Consortium funciona também como entidade reguladora e certificadora www.eembc.org MIBENCH Académica (University of Michigan ) http://www.eecs.umich.edu/mibench/ 5 5 Benchmarks (cont.) Efectuada uma classificação por áreas automotive consumer network office security telecom - JPEG codec -Filtro HP -RGB-CMYK -RGB-YIQ Em cada área são fornecidos um conjunto de programas 6 6 3
Exemplo: Benchmarks Consumo ConsumerBench é constituido por um conjunto de programas que permite avaliar o desempenho de processadores em aplicações como: camaras digitais impressoras e outros sistemas embebidos que implementem tarefas de manipulação de imagens A benchmark de consumo inclui: JPEG compressão/descompressão Filtro Passa-alto em escala de cinzento Conversão RGB-to-CMYK and RGB-to-YIQ 7 7 Exemplo de Benchmark: JPEG Benchmark para aferir : Potencial de codificação de imagens naturais Compressão e descompressão da Imagem Matemática com inteiros com diversos tipos de operandos com acesso a grandes áreas de memória A benchmark efectua a codificação e descodificação de uma imagem 2D Imagem utilizada na benchmark 8 8 4
Benchmarks (cont.) O resultado da benchmark refere: Processador utilizado Compilador utilizado para implementar a benchmark Desempenho (mark) quanto menor melhor o desempenho. EEMBC certifica também os processadores para as diferentes áreas 9 9 PC Benchmarks Efectua teste a CPU, hard drives, CD-ROMs, DVDs, sound cards, 2D graphics, 3D graphics, RAM, network connections, printers, and video playback,.. Também permitem efectuar a comparação com instalações de referência (baselines) Quanto maior o valor da MARK melhor desempenho exemplos: PASSMARK http://www.passmark.com/ PCMARK http://www.futuremark.com/ 10 10 5
DESEMPENHO ABSOLUTO Considere a seguinte tabela: Avião Pass. vel. (Mph) NY-Paris Throughput (pass. x m.p.h.) 747 470 610 6,5 h 286,750 Concorde 132 1350 3,0 h 178,200 Qual o avião com melhor desempenho? 11 11 Desempenho absoluto (cont.) Qual destes aviões tem melhor desempenho? Se desempenho for velocidade Concorde Se desempenho for capacidade 747 Para a velocidade ainda podemos considerar: Qual o mais rápido a transportar um passageiro de um lado a outro? Concorde Qual o mais rápido a transportar 450 passageiros de um lado a outro? 747 12 12 6
Exemplo As seguintes alterações num computador, 1. Substituindo o processador no computador com uma versão mais rápida. 2. Adicionando processadores adicionais de modo a implementar diferentes tarefas. Aumentam o: throughput (numero de tarefas por unidade de tempo), diminui o tempo de resposta (execução mais rápida de uma tarefa) ou ambas? 13 13 Desempenho absoluto (cont.) Considerando o tempo de execução, podemos definir o desempenho como: Desempenho (X) = 1 Tempo de execução (X) 14 14 7
Exemplo Como relacionar o desempenho entre dois computadores x e y, sendo que o desempenho de x é superior ao de y. Desempenho (X) >Desempenho (Y) 1 Tempo de execução (X) > Tempo de execução (Y) 1 15 15 Desempenho do CPU Ao mais baixo nível o desempenho é medido em tempo de execução do CPU. As métricas básicas são: Ciclos relógio Tempo (período) do ciclo relógio CPU(tempo de execução do programa)= =CPU(ciclos de relógio p/ programa) x Tempo Ciclo Relógio 16 16 8
Desempenho do CPU (cont.) CPU ciclos relógio p/ programa = =Instruções para executar programa x Numero médio ciclos relógio por instrução CPI= Clock Cycles per Instruction Numero médio de ciclos relógio para um programa 17 17 Desempenho do CPU (cont.) CPU Numero de ciclos relógio = =Instruções para executar programa x Numero médio ciclos relógio por instrução CPU tempo = Numero de Instruções x CPI Frequência Relógio Temos 3 factores que afectam o desempenho 18 18 9
Desempenho do CPU (cont.) Componentes do desempenho CPU tempo de execução para o programa Numero de Instruções CPI (Ciclos de relógio por Instrução) Tempo do ciclo relógio Unidades de Medida Segundos Instruções executadas pelo programa Numero médio de ciclos de relógio por instrução Segundos por ciclos relógio 19 19 10