Desempenho de Computadores



Documentos relacionados
Desempenho DESEMPENHO DE COMPUTADORES

Organização de Computadores

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

Arquitetura de Computadores I

Organização de Computadores

ci212 desempenho Avaliação de Desempenho

Medição do Desempenho

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

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura e Organização de Computadores

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

Avaliando e Compreendendo o Desempenho. Capítulo 4

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

Arquitetura de Computadores

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

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

Organização e Arquitetura de computadores

Algumas características especiais

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

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

Desempenho. Sistemas de Computação

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

ARQUITETURA DE COMPUTADORES

Medidas de Desempenho e a Lei de Amdahl

Microprocessadores. Prof. Leonardo Barreto Campos 1

Circuitos sequenciais elementares

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

Introdução aos Computadores

ARQUITETURA DE COMPUTADORES

Sistemas Computacionais II Professor Frederico Sauer

O quê um Processador e qual a sua função?

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

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

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

Análise de complexidade

Arquitetura e Organização de Computadores

Sistema de Computação

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

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

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

Desempenho (Parte I): Compreensão e Avaliação

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

Everson Scherrer Borges João Paulo de Brito Gonçalves

Introdução aos Sistemas Operativos

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

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

Comparativo de desempenho do Pervasive PSQL v11

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

Arquiteturas RISC. (Reduced Instructions Set Computers)

Fundamentos de Hardware

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

Figura 1 - O computador

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Organização de Computadores 1

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Estruturas do Sistema de Computação

Processadores. Prof. Alexandre Beletti Ferreira

Prof. Sandrina Correia

Prof. Daniel Gondim Informática

CAPÍTULO 2 DESEMPENHO

AULA 1. Informática Básica. Gustavo Leitão. Disciplina: Professor:

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

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

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

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

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Processadores. Guilherme Pontes

Computadores de Programação (MAB353)

Curso EFA Técnico/a de Informática - Sistemas. Óbidos

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

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

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Escola Secundária de Emídio Navarro

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

3. O NIVEL DA LINGUAGEM DE MONTAGEM

MEDIDAS DE DESEMPENHO DE SISTEMA DE COMPUTADORES:

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

1. NÍVEL CONVENCIONAL DE MÁQUINA

Aula 26: Arquiteturas RISC vs. CISC

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Arquitetura de Computadores I

Capítulo I : Noções Gerais

CP C U P U - Un U i n da d d a e d e Ce C n e t n ral a de d e Pr P oc o es e sam a e m n e t n o o Pr P oc o es e sad a o d r o Aula 03

BARRAMENTO DO SISTEMA

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Arquitetura de Computadores. Ivan Saraiva Silva

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

CPU Unidade Central de Processamento. História e progresso

SIS17-Arquitetura de Computadores

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

ARQUITETURA DE COMPUTADORES

Capítulo 1. This material may not be copied or distributed for commercial purposes without express written permission of the copyright holder.

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. Prof. Angelo Augusto Frozza, M.Sc.

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

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

Transcrição:

Desempenho de Computadores João Canas Ferreira Arquitectura de Computadores FEUP/LEIC Contém figuras de Computer Organization and Design, D. Patterson & J. Hennessey, 3ª. ed., MKP Tópicos Os vários aspectos do desempenho Desempenho de CPU Avaliação de desempenho ArqComp: Desempenho de Computadores 2/21 2006-03-02

Aspectos da avaliação de desempenho Objectivos da avaliação de desempenho: Definir, medir e resumir; Apoiar a selecção fundamentada de sistemas; Compreender a motivação para a organização dos sistemas. Porque é que um computador é melhor que outro para um dado programa ou uma dada aplicação? Que factores do desempenho global estão relacionados com o suporte físico? De que forma é que a arquitectura do conjunto de instruções afecta o desempenho? ArqComp: Desempenho de Computadores 3/21 2006-03-02 Critérios de desempenho Os critérios usados para determinar o desempenho dependem daquilo que se pretende fazer com a resposta. Qual dos seguintes aviões tem o melhor desempenho? Avião Nº passag. Alcance (milhas) Velocidade (milhas) Débito (pass. milhas) Boeing 777 375 4630 610 228750 Boeing 747 470 4150 610 286700 Concorde 132 4000 1350 178200 DC-8-50 146 8720 544 79424 maior velocidade: Concorde (<133 passageiros) maior capacidade: Boeing 747 maior alcance: DC-8 ArqComp: Desempenho de Computadores 4/21 2006-03-02

Desempenho de computadores: tempo Tempo de resposta: o intervalo de tempo entre o início e o fim de uma tarefa. (Também designado tempo de execução.) Quanto tempo demora o programa a executar? Quanto tempo demora a resposta da base de dados? Débito: Quantidade total de trabalho por unidade de tempo. Quantos programas podem ser executados simultaneamente? Quantas interrogações da base de dados podem ser tratadas num minuto? Se acrescentarmos um computador a um laboratório, o que é que melhora? Se trocarmos o CPU de um computador por outro CPU mais rápido, o que é que melhora? ArqComp: Desempenho de Computadores 5/21 2006-03-02 Tempo de execução Tempo decorrido inclui tudo: acessos a memória e disco, E/S, etc. útil, mas delicado de usar em comparações (p. ex., quando são usados sistemas operativos multi-tarefa). Tempo de CPU não inclui tempo de E/S, nem o tempo de execução de outros programas; tem duas componentes: 1. tempo de utilizador: tempo gasto na execução das instruções do programa; 2. tempo de sistema: tempo que o sistema gasta em tarefas requeridas pelo programa (p. ex., acesso a disco). Foco: tempo de CPU do utilizador desempenho de CPU: usa tempo de CPU do utilizador; desempenho de sistema: usa tempo decorrido. ArqComp: Desempenho de Computadores 6/21 2006-03-02

Definição de desempenho Como estamos principalmente interessados no tempo de execução, usaremos a seguinte definição de desempenho: Desempenho = 1 Tempo de execução A afirmação: X é n vezes mais rápido que Y significa que De forma equivalente: desempenho X desempenho Y = n tempo_de_execução Y tempo_de_execução X = n ArqComp: Desempenho de Computadores 7/21 2006-03-02 Lei de Amdahl Erro comum: Esperar que uma melhoria do desempenho de uma parte de um computador leve a uma melhoria proporcional do desempenho global. Lei de Amdahl: O melhoria de desempenho causada por uma dada modificação é limitada pelo tempo durante o qual a modificação pode ser usada. t m = t u α + t n t m : tempo de execução com o melhoramento t u : tempo durante o qual o melhoramento é usado t n : tempo durante o qual o melhoramento não é usado α: factor de melhoria. Conclusão importante: Optimizar o caso comum. ArqComp: Desempenho de Computadores 8/21 2006-03-02

Lei de Amdahl: Exemplo de aplicação Um programa demora 100 s a executar. Desse tempo, 80 s são dispendidos em multiplicações. De quanto é necessário melhorar o desempenho da unidade de multiplicação, para que o programa execute 4 vezes mais rapidamente? t m = t u α + t n 25 = 80 α + (100 80) α = 80 5 = 16 E se quiséssemos obter uma melhoria global de 5 vezes? ArqComp: Desempenho de Computadores 9/21 2006-03-02 Ciclos de relógio Modelo de funcionamento de CPU: Todas as actividades são sincronizadas por um sinal periódico comum, o sinal de relógio. tempo Tempo entre tiques : nº de segundos por ciclo (período do relógio). Exprimir o tempo de execução em ciclos de relógio: tempo em segundos = nº de ciclos segundos ciclo Frequência de relógio: nº de ciclos por segundo 1 Hz = 1 ciclo/s Um relógio de 2.5 GHz tem um período de 1 2.5 10 9 = 0.4 ns. ArqComp: Desempenho de Computadores 10/21 2006-03-02

Factores de desempenho de CPU O desempenho depende obviamento do número de instruções executadas. O número de instruções pode ser relacionado com o número de ciclos de relógio através de um parâmetro designado por número médio de ciclos por instrução (CPI). nº de ciclos = nº de instruções nº médio de ciclos por instrução Combinando todos os parâmetros, tem-se a equação básica do desempenho: tempo = nº de instruções CPI período t = N CPI T = N CPI F ArqComp: Desempenho de Computadores 11/21 2006-03-02 Determinação empírica dos factores Como determinar o valor dos factores que afectam o desempenho? O tempo de execução pode ser medido empiricamente (para programas concretos e com dados de entrada bem definidos). A frequência de relógio é especificada na documentação do CPU. O nº de instruções pode ser obtido por: simulação; instrumentação do programa (gprof); contadores embutidos no CPU. O CPI depende dos detalhes de implementação do CPU e da mistura de instruções do programa. Muitas vezes é útil dividir as instruções por classes e determinar um CPI para cada classe. ArqComp: Desempenho de Computadores 12/21 2006-03-02

Classes de instruções Classificação das instruções em classes com características semelhantes. Exemplos: operações de ALU (números inteiros); operações de vírgula flutuante; acessos a memória. Para um programa com instruções de n classes, o número de ciclos de relógio é: n nº de ciclos = (CPI i C i ) em que C i é o número de instruções da classe i. O número N de instruções executadas é N = n i=1 C i. O CPI médio global é nº de ciclos n CPI = nº de instruções = i=1 (CPI i C i ) n ( = CPI i C ) i N N ArqComp: Desempenho de Computadores 13/21 2006-03-02 i=1 i=1 Avaliação empírica A melhor forma de avaliar o desempenho é por execução de aplicações reais (benchmark = marca de nível). usar programas típicos da carga esperada (workload); ou usar programas típicos de uma dada área (gráficos, aplicações científicas, bases de dados). Benchmarks pequenos são simples (bom para projectistas...); fáceis de normalizar; fáceis de manipular; de representatividade duvidosa. SPEC (System Performance Evaluation Cooperative) companhias concordaram num conjunto de programas reais (e dados de entrada); indicador valioso de desempenho (e de tecnologia de compilação); http://www.spec.org ArqComp: Desempenho de Computadores 14/21 2006-03-02

SPEC SPECINT2000 Benchmark Linguagem Categoria gzip C Compressão vpr C Colocação e encaminhamento para FPGAs gcc C Compilador de C mcf C Optimização (fluxos em redes) crafty C Xadrez parser C Processamento de texto eon C++ Visualização perlbmk C Linguagem de programação PERL gap C Interpretador para teoria dos grupos vortex C Base de dados OO bzip2 C Compressão twolf C Colocação e encaminhamento de CIs CPU2000: INT2000 (números inteiros); FP2000 (vírgula flutuante) Medida: SPEC ratio (cresce com o desempenho) ArqComp: Desempenho de Computadores 15/21 2006-03-02 Como resumir medidas de desempenho Como resumir o desempenho de um conjunto de benchmarks com um número? Característica fundamental: permitir prever o tempo de execução. Algumas possibilidades: total dos tempos de execução média aritmética: directamente proporcional ao tempo total quando os n programas são executados o mesmo número de vezes M a = 1 n t i n média aritmética pesada: a contribuição de cada programa é pesada pela sua frequência de ocorrência na carga n n M p = (p i t i ) com p i = 1 i=1 ArqComp: Desempenho de Computadores 16/21 2006-03-02 i=1 i=1

Exemplo: Benchmarks para CPUs 1400 1200 Pentium 4 CFP2000 SPEC CINT2000 and CFP2000 performance 1000 800 600 400 200 Pentium III CINT2000 Pentium III CFP2000 Pentium 4 CINT2000 0 500 1000 1500 2000 2500 3000 3500 Clock rate in MHz ArqComp: Desempenho de Computadores 17/21 2006-03-02 Exemplo: Benchmarks para portáteis 1.6 1.4 Pentium M @ 1.6/0.6 GHz Pentium 4-M @ 2.4/1.2 GHz Pentium III-M @ 1.2/0.8 GHz Relative performance 1.2 1.0 0.8 0.6 0.4 0.2 0.0 SPECINT2000 SPECFP2000 SPECINT2000 SPECFP2000 SPECINT2000 SPECFP2000 Always on/maximum clock Laptop mode/adaptive clock Benchmark and power mode Minimum power/minimum clock ArqComp: Desempenho de Computadores 18/21 2006-03-02

Exemplo: Eficiência energética 6 Pentium M @ 1.6/0.6 GHz Pentium 4-M @ 2.4 GHz 5 Pentium III-M @ 1.2 GHz Relative efficiency 4 3 2 1 0 SPECINT2000 SPECFP2000 SPECINT2000 SPECFP2000 SPECINT2000 SPECFP2000 Always on/maximum clock Laptop mode/adaptive clock Benchmark and power mode Minimum power/minimum clock ArqComp: Desempenho de Computadores 19/21 2006-03-02 MIPS: uma medida com problemas MIPS: million instructions per second MIPS = nº de instruções tempo de execução 10 6 Computadores mais rápidos têm mais MIPS (?) Problemas: 1. não considera a complexidade das instruções: não serve para comparar computadores com instruções diferentes. 2. MIPS pode variar de forma inversamente proporcional ao desempenho. Computador nº instr. freq. CPI T 1/T MIPS A 10 10 4 GHz 1 2,5 0,4 4000 B 8 10 9 4 GHz 1,1 2,2 0,455 3636 ArqComp: Desempenho de Computadores 20/21 2006-03-02

Pontos importantes A medição de desempenho é feita para programas específicos. O tempo total de execução é um resumo consistente do desempenho. Para uma dada arquitectura do conjunto de instruções, o aumento de desempenho pode ser obtido por: aumento da frequência do relógio (sem alteração do CPI); melhoria da organização interna que leve a diminuição do CPI; melhoramentos do compilador (baixa o CPI e/ou o número de instruções); escolha de linguagem/algoritmo (afecta o número de instruções). Cuidado: o melhoramento de um dado aspecto do desempenho de um computador pode não afectar proporcionalmente o desempenho total. ArqComp: Desempenho de Computadores 21/21 2006-03-02