Organização de Computadores



Documentos relacionados
Arquitetura e Organização de Computadores

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

Organização de Computadores

Desempenho DESEMPENHO DE COMPUTADORES

Desempenho de Computadores

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

Arquitetura de Computadores I

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores

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

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

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

ci212 desempenho Avaliação de Desempenho

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

MEDIDAS DE DESEMPENHO DE SISTEMA DE COMPUTADORES:

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

Capítulo 1 Introdução

Medição do Desempenho

Medidas de Desempenho e a Lei de Amdahl

Sistemas Computacionais II Professor Frederico Sauer

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

ARQUITETURA DE COMPUTADORES

Organização e Arquitetura de Computadores I

Comparativo de desempenho do Pervasive PSQL v11

Técnicas de Manutenção de Computadores

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

SIS17 - Arquitetura de Computadores. Introdução (Parte III)

Processadores. Guilherme Pontes

INFORMÁTICA BÁSICA AULA 02. Docente: Éberton da Silva Marinho


Sistema de Computação


CPU Unidade Central de Processamento. História e progresso

Evolução das CPUs: Dual e Quad Core

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

Bits internos e bits externos. Barramentos. Processadores Atuais. Conceitos Básicos Microprocessadores. Sumário. Introdução.

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

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

Sistemas Operacionais

1. NÍVEL CONVENCIONAL DE MÁQUINA

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

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

Aula 26: Arquiteturas RISC vs. CISC

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

Folha de Rosto UNIVERSIDADE FEDERAL DE UBERLÂNDIA DIVISÃO DE COMPRAS E LICITAÇÕES DA FUNDAÇÃO DE APOIO UNIVERSITÁRIO

Introdução aos Computadores

Desempenho. Sistemas de Computação

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

Requisitos técnicos dos produtos Thema

Arquitetura de Banco de Dados

Algumas características especiais

Fundamentos de Sistemas Operacionais

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

Cursos de Computação. Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 01 - História e Funções dos Sistemas Operacionais

Capítulo 2 (Livro Texto*) - Notas de Aula - Parte II

CAPÍTULO 2 DESEMPENHO

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

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

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

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

Fundamentos de Banco de Dados

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

O que é Arquitetura de Computadores?

Edeyson Andrade Gomes

Requisitos de Hardware - Humanus

Organização e Arquitetura de computadores

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Pré-requisitos para Instalação Física e Lógica do SISLOC

Avaliação de Desempenho

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

Universidade Federal de Alfenas

A história do Processadores O que é o processador Características dos Processadores Vários tipos de Processadores

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

Arquitetura e Organização de Computadores 2

ESTUDO DE CASO WINDOWS VISTA

FACULDADE PITÁGORAS PRONATEC

Arquiteturas RISC. (Reduced Instructions Set Computers)

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

ARTIGO IV PRINCIPAIS PARTES DA CPU

Disciplina: Organização de computadores

Modelagem de Sistemas Computacionais. Seleção de Carga de Trabalho Aula 04 Profa. Priscila Solís Barreto

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Fundamentos de Sistemas de Informação Hardware: Dispositivos de Entrada, Processamento e Saída

Avaliando e Compreendendo o Desempenho. Capítulo 4

Organização e Arquitetura de Computadores. Capítulo 13 Paralelismo no nível de instruções

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

Processadores Tecnologia de Multiprocessamento VS + Núcleos. Claudio Damasceno prof.claudiodamasceno@hotmail.com

U E S C. Introdução à Ciência da Computação

Contil Informática. Curso Técnico em Informática Processadores Core

Análise e projeto de sistemas PROF. REGILAN SILVA

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

4 Implementação e Resultados Experimentais

Prof. Esp. Lucas Cruz

Arquitetura de Von Neumann e os Computadores Modernos

Microprocessadores. Prof. Leonardo Barreto Campos 1

Memória RAM. A memória RAM evolui constantemente. Qual a diferença entre elas? No clock (velocidade de comunicação com o processador)

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

Transcrição:

Organização de Computadores Marcelo Lobosco DCC/UFJF

Avaliando e Compreendendo o Desempenho Aula 10

Agenda Análise de Desempenho (cont.) Avaliando o Desempenho Benchmark SPEC Falácias e Armadilhas

Desempenho da CPU e seus Fatores Exercício: Um projetista de compilador está tentando decidir entre duas seqüências de código para um determinada máquina. Baseado na implementação de hardware, existem três classes diferentes de instruções: Classe A, Classe B e Classe C, e elas exigem um, dois e três ciclos, respectivamente. A primeira seqüência de código possui 5 instruções: 2 de A, 1 de B e 2 de C. A segunda seqüência possui 6 instruções: 4 de A, 1 de B e 1 de C. Que seqüência será mais rápida? O quanto mais rápida? Qual é a CPI para cada seqüência?

Desempenho da CPU e seus Fatores Resposta: Seqüência 1: 2 + 1 + 2 = 5 instruções Seqüência 2: 4 + 1 + 1 = 6 instruções n Ciclos de clock da CPU = i=1 (CPI i x C i ) Ciclos de Clock da CPU 1 = (2 x 1) + (1 x 2) + (2 x 3) = 10 ciclos Ciclos de Clock da CPU 2 = (4 x 1) + (1 x 2) + (1 x 3) = 9 ciclos Seqüência 2 é mais rápida Ciclos de clock da CPU = Instruções para um programa x CPI CPI 1 = 10/5 = 2 CPI 2 = 9/6 = 1,5

Avaliando Desempenho A melhor forma de determinar desempenho é executando uma aplicação real Usa programas típicos do workload esperado Ou usa programas típicos da classe de aplicações esperada Benchmarks pequenos Ótimos para arquitetos e projetistas Fácil de padronizar Pode ser otimizado / uso de otimizações especiais

Avaliando Desempenho A Intel reconheceu, envergonhada, na sexta-feira que um bug em um programa de software conhecido como um compilador levou a empresa a anunciar uma velocidade 10 por cento maior dos seus chips microprocessadores em um benchmark da área. Entretanto, os analistas do setor disseram que o erro de codificação foi um comentário infeliz sobre uma prática comum de mentir nos testes de desempenho padronizados. O erro foi atribuído à Intel dois dias atrás pela concorrente Motorola, em um teste conhecido como SPECint92. A Intel reconheceu que havia otimizado seu compilador para melhorar suas pontuações de teste. A empresa também havia dito que não gostava da prática, mas que foi forçada a fazer as otimizações porque seus concorrentes estavam fazendo o mesmo. No coração do problema da Intel está a prática de ajustar os programas de compilador para reconhecerem certos problemas de computação no teste e, então, substituir por partes especiais do código escritas a mão. Sábado, 6 de janeiro de 1996 New York Times

Avaliando Desempenho Diferentes classes e aplicações de computadores exigem diferentes tipos de benchmarks Desktop Desempenho de CPU ou tarefa específica Servidores Aplicação Servidores científicos => CPU Outros (Web, BD, arquivos) => Vazão, tempo de resposta

Comparando e Resumindo o Desempenho Computador A Computador B Programa 1 (segundos) Programa 2 (segundos) Tempo Total (segundos) 1 1000 1001 10 100 110

Comparando e Resumindo o Desempenho Quem é mais rápido? A é 10 vezes mais rápido que B para o programa 1 B é 10 vezes mais rápido que A para o programa 2 Desempenho Desempenho B = Tempo de Execução A = 1001 Desempenho A Tempo de Execução B 110 =9,1 Média aritmética: MA = 1 n Tempo i i=1 Média aritmética ponderada: somatório do produto dos pesos pelos tempos de execução n

Benchmark SPEC SPEC (System Performance Evaluation Cooperative) Empresas concordaram sobre um conjunto de programas e entradas reais Valioso indicador do desempenho (e da tecnologia do compilador) Benchmarks para CPU, gráficos, computação de alto desempenho, computação orientada a objetos, aplicações Java, modelo cliente-servidor, e-mail, sistemas de arquivos, servidores Web. Mais recente: SPEC CPU2006

SPEC CPU2000

SPEC CINT2000 e CFP2000 Valores normalizados Resultados divididos pelo desempenho de uma Sun Ultra 5_10 300MHz Razão SPEC Resultados numéricos maiores indicam melhor desempenho Aumento de desempenho resultado de... Aumento na velocidade de clock Melhorias na organização do processador que diminuem CPI Aprimoramento no compilador Diminui contagem de instruções Geram instruções com média de CPI mais baixa

SPEC CINT2000 e CFP2000

SPEC CINT2000 e CFP2000 Desempenho aumenta quase linearmente com aumento da velocidade do clock Perdas no sistema de memória geralmente aumentam com velocidades de clock mais alta Cache agressivo Incapacidade do benchmark de exaurir sistema de memória Pentium 4 é relativamente melhor do que Pentium III nos benchmarks de ponto flutuante ou relativamente pior nos benchmarks de inteiros?

SPEC CINT2000 e CFP2000 Velocidade CINT2000/MHz CFP2000/MHz Pentium III 0,47 0,34 Pentium 4 0,36 0,39 Considerando único compilador para ambos os processadores CINT2000 => CPI do Pentium 4 é 1,3 vezes melhor que do Pentium III (0,47/0,36) Pentium 4: Novas instruções de ponto flutuante (Streaming SIMD Extensions 2) Contagem de instruções e CPI diferem

SPECweb99 Sistema Processador # de unidades de disco # de CPUs # de redes Clock (GHz) Resultado 1550/1000 PIII 2 2 2 1 2765 1650 PIII 3 2 1 1,4 1810 2500 PIII 8 2 4 1,13 3435 2550 PIII 1 2 1 1,26 1454 2650 P4 Xeon 5 2 4 3,06 5698 4600 P4 Xeon 10 2 4 2,2 4615 6400/700 PIII Xeon 5 4 4 0,7 4200 6600 P4 Xeon MP 8 4 8 2 6700 8450/700 PIII Xeon 7 8 8 0,7 8001

SPEC CINT2000 e CFP2000

Falácias e Armadilhas Armadilha: Esperar a melhoria de um aspecto de um computador para aumentar o desempenho por uma quantidade proporcional ao tamanho da melhoria Exemplo: Suponha que um programa seja executado em 100 segundos em uma máquina, com multiplicação responsável por 80 segundos desse tempo. O quanto precisamos melhorar a velocidade da multiplicação se queremos que o programa seja executado 5 vezes mais rápido?

Falácias e Armadilhas Lei de Amdahl Tempo de execução afetado pela melhoria Tempo de execução após melhoria = +Tempo de execução não afetado Quantidade de melhoria 80 seg Tempo de execução após melhoria = +(100 80 ) n Como queremos que o tempo melhore 5 vezes, o novo tempo de execução Deve ser de 20 seg: 80 seg 80 seg 20 seg = +(20) 0= n n Conclusão: A melhoria de desempenho possível com determinado aumento é limitada pela quantidade em que o recurso aprimorado é usado Torne o caso comum rápido

Falácias e Armadilhas Armadilha: Usar um subconjunto da equação de desempenho como uma métrica de desempenho MIPS (Milhão de instruções por segundo) Contador de instruções MIPS = Tempo de execução x 10 6 Problemas com MIPS: Não leva em conta o tipo das instruções Computadores com diferentes conjuntos de instruções terão contagens de instruções diferentes MIPS pode variar inversamente com o desempenho

Falácias e Armadilhas Considere o computador com três classes de instruções e medições de CPI do exemplo do fim da última aula. Agora suponha que, medindo o código gerado por dois compiladores diferentes para o mesmo programa, obtivemos os seguintes dados: Código do compilador 1 gerou 5 bilhões de instruções da classe de instruções A, 1 bilhão de B e 1 bilhão de C; o compilador B gerou 10 bilhões de instruções da classe A, 1 bilhão de B e 1 bilhão de C. Considere o computador com clock de 4GHz. Que seqüência de código será executada mais rápido de acordo com o MIPS? E de acordo com o tempo de execução?

Falácias e Armadilhas Primeiro encontramos o tempo de execução para cada compilador usando: ciclos de clock da CPU Tempo de execução = velocidade de clock n Ciclos de clock da CPU = (CPI i x C i ) i=1 Ciclos de clock da CPU 1 =(5x1+1x2+1x3)x 10 9 =10 x10 9 Ciclos de clock da CPU 2 =(10 x1+ 1x2+1x3) x10 9 =15 x10 9 Tempo de execução 1 = 10x109 4x10 9 Tempo de execução 2 = 15x109 4x10 9 =2,5 segundos =3,75 segundos

Falácias e Armadilhas Pelo tempo de compilação, compilador 1 gera o programa mais rápido. Calculo do MIPS: Contador de instruções MIPS = Tempo de execução x 10 6 MIPS 1 = (5+1+1)x109 2,5 x10 6 =2800 MIPS 2 = (10+1+1)x109 3,75 x 10 6 =3200 Compilador 2 possui MIPS mais alto, porém código do compilador 1 é executado mais rápido

Comentários Finais Desempenho não deve ser único foco Custo, consumo de energia, segurança, escalabilidade Custo depende de vários fatores Componentes, pesquisa e desenvolvimento, mão de obra, vendas, marketing, margem de lucros

Próxima Aula... O Processador: caminho de dados e controle Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados