1 / 40

Desempenho de cpu

Arquitetura e Organização de Computadores 1 José Hiroki Saito Igor Marçal Botamede Spadoni – PESCD. Desempenho de cpu. Eficiência de um sistema inteiro Avaliar e compreender o desempenho trata: Medir Informar Resumir Fatores determinantes. Desempenho de cpu – Introdução .

abner
Download Presentation

Desempenho de cpu

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. Arquitetura e Organização de Computadores 1 José Hiroki Saito Igor Marçal Botamede Spadoni – PESCD Desempenho de cpu

  2. Eficiência de um sistema inteiro • Avaliar e compreender o desempenho trata: • Medir • Informar • Resumir • Fatores determinantes Desempenho de cpu – Introdução

  3. É complexo avaliar o desempenho desse tipo de sistema • Complexidade e escala dos softwares modernos • Ampla gama de técnicas de melhoria de desempenho • Impossível sentar com um manual do conjunto de instruções e determinar a velocidade de execução de um sistema Desempenho de cpu – Introdução

  4. Desempenho é um fator importante para os projetistas • O que determina o desempenho de um computador? Desempenho de cpu – introdução

  5. Analogia com aviões de passageiro • Desempenho determinado pela velocidade: • Quão rápido é o Concorde comparado com o 747? • 1 passageiro de um ponto a outro • 450 passageiro de um ponto a outro Definindo desempenho Avião Passageiros Autonomia (mi) Velocidade (mph) Boeing 777 375 4630 610 Boeing 747 470 4150 610 BAC/Sud Concorde 132 4000 1350 Douglas DC-8-50 146 8720 544

  6. Tempo de Resposta (latência) • Quanto tempo leva para executar uma tarefa? • Throughput • Quantas tarefas a máquina pode executar de uma vez? • O que é a taxa média de execução? • Qual o impacto, se substituir o processador por uma versão mais rápida? • Qual o impacto, se adicionarmos uma nova máquina no laboratório? Desempenho – Termos

  7. Tempo de Resposta ou Tempo de Execução • Tempo entre inicio e término de uma tarefa • Diminuir o tempo de resposta quase sempre melhora a vazão • Dizer que uma máquina A é n vezes mais rápida que uma máquina B significa que: Vazão e tempo de resposta

  8. Desempenho é definido como o inverso do tempo de execução Desempenho Relativo Desempenho

  9. Definição de Desempenho • Problema: • máquina A executa um programa em 10 segundos • máquina B executa o mesmo programa em 15 segundos Calcular n

  10. Tempo de Execução • Tempo decorrido • Tempo de CPU gasto no SO realizando as tarefas a pedido do programa • Tempo de CPU • Não conta E/S ou tempo dispendido rodando outros programas • significa o tempo que a CPU consome computando • Nosso foco: tempo de CPU do usuário • tempo gasto executando linhas de código que estão “dentro” do nosso programa

  11. Caracterizado por limitações de tempo real • Dois tipos de limitações • Tempo real rígido • Define um limite fixo para responder ou processar um evento (ex: freio antitravamento) • Tempo real flexível • Uma resposta média ou uma resposta dentro de um tempo limitado a uma grande fração dos eventos (ex: manipular quadros de vídeos em um sistema de reprodução) Desempenho – Detalhando

  12. Métricas utilizadas • Ciclos de clock • Tempo de ciclo • Instruções por programa • Média dos ciclos de clock por instrução ou Desempenho – fatores

  13. Porém nas equações anteriores não fazemos referência ao número de instruções necessárias para o programa, logo o número de ciclos de clock pode ser estendido como: Ciclos de clock por instrução pode ser chamado como CPI Desempenho – Fatores

  14. Ciclos de Clock • Ao invés de reportar o tempo de execução em segundos, geralmente usa-se ciclos • Um “tick” de clock indica quando se inicia uma atividade • Tempo de ciclo = tempo entre ticks = segundos por ciclo • Taxa de clock (frequência) = ciclos por segundo (1 Hz. = 1 ciclo/s)

  15. 1st instruction 2nd instruction 3rd instruction ... 4th 5th 6th Quantos ciclos são requeridos por um programa? • Assumir que # de ciclos = # de instruções • Essa consideração é apenas uma aproximação, pois diferentes instruções levam diferentes tempos para serem executadas. time

  16. Multiplicação leva mais tempo que soma • Operações de ponto flutuante levam mais tempo que operações de inteiros • Acessar memória leva mais tempo que acessar registradores • Importante: alterando o tempo de ciclo muitas vezes altera o número de ciclos requerido para várias instruções Diferentes números de ciclos para diferentes instruções tempo

  17. Computador A executa um programa em 10 segundos e tem um clock de 4 GHz Computador B execute esse programa em 6 segundos e B exija 1,2 vez mais ciclos de clock do que o computador A Qual a velocidade de clock de B? Desempenho – exemplo

  18. Desempenho – exemplo

  19. Agora que entendemos os ciclos • Um dado programa irá requerer • Certo número de instruções (instruções de máquina) • Certo número de ciclos • Certo tempo em segundos

  20. A única medida completa e confiável do desempenho é o tempo combinando os fatores

  21. MIPS Milhões de instruções por segundo Número de instruções de código de máquina que o processador pode executar em um segundo Porém não é possível usá-lo como medida de desempenho MIPS

  22. Desempenho de um programa

  23. Desempenho • O desempenho é determinado pelo tempo de execução • As variáveis abaixo não determinam o desempenho: • N° de ciclos para executar um programa; • N° de instruções num programa; • N° de ciclos por segundo; • N° médio de ciclos por instrução; e • N° médio de instruções por segundo.

  24. Exemplo de CPI • Considerar que temos duas implementações da mesma arquitetura do conjunto de instruções (ISA). Para certo programa:Máquina A tem um tempo de ciclo de clock de 250 ps e um CPI de 2.0 Machine B tem um tempo de ciclo de clock de 500 ps e um CPI de 1.2 • Qual máquina é mais rápida para esse programa, e por quanto?

  25. Exemplo do Nº de instruções • Um projetista de compilador está tentando decidir entre duas sequências de código para uma máquina particular. Baseado numa implementação de hardware, existem 3 classes diferentes de instruções: Classe A, Classe B, e Classe C, que requerem um, dois e três ciclos (respectivamente). A primeira sequência tem 5 instruções: 2 de A, 1 de B, e 2 de CA segunda sequência tem 6 instruções: 4 de A, 1 de B, e 1 de C.Qual sequência será mais rápida? Quanto?Qual o CPI para cada sequência?

  26. Benchmarks • Determinação melhor do desempenho executando aplicações reais • Usa programas típicos de carga de trabalho (workload) desejada • Ou, típicos de classes de aplicações desejadas ex., compiladores/editores, aplicações científicas, gráficos, etc. • Pequenos benchmarks • Bom para arquitetos e projetistas • Fácil para padronização • Podem ser abusados (usados erroneamente) • SPEC (System Performance Evaluation Cooperative) • As companhias adotam um conjunto de programas reais • Podem ser abusados

  27. SPEC ‘89 • Gráfico de “melhoramento” do compilador e desempenho

  28. SPEC ‘95

  29. SPEC ‘95 Dobrando a taxa de clock dobra o desempenho? Uma máquina com uma taxa de clock lenta pode ter um melhor desempenho?

  30. As decisões de projeto devem favorecer os casos mais freqüentes: tornar rápido o caso mais comum A lei de Amdahl define o speed up (S), que consiste do ganho em desempenho que pode ser obtido ao melhorar determinada característica do computador Armadilhas – Melhorias

  31. Speed Up (S) Armadilhas – speedup

  32. O speed up a partir de alguma melhoria depende de dois fatores • A fração do tempo de computação na máquina original que pode tirar vantagem da melhoria (Fmelhoria): se 20s do tempo de execução de um programa, que leva 60s para ser executado, podem ser melhorados, a fração é 20/60; • O ganho obtido com a execução da melhoria (Smelhoria): se a melhoria leva 2s para ser executada e a original leva 5s, o ganho é 5/2. Armadilhas – speedup

  33. O tempo de execução usando a máquina original com a melhoria (tenovo) será igual ao tempo gasto usando a parte da máquina sem melhoria mais o tempo gasto usando a melhoria Armadilhas – speedup

  34. O speed up total (Stotal) é a razão entre os tempos de execução Armadilha – speedup

  35. Suponha uma melhoria que executa 10 vezes mais rápido do que o original, mas é utilizada somente 40% do tempo A lei de Amdahl serve como um indicativo de quanto uma melhoria irá aumentar o desempenho total e como distribuir recursos para melhorar a relação custo/desempenho. O objetivo é investir recursos proporcionalmente aonde o tempo é gasto Armadilha – exemplo de speedup

  36. conclusões • Desempenho é específico a um programa particular • O tempo de execução total é um resultado do desempenho • Para que uma dada arquitetura melhore deve-se: • Aumentar a taxa de clock (sem afetar o CPI) • Melhorar a organização do processador para diminuir o CPI • Melhorar o compilador para diminuir o CPI e/ou número de instruções

  37. Cuidado: não esperar que a melhoria do desempenho num aspecto de uma máquina melhore sempre o seu desempenho total! Conclusão

  38. FIM

  39. Exercícios

More Related