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



Documentos relacionados
Organização de Computadores

Organização de Computadores

Arquitetura de Computadores I

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

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

Desempenho de Computadores

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura e Organização de Computadores

ci212 desempenho Avaliação de Desempenho

Sistemas Computacionais II Professor Frederico Sauer

Organização e Arquitetura de Computadores I

Arquitetura de Computadores

Medidas de Desempenho e a Lei de Amdahl

Desempenho DESEMPENHO DE COMPUTADORES

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

Sistema de Computação

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Comparativo de desempenho do Pervasive PSQL v11

Introdução às Linguagens de Programação

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

COMPILADORES E INTERPRETADORES

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

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Lista de Exercícios 4

Arquitetura de Rede de Computadores

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

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

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

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

Ciclo de Vida de um Projeto

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

Fundamentos de Hardware

BARRAMENTO DO SISTEMA

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

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

Organização e Arquitetura de Computadores I

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

Universidade Federal de Alfenas

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Processadores. Guilherme Pontes

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

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

RISC - Reduced Instruction Set Computer

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

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

1.1. Organização de um Sistema Computacional

Orientação a Objetos


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

Organização e Arquitetura de computadores

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

ARQUITETURA DE COMPUTADORES

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

Sistemas Operacionais

Aula 26: Arquiteturas RISC vs. CISC

Estatística e Probabilidade. Aula 4 Cap 03. Probabilidade

MC-102 Aula 01. Instituto de Computação Unicamp

Computadores de Programação (MAB353)

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

ALP Algoritmos e Programação. . Linguagens para Computadores

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

Edeyson Andrade Gomes

Como fazer benchmark do computador

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

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES. Prof. Dr. Daniel Caetano

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 07

ARQUITETURA DE COMPUTADORES

Técnicas de Manutenção de Computadores

BCC202 - Estrutura de Dados I

Complexidade de Algoritmos. Edson Prestes

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

Removendo o cavaco. Na aula passada, tratamos das noções gerais. Nossa aula. Como calcular a rpm, o avanço e a profundidade de corte em fresagem

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

Disciplina: Organização de computadores

Tomada de Decisão uma arte a ser estudada Por: Arthur Diniz

Dadas a base e a altura de um triangulo, determinar sua área.

Projeto e Análise de Algoritmos. Profa. Juliana Kaizer Vizzotto. Projeto e Análise de Algoritmos - Aula 1

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

VisuALG Estruturas de Repetição. Professores: Vilson Heck Junior Felipe Schneider Costa

Arquitetura e Organização de Computadores

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Conversão Analógica Digital

Tabela e Gráficos Dinâmicos Como estruturar dinamicamente dados no Excel

Sistema Operacional Correção - Exercício de Revisão

4 Implementação e Resultados Experimentais

Jogos. Redes Sociais e Econômicas. Prof. André Vignatti

Estruturas do Sistema de Computação

Matéria: Matemática Assunto: Razão e Proporção Prof. Dudan

Disciplina: Introdução à Informática Profª Érica Barcelos

Introdução à Computação

Curso de Instalação e Gestão de Redes Informáticas

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)

Fundamentos da Matemática

2 Um Primeiro Programa em C

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

Transcrição:

Universidade Federal do Pampa Campus-Bagé Arquitetura e Organização de Computadores Aula 5 Consolidando Conhecimentos de Desempenho e Resumindo Prof. Julio Saraçol juliosaracol@gmail.com Slide1

AULA 5: CONCRETIZANDO AVALIAÇÃO DE DESEMPENHO Slide2

Falácias e Armadilhas Armadilha Esperar que a melhoria de um aspecto de uma máquina aumente o desempenho da máquina de forma proporcional ao tamanho da melhoria. Slide3

Lei de Amdahl Exemplos de princípios de projeto de hardware que podemos extrair desta lei: Melhoria de desempenho possível com determinado aumento é limitada pela quantidade em que o recurso aprimorado é usado! Torne o caso comum (+utilizado) rápido! Observação: Muitas vezes ele é o mais simples e mais fácil de melhorar Slide4

Lei de Amdahl Tempo de execução após melhoria = (Tempo de execução afetado / Quantidade de melhoria) + Tempo de execução não afetado Exemplo A: 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 4 vezes mais rápido? Slide5

Resolvendo o problema Tempo de execução antes da melhoria / 4 Tempo de execução após melhoria = ( 80 segundos / n ) + ( 100 80 segundos) 25 segundos = ( 80 segundos / n ) + 20 segundos 25 segundos 20 segundos =( 80 segundos / n ) 5 segundos = ( 80 segundos / n ) n = 80 segundos / 5 segundos n= 16 Logo, a multiplicação precisaria ser melhorada em 16 vezes para que o programa fosse executado 4 vezes mais rápido! Slide6

Lei de Amdahl Tempo de execução após melhoria = (Tempo de execução afetado / Quantidade de melhoria) + Tempo de execução não afetado Exemplo B: 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? Slide7

Resolvendo o problema Tempo de execução antes da melhoria / 5 Tempo de execução após melhoria = ( 80 segundos / n ) + ( 100 80 segundos) 20 segundos = ( 80 segundos / n ) + 20 segundos 20 segundos 20 segundos = ( 80 segundos / n ) 0 = ( 80 segundos / n ) n = 80 segundos / 0 n = Logo, no caso apresentado, NÃO HÁ uma quantidade possível de melhoria apenas da multiplicação que faça com que o programa execute 5 vezes mais rápido! Slide8

Exemplo C Suponha que melhoramos uma máquina fazendo todas as instruções de ponto flutuante serem executadas cinco vezes mais rápido. Se o tempo de execução de algum benchmark antes da melhoria do ponto flutuante é 10 segundos, qual será o aumento de velocidade se metade dos 10 segundos é gasta executando instruções de ponto flutuante? Slide9

Exemplo C Suponha que melhoramos uma máquina fazendo todas as instruções de ponto flutuante serem executadas cinco vezes mais rápido. Se o tempo de execução de algum benchmark antes da melhoria do ponto flutuante é 10 segundos, qual será o aumento de velocidade se metade dos 10 segundos é gasta executando instruções de ponto flutuante? Resposta 1,67 vezes mais rápida! x=(5 s / 5)+(10 s 5 s) x=1 s + 5 s = 6 s Logo, aumento da velocidade = 10 s / 6 s = 1,67 Slide10

Exemplo D Estamos procurando um benchmark para mostrar a nova unidade de ponto flutuante descrita no caso anterior (5 vezes mais rápida) e queremos que o benchmark mostre um aumento geral de velocidade de 5 vezes (tempo 5 vezes menor). O benchmark que estamos considerando é executado durante 100 segundos com o hardware de ponto flutuante antigo. Quanto do tempo de execução as instruções de ponto flutuante teriam que considerar para produzir nosso aumento de velocidade desejado para esse benchmark? Slide11

Exemplo D Estamos procurando um benchmark para mostrar a nova unidade de ponto flutuante descrita no caso anterior (5 vezes mais rápida) e queremos que o benchmark mostre um aumento geral de velocidade de 5 vezes (tempo 5 vezes menor). O benchmark que estamos considerando é executado durante 100 segundos com o hardware de ponto flutuante antigo. Quanto do tempo de execução as instruções de ponto flutuante teriam que considerar para produzir nosso aumento de velocidade desejado para esse benchmark? Resposta: Tempo afetado = 100 segundos = 100% tempo de execução Todas as instruções precisariam ser de ponto flutuante! 100 s / 5 = ( X / 5 ) + (100 s X ) 20 s = ( X + 500 s 5X) / 5 100 s = - 4 X + 500 s 4 X = 500 s 100 s X = 400 s / 4 = 100 s Slide12

Falácias e Armadilhas Falácia Métricas independentes de hardware predizem performance! Exemplo: prever o desempenho por tamanho de código Diferentes arquiteturas (ISA)» Usado incorretamente na década de 80 Mesmo ISA» Projetistas de compiladores as vezes optam por uma determinada sequência menor de instruções em linguagem de máquina, dentre várias possíveis Slide13

Falácias e Armadilhas Armadilha Usar MIPS como medida de performance MIPS Contador Tempo de de instruções execução 10 6 MIPS Frequência CPI 10 6 Qual é o problema? MIPS usa um subconjunto da equação de desempenho tempo de CPU Instruções por programa CPI período Slide14

Falácias e Armadilhas Três problemas do MIPS: Não leva em conta a diferença de complexidade das instruções existentes em ISAs diferentes -> CPI Varia entre programas no mesmo computador; é incorreto definir um único MIPS para todos os programas MIPS pode variar inversamente com o desempenho Já vimos isso antes! Slide15

Outro exemplo de MIPS x Desempenho Medida Computador A Computador B Contagem de instruções 10 bilhões (10^9) 8 bilhões (10^9) Velocidade de clock (freq.) 4 GHz (10^9) 4 GHz (10^9) CPI 1,0 1,1 Considerando que as medições foram feitas para um mesmo programa! a) Qual possui o melhor MIPS? b) Qual é o mais rápido (tempo de CPU)? Slide16

Freq = 4 GHz = 4 * 10^9 CPI = 1.0 Nº de Inst. = 10 * 10^9 Freq = 4 GHz = 4 * 10^9 CPI = 1.1 Nº de Inst. = 8 * 10^9 MIPS Contador Tempo de MIPS de instruções execução 10 Frequência CPI 10 6 6 tempo de CPU = nº de instruções tempo Slide17 de CPU = X CPI X nº de instruções X CPI frequência do clock período do clock

Outro exemplo de MIPS x Desempenho Medida Computador A Computador B Contagem de instruções 10 bilhões 8 bilhões Velocidade de clock (freq.) 4 GHz 4 GHz CPI 1,0 1,1 Tempo de execução A = 2,5 s ; MIPS A = 4000 Tempo de execução B = 2,2 s ; MIPS B = 3636 Ex.: MIPS B = 4G / 1,1 / 1.000.000 a) Qual possui o melhor MIPS? (A) b) Qual é o mais rápido? (B) Slide18

Experiência Telefone para um grande vendedor de computadores e diga que você está com dificuldade de decidir entre dois computadores diferentes; especificamente, que está confuso quanto aos pontos fortes e fracos dos processadores (Por exemplo, na DELL, desktop de entrada Linha Inspiron DT Serie 3000 - com as opções: Processador 3.5 GHz R$ 1.699,00 Processador 3.2 GHz R$ 2.249,00 Que tipo de resposta você provavelmente receberá? Que tipo de resposta você poderia dar a um amigo com a mesma dúvida? Slide19

Experiência Telefone para um grande vendedor de computadores e diga que você está com dificuldade de decidir entre dois computadores diferentes; especificamente, que está confuso quanto aos pontos fortes e fracos dos processadores (Por exemplo, na DELL, desktop de entrada Linha Inspiron DT Serie 3000 - com as opções: Intel Core I3-4150 (Dual) 3.5 GHz R$ 1.699,00 Intel Core I5-4460 (Quad) 3.2 GHz R$ 2.249,00 Que tipo de resposta você provavelmente receberá? Que tipo de resposta você poderia dar a um amigo com a mesma dúvida? Slide20

Lembrete O desempenho é específico a um determinado programa! - O tempo de execução total é um resumo consistente do desempenho Para uma determinada arquitetura, os aumentos de desempenho vêm de: - aumentos na velocidade de clock (sem efeitos de CPI adversos) - melhorias na organização do processador que diminuem o CPI - melhorias no compilador que diminuem o CPI e/ou a contagem de instruções - escolhas de algoritmo/linguagem que afetam a contagem de instruções Slide21