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

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

Avaliação do desempenho

Apresentações semelhantes


Apresentação em tema: "Avaliação do desempenho"— Transcrição da apresentação:

1 Avaliação do desempenho

2 ... mas será que essa é uma boa medida !??
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 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 Tendo em conta os dados, a escolha iria para o processador A, pois em média demora menos tempo a executar cada instrução

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)
Programa Computador A Computador B Computador C P1 2 10 20 P2 60 30 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 Programa Computador A Computador B Computador C P1 2 10 20 P2 60 30 Tempo médio (seg.) 48.4 26.0 12.0 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 Sintetizando: Compilador Conjunto de instruções
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 Define-se o ganho (ou speedup) como sendo
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 Sabendo que o ganho é igual a Told / Tnew obtém-se:
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: Hipótese 1: rc = 0.4
Gc = 20 Hipótese 2: rc = 0.4 Gc = 5 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


Carregar ppt "Avaliação do desempenho"

Apresentações semelhantes


Anúncios Google