• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
21
0
0

Texto

(1)

Universidade Federal do Pampa

Campus-Bagé

Engenharia de Computação

Arquitetura e

Organização de

Computadores

Aula 5 – Consolidando Conhecimentos de

Desempenho e Resumindo

(2)

CONCRETIZANDO AVALIAÇÃO

DE DESEMPENHO

(3)

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

(4)

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

(5)

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

?”

(6)

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!

(7)

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

?”

(8)

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!

(9)

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?

(10)

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

(11)

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

(12)

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

(13)

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

(14)

Falácias e Armadilhas

• Armadilha

Usar MIPS como medida de performance

– Qual é o problema?

• MIPS usa um subconjunto da equação de

desempenho

6

10

execução

de

Tempo

instruções

de

Contador

MIPS

período

CPI

programa

por

Instruções

CPU

de

tempo

6

10

CPI

Frequência

MIPS

(15)

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

(16)

Outro exemplo de MIPS x Desempenho

• 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)?

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)

(17)

• 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

6

10

execução

de

Tempo

instruções

de

Contador

MIPS

6

10

CPI

Frequência

MIPS

(18)

Outro exemplo de MIPS x Desempenho

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)

Medida

Computador A

Computador B

Contagem de instruções

10 bilhões

8 bilhões

Velocidade de clock (freq.)

4 GHz

4 GHz

(19)

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

(20)

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

(21)

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

Referências

Documentos relacionados

ABSTRACT: The toxicological effects of crude ethanolic extracts (CEE) of the seed and bark of Persea americana have been analyzed on larvae and pupae of

Também mostramos que a acusação de crimes contra a humanidade foi, ao nosso entendimento, a grande motivação para que Speer escrevesse sobre sua trajetória, em

Destarte, analisando o conceito de direito à intimidade, constata-se claramente que os dados genéticos, como informações diretamente relacionadas ao ser humano, são

Não apresentarei o argumento neste trabalho, pois importa dizer sobre a solução ter vindo, então, ao deixar de lado as recomendações de escrita de roteiro que eu seguira

Na análise do jurídico e literário, na seara da propriedade intelectual, utilizando como objeto de estudo as obras de Machado de Assis, pode-se perceber a presença de

a) política nacional de desenvolvimento do turismo; b) promoção e divulgação do turismo nacional, no país e no exterior; c) estímulo às iniciativas públicas e privadas de

Desta maneira, observando a figura 2A e 2C para os genótipos 6 e 8, nota-se que os valores de captura da energia luminosa (TRo/RC) são maiores que o de absorção (ABS/RC) e

Com base nos resultados da pesquisa referente à questão sobre a internacionalização de processos de negócios habilitados pela TI com o apoio do BPM para a geração de ganhos para