ci212 desempenho 2011-2 Avaliação de Desempenho



Documentos relacionados
Desempenho de Computadores

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Organização de Computadores

Arquitetura de Computadores I

Arquitetura e Organização de Computadores Aula 5 Consolidando Conhecimentos de Desempenho e Resumindo Prof. Julio Saraçol

Previsão do Desempenho. AC1 13ª aula Previsão do Desempenho 1

Desempenho DESEMPENHO DE COMPUTADORES

Organização de Computadores

Algumas características especiais

Medidas de Desempenho e a Lei de Amdahl

Arquitetura de Computadores. Ivan Saraiva Silva

Medição do Desempenho

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES ARQUITETURAS RISC E CISC. Prof. Dr. Daniel Caetano

Arquitetura de Computadores

Informática I. Aula 5. Aula 5-13/05/2006 1

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS Os Programas de Avaliação

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

Arquitetura e Organização de Computadores

Arquitetura de Computadores I

Introdução à Arquitetura de Computadores

Arquiteturas RISC. (Reduced Instructions Set Computers)

ARQUITETURA DE COMPUTADORES

RISC - Reduced Instruction Set Computer

MEDIDA E ANÁLISE DE DESEMPENHO AULA 14 Arquitetura de Computadores Gil Eduardo de Andrade

Arquitetura de Computadores I

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Sistemas Computacionais II Professor Frederico Sauer

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

Organização de Computadores Hardware

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

ARQUITETURA DE COMPUTADORES

Arquitetura e Organização de Computadores

Aula 14: Instruções e Seus Tipos

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva

O que é Arquitetura de Computadores?

Arquitetura II. CI086 Tópicos em Arquitetura de Computadores CI702 Arquitetura de Computadores

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Caminho dos Dados e Atrasos

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

Organização e Arquitetura de Computadores I. de Computadores

ULA Sinais de Controle enviados pela UC

RISC X CISC - Pipeline

ARQUITETURA DE COMPUTADORES

Desempenho. Sistemas de Computação

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Avaliação de desempenho

Introdução à Computação: Arquitetura von Neumann

ARQUITECTURA DE COMPUTADORES

MODOS DE ENDEREÇAMENTO

Introdução a Informática. Prof.: Roberto Franciscatto

Arquitetura de Computadores

Microprocessadores II - ELE 1084

Arquitetura e Organização de Computadores 2

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

Arquitectura de Computadores II. Medição de desempenho

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Sistemas Processadores e Periféricos Aula 5 - Revisão

Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento

Organização e Arquitetura de Computadores I

Componentes do Computador e. aula 3. Profa. Débora Matos

Organização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I Juliana F. Camapum Wanderley

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo

ARQUITETURA DE COMPUTADORES

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

RISC simples. Aula de Março de

Arquitetura e Organização de Computadores 2

Aula 26: Arquiteturas RISC vs. CISC

Avaliando e Compreendendo o Desempenho. Capítulo 4

Capítulo 3 Processadores de Propósito Geral: Software

CAPÍTULO 2 DESEMPENHO

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Universidade Federal do Piauí Centro de Tecnologia Curso de Engenharia Elétrica. Prof. Marcos Zurita

Arquitetura e Organização de Computadores 2. Apresentação da Disciplina

Revisão dependências de dados

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Organização de Computadores (Aula 3) Componentes de um Computador Unidade Central de Processamento (CPU)

O Hardware Dentro da Unidade do Sistema

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Computador Eletrônico Digital. Organização de Computadores (Aula 3) Componentes de um Computador (1) É um sistema composto por:

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

Informática I. Aula 4. Aula 4-11/09/2006 1

Predição de Desvios e Processadores Superescalares Especulativos

Arquitetura de Computadores I

Sistema de Computação

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

SIS17-Arquitetura de Computadores

Arquitetura e Organização de Computadores

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

Edeyson Andrade Gomes

Avaliação de Desempenho

29/3/2011. Primeira unidade de execução (pipe U): unidade de processamento completa, capaz de processar qualquer instrução;

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO

Organização e Arquitetura de Computadores I

SIS17 - Arquitetura de Computadores

Transcrição:

Avaliação de Desempenho Qual é o melhor avião? capac alcance veloc produtiv avião [p] [km] [km/h] [p km/h] B-777 375 7400 976 366.000 B-747 470 6640 976 458.720 Concorde 132 6400 2160 280.800 DC8-50 146 13952 870 127.020 Métricas: velocidade Concorde alcance DC8-50 capacidade B-747 produtividade B-747 UFPR Bacharelado em Ciência da Computação 1 Produção vs Tempo de Resposta Usuário individual importa-se com tempo de resposta ou tempo de execução Gerente de TI (ou da loja virtual) importa-se com produção ou thoughput Se trocar o processador por um mais rápido, melhora o tempo de resposta ou a produção? Se acrescentar mais processadores, melhora o tempo de resposta ou a produção? UFPR Bacharelado em Ciência da Computação 2 Desempenho desempenho X 1 tempo exec X X é N vezes mais rápido que Y se o tempo de execução de Y é N vezes mais longo que o de X desempenho X desempenho Y tempo exec Y tempo exec X N UFPR Bacharelado em Ciência da Computação 3

Exemplo Máquina A executa programa em 10 segundos; máquina B executa mesmo programa em 15 segundos. Quanto A é melhor que B? desempenho A desempenho B tempo exec B tempo exec A 15 10 1,5 A é 1 1 2 vezes mais rápida que B para evitar confusão, fala-se em melhor ou pior desempenho e não em aumenta/diminui a métrica de interesse UFPR Bacharelado em Ciência da Computação 4 Medidas de Desempenho tempo de resposta, tempo decorrido [s/tarefa] tempo de CPU (usuário + sistema) [s] ciclo de relógio [s] (frequência do relógio [1/s]) vazão/produção (throughput) [tarefas/s] desempenho do sistema tempo decorrido (sem carga) desempenho da CPU tempo de CPU dedicado ao usuário Desempenho tem unidade de coisas por segundo; maior desempenho é melhor! UFPR Bacharelado em Ciência da Computação 5 Fatores do Desempenho da CPU tempo de CPU ciclos da CPU ciclo de relógio ciclos da CPU freq de relógio ciclos da CPU núm de instr núm de ciclos por instr CPI ciclos por instrução UFPR Bacharelado em Ciência da Computação 6

Fatores do Desempenho da CPU (cont) tempo de CPU núm de instr CPI ciclo de relógio núm de instr CPI freq de relógio UFPR Bacharelado em Ciência da Computação 7 Exemplo Programa executa na máquina A em 10s com relógio de 4GHz. Queremos máquina B que execute mesmo programa em 6s. Por causa da mudança no projeto da CPU, máquina B usará 1.2 vezes mais ciclos de relógio que A. Qual a freqüência do relógio de B? tempo de CPU A ciclos da CPU A freq de relógio A 10s ciclos da CPU A 4 10 9 #ciclos da CPU A 40 10 9 UFPR Bacharelado em Ciência da Computação 8 Exemplo (cont) Programa executa na máquina A em 10s com relógio de 4GHz. Queremos máquina B que execute mesmo programa em 6s. Ao mudar o projeto da CPU, máquina B usará 1.2 vezes mais ciclos de relógio que A. Qual a freq do relógio de B? tempo de CPU B 1.2 ciclos da CPU A freq de relógio B freq de relógio B 1.2 40 10 9 /6s freq de relógio B 8 10 9 ganho de 10/6 freq de relógio 100% maior UFPR Bacharelado em Ciência da Computação 9

Equação do Desempenho tempo de CPU núm de instr CPI ciclo de relógio tempo de CPU núm de instruções CPI frequência de relógio desempenho do sistema compilador & processador arquitetura do processador tecnologia de CIs & arquitetura UFPR Bacharelado em Ciência da Computação 10 Ciclos Por Instrução CPI n CPI j F j j0 instr freq[%] ciclos CPI j ALU 40 1.40 load 25 3.75 store 10 3.30 desvios 25 2.50 CPI 1.95 UFPR Bacharelado em Ciência da Computação 11 Laranjas versus Bananas (i) CPU MIPS 80x86 registradores 32 8 operandos 3: add r1,r2,r3 2: add r1,r2 instruções 4 bytes (todas) de 1 a 16 bytes wc -l instruções estáticas bubble.c -O0: 191 -O3: 162 -O0: 111 -O3: 108 quick.c -O0: 309 -O3: 428 -O0: 187 -O3: 882 Qual o problema de comparar instruções estáticas e instruções dinâmicas? UFPR Bacharelado em Ciência da Computação 12

Medidas de desempenho MIPS MIPS milhões de instruções por segundo MIPS núm de instr tempo decorrido 10 6 freq de relógio CPI 10 6 Problemas independente do conjunto de instruções (RISC/CISC) varia para programas na mesma máquina (int PF) pode variar na proporção inversa ao desempenho comparar MIPS nativos pode ser aceitável UFPR Bacharelado em Ciência da Computação 13 Laranjas versus Bananas (ii) CPU MIPS 80x86 registradores PF 32 (16 double) 8 (pilha, 80 bits) operandos 3: add.f f1,f2,f3 2: add.f f1 (f1 f1+tos) instruções 4 bytes (todas) de 1 a 16 bytes Qual o código para implementar Báskara nos dois processadores? UFPR Bacharelado em Ciência da Computação 14 Medidas de desempenho MFLOPS MFLOPS milhões de instruções de ponto flutuante por segundo MFLOPS núm de instr de pto flutuante tempo decorrido 10 6 Problemas independente do conjunto de instruções (Cray/68882) varia para programas na mesma máquina (soma div) média ponderada de custo de instruções: soma(a,b) 1 seno(x) 8 UFPR Bacharelado em Ciência da Computação 15

Medir desempenho com programas de teste programas simples: quicksort, números primos simples de implementar, fora da realidade programas sintéticos: Dhrystone, Whetstone simples de implementar, não são código usável núcleos de programas: Livermore Loops fáceis de medir, não testam sistema de forma realista programas de verdade: SPEC, gcc, LaTeX, Spice mistura deve refletir uso normal (browser?) UFPR Bacharelado em Ciência da Computação 16 Medir desempenho SPEC primeiro conjunto em 1989 10 programas produzem um só número: SPECmarks segundo conjunto em 1992 SPECint92 com 6 programas com inteiros SPECfp92 com 14 programas com ponto flutuante terceiro conjunto em 1995 SPECint95 com 8 programas com inteiros SPECfp95 com 10 programas com ponto flutuante conjunto caduca em três anos versão base com mesmas flags de compilação (todos programs) quarto conjunto em 2000 CINT2000 com 11 programas com inteiros (C e C++) CFP2000 com 14 programas com ponto flutuante (fortran{77,90}, C) UFPR Bacharelado em Ciência da Computação 17 Medir e comparar resultados máq A máq B prog 1 [s] 1 10 prog 2 [s] 1000 100 soma [s] 1001 110 com programa 1, A é 10 vezes mais rápido que B com programa 2, B é 10 vezes mais rápido que A erm... Média Aritmética 1 n n Tempo i i1 B é 1001/110 9.1 vezes mais rápido que A UFPR Bacharelado em Ciência da Computação 18

Medir e comparar resultados máq A freq A máq B freq B prog 1 [s] 20 0.90 200 0.20 prog 2 [s] 1000 0.10 100 0.80 soma 1020 300 ponderada 102 120 melhor méd aritmética T B /T A 1020/300 3.40 B méd ponderada T A /T B 120/102 1.17 A T A 20 0.9+1000 0.1101.8 T B 200 0.2+100 0.8120 Média Aritmética n Tempo i frac i i1 UFPR Bacharelado em Ciência da Computação 19 Lei de Amdahl I Tempo de execução após melhoria (tempo de execução afetado / quanto melhorou) + tempo de execução não-afetado Exemplo: programa executa em 100s, multiplicações consomem 80% do tempo total. Quanto devo melhorar o circuito multiplicador se quero tempo total em 20s? 20 80/n + 20 Idem se quero tempo total em 40s? 40 80/n + 20 UFPR Bacharelado em Ciência da Computação 20 Lei de Amdahl II Ganho total Tempo orig Tempo melhor 1 (1 Frac melhor ) + (Frac melhor / Ganho melhor ) UFPR Bacharelado em Ciência da Computação 21

Exemplo programa executa em 100s, multiplicações consomem 80% do tempo total. Ao reduzir o tempo de execução do circuito multiplicador para a metade, qual será o ganho total de velocidade? Ganho total 1 (1 0.80) + 0.80 1/0.50 1 0.20 + 0.80 0.50 1 0.60 UFPR Bacharelado em Ciência da Computação 22