1 / 17

Avaliação do desempenho

Avaliação do desempenho. Desempenho. Como avaliar o desempenho de um CPU ? Tipicamente pensa-se na frequência do sinal de relógio... Por exemplo, “O processador XPTO funciona a 2GHz, logo é mais rápido que o XPTA, que funciona a 1.8GHZ”. ... mas será que essa é uma boa medida !??.

tino
Download Presentation

Avaliação do desempenho

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Avaliação do desempenho

  2. Desempenho • Como avaliar o desempenho de um CPU ? • Tipicamente pensa-se na frequência do sinal de relógio... • Por exemplo, • “O processador XPTO funciona a 2GHz, logo é mais rápido que o XPTA, que funciona a 1.8GHZ” ... mas será que essa é uma boa medida !?? A frequência do sinal de relógio (apesar de importante) é apenas um de vários factores que contribuem para o desempenho de um processador...

  3. Tendo em conta os dados, a escolha iria para o processador A, pois em média demora menos tempo a executar cada instrução Desempenho • Exemplo: considere dois CPUs com uma unidade de controlo multi-ciclo: • CPU A • demora 2 ciclos de relógio a executar uma instrução (em média) • funciona a 1.0 GHz (T=1ns) • CPU B • demora 3 ciclos de relógio a executar uma instrução (em média) • funciona a 1.33 GHz (T=0.75 ns) • Qual é o melhor? Podemos calcular o tempo médio por instrução: TA = 1.00 ns  2 = 2.00 ns TB = 0.75 ns  3 = 2.25 ns

  4. Desempenho • O que será então uma boa medida para o desempenho? • A medida objectiva mais precisa é o tempo de execução dos programas • Mas os programas são diferentes entre si: • se um programa P1 corre mais depressa num computador A do que no computador B, nada nos diz que um programa P2 verifique o mesmo. • Para além do CPU, o tempo de execução dos programas também depende de outros factores • por exemplo, das memórias utilizadas.

  5. Desempenho • Exemplo (tempos de execução, em segundos) • Pode-se afirmar que: • A é 5 vezes mais rápido do que B a correr o programa P1 • B é 2 vezes mais rápido do que C a correr o programa P1 • C é 6 vezes mais rápido do que A a correr o programa P2 • ... Estas afirmações são válidas quanto ao desempenho mostrado a correr os programas P1 e P2 individualmente ...

  6. Desempenho • Tendo em conta o peso de cada um dos programas no sistema obtém-se uma medida mais consistente • Exemplo: vamos supor que P1 corre 20% das vezes e que P2 corre 80% das vezes • Pode-se afirmar que: • B é 1.86 vezes mais rápido que A para os programas P1 e P2 • C é 4.03 vezes mais rápido que A para os programas P1 e P2 • C é 2.17 vezes mais rápido que B para os programas P1 e P2

  7. Desempenho • Conclusão:Só se conseguiria avaliar objectivamente o desempenho de um sistema caso se soubesse os tempos de execução de todos os programas, bem como a sua carga relativa... • Impossível..., • … mas conseguem-se aproximações válidas para os casos típicos • Existem programas para avaliação de desempenho – benchmarks – que visam estabelecer aproximações realistas • Alguns exemplos • SPECs (Standard Performance Evaluation Corporation) • SYSMark (BapCo - Business Applications Performance Corporation) • PCMark e 3DMark (FutureMark)

  8. Desempenho • Desempenho do processador • Tempo de execução de um programa: Texecução = Nciclos Trelógio = Ninstruções  CPI  Trelógio = Ninstruções  CPI / frelógio Ninstruções – número de instruções do programa CPI – número de ciclos por instrução frelógio – frequência do sinal de relógio

  9. Desempenho Compilador Conjunto de instruções • Sintetizando: Organização do sistema Hardware Conjunto de instruções Organização do sistema

  10. Desempenho • Conclusão O desempenho do processador depende de vários factores: • Hardware (circuitos, tecnologia de fabrico) • Organização (datapaths, unidade de controlo, etc.) • Conjunto de instruções • Compilador (e programador, claro está ) A frequência do relógio apenas está ligada aos dois primeiros factores...

  11. Desempenho • Outras medidas populares • MIPS Million of Instructions Per Second • MFLOPS million floating-point operations per second Depende apenas do CPI e da frequência de relógio... Grande parte dos programas efectua operações sobre inteiros, pelo que esta medida pode não ser adequada

  12. Lei de Amdahl • Lei de Amdahl Visa quantificar o ganho no desempenho de um sistema que resulta após a introdução (ou actualização) de um novo componente na arquitectura. • Define-se o ganho (ou speedup) como sendo Told – tempo de execução antes da introdução do novo componente Tnew – tempo de execução após a introdução do novo componente

  13. Lei de Amdahl • O ganho global do sistema depende essencialmente de dois factores: • Gc – ganho do componente • Ganho trazido pelo novo componente para as situações em que é utilizado • rc – rácio de utilização do componente • fracção do tempo de execução em que se tira partido do novo componente

  14. Lei de Amdahl • Colocando em equação, tem-se: Sabendo que o ganho é igual a Told / Tnew obtém-se:

  15. Lei de Amdahl • Exemplo Está-se a ponderar sobre qual dos seguintes upgrades se irá efectuar num processador: Hipótese 1 Acelerar o cálculo das multiplicações por um factor de 20. Sabe-se o cálculo de multiplicações consome 10% do tempo de execução. Hipótese 2 Melhorar todas as operações sobre números reais por um factor de aceleração de 5. As operações que envolvem números reais correspondem a 40% do tempo de execução.

  16. Lei de Amdahl • Exemplo (cont.) Hipótese 2: rc = 0.4 Gc = 5 Hipótese 1: rc = 0.1 Gc = 20 Conclusão: a segunda hipótese é a mais vantajosa.

  17. Lei de Amdahl • Conclusão • O esforço para aumentar o desempenho de um sistema devem ser orientados para melhorar as situações mais frequentes • Uma grande melhoria num componente que é pouco utilizado tem pouco peso no desempenho global do sistema • A lei de Amdahl pode ajudar a quantificar de forma objectiva as opções que podem ser tomadas

More Related