51
Capítulo 1 Abstrações do Computador e Tecnologia

Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Embed Size (px)

Citation preview

Page 1: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Capítulo 1

Abstrações do Computador e Tecnologia

Page 2: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

A Revolução do Computador

Progresso na tecnologia do computador

Sustentado pela Moore’s Law onde a capacidade do transistor dobra a cada18-24 meses

Faz novas aplicações viáveis

Computadores em automóveis

Telefones celulares

Projeto genoma humano

sequenciar um a um os genes que codificam as proteínas do corpo humano

World Wide Web

Máquinas de Busca

Computadores são pervasivos

Page 3: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Classes de Computadores

Computadores Desktop

Propósito geral, variedade de software

Sujeito ao balanceamento de custo/desempenho

Computadores servidores

Baseado em rede

Alta capacidade, desempenho e confiabilidade

Vão desde pequenos até mega servidores

Computadores embarcados

Escondidos como componentes do sistema

Severas restrições de energia/desempenho/custo

Page 4: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

O Mercado de Processador

Page 5: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

O que você aprenderá

Como programas são traduzidos para linguagem de máquina

E como o hardware executam tais programas

A interface de hardware/softwae

O que determina o desempenho do programa

E como isto pode ser melhorado

Como projetista de hardware melhoram desempenho

O que é o processamento paralelo

Page 6: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Entendendo Desempenho

Algoritmo

Determina o número de operações executadas

Linguagem de programação, compilador, arquitetura

Determina o número de instruções de máquinas executadas por operação

Sistema de memória e processador

Determina quão rápida as intruções são executadas

Sistema de E/S (incluindo SO)

Determina quão rápida operações de E/S são executadas

Page 7: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Abaixo do seu Programa

Software de aplicação

Escrito em linguagens de alto nível

Software do sistema

Compilador: traduz código em alto nível para código de máquina

Sistema operacional: Tratar entrada/saída

Gerenciar armazenamento e memória

Escalonamento de tarefas & compartilhamento de recursos

Hardware

Processador, memória, controladores de E/S

Page 8: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Níveis de Código de Programa

Linguagem alto nível Nível de abstração mais

próximo do domínio do problema

Fornece produtividade e portabilidade

Linguagem Assembly Representação textual das

instruções

Representação do hardware Dígitos binários (bits)

Instruções e dados codificados

Page 9: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Componentes de um computador

Mesmo componentes para todos os tipos de computador

Desktop, servidor, embarcado

Entrada/Saída inclui

Dispositivo de interface com o usuário

Display, teclado, mouse

Disp. de armazenagem Hard disk, CD/DVD, flash

Adaptadores de rede Comunicação com outros

computadores

The BIG Picture

Page 10: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Anatomia de Computador

Disp. de saída

Disp. de entrada

Disp. De entrada

Cabo de rede

Page 11: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Anatomia de um Mouse

Mouse ótico

LED ilumina a área de trabalho

Pequena câmera de baixa resolução

Processador de imagem básico

Checa por movimentos x, y

Botões & roda

Substituição do mouse mecânico (protótipo em 1967)

Page 12: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Através do Espelho

Tela LCD: elementos de imagem (pixels)

A imagem é armazenada no frame buffer (armazena o mapa de bit)

Matriz de exibição: varia de 640x480 à 2560x1600 Número de colunas x número de linhas = número de pixels

Frame buffer com 4 bits per pixel

Tonalidade mais clara

Cathode ray tube

Page 13: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Abrindo a Caixa

dual in-line memory model

Page 14: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Dentro do Processador (CPU)

Caminho de dados (músculo): executa operações em dados

Controle (cérebro): conta ao caminho de dados, memória, e dispostivos E/S o que fazer de acordo com as instruções do programa

Memória cache

Pequena memória SRAM (static random access memory) rápida (que não precisa ser atualizada periodicamente) para acesso imediato aos dados

Page 15: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Dentro do Processador

AMD Barcelona: 4 núcleos de processador

Page 16: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Abstrações

Abstração nos ajuda a lidar com a complexidade

Esconde detalhes de baixo nível

Arquitetura de conjunto de instruções (ISA -Instruction set architecture)

A interface do hardware/software

Application binary interface

O ISA mais a interface de software do sistema

Implementação

Os detalhes subjacentes e a interface

The BIG Picture

Page 17: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Um Lugar Seguro para os Dados

Memória principal volátil Perde instrúções e dados quando desligado

Memória secundária não volátil Disco magnético

Memória flash

Disco óptico (CDROM, DVD)

Page 18: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Redes

Comunicação e compartilhamento de recursos

Local area network (LAN): Ethernet

Dentro de um prédio

Wide area network (WAN): Internet

Wireless network: WiFi, Bluetooth

Page 19: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Tendências da Tecnologia

Tecnologia eletrônica continua a evoluir

Melhorou capacidade e desempenho

Reduziu custo

Ano Tecnologia Desempenho/custo relativo

1951 Vacuum tube 1

1965 Transistor 35

1975 Integrated circuit (IC) 900

1995 Very large scale IC (VLSI) 2,400,000

2005 Ultra large scale IC 6,200,000,000

capacidade da DRAM quadruplicou a cada três anos

Page 20: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Definindo Desempenho

Qual avião tem o melhor desempenho?

0 100 200 300 400 500

Douglas

DC-8-50

BAC/SudConcorde

Boeing 747

Boeing 777

Passenger Capacity

0 2000 4000 6000 8000 10000

Douglas DC-

8-50

BAC/SudConcorde

Boeing 747

Boeing 777

Cruising Range (miles)

0 500 1000 1500

Douglas

DC-8-50

BAC/SudConcorde

Boeing 747

Boeing 777

Cruising Speed (mph)

0 100000 200000 300000 400000

Douglas DC-

8-50

BAC/Sud

Concorde

Boeing 747

Boeing 777

Passengers x mph

maior velocidade

maior alcance

maior capacidade

Page 21: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Tempo de Resposta e Vazão

Tempo de resposta Quanto tempo leva para realizar uma tarefa

Computadores desktop e embarcados

Vazão (servidores) Trabalho total realizado por unidade de tempo

e.g., tarefas/transações/… por hora

Como o tempo de resposta e vazão são afetados por Substituir o processador com uma versão mais

rápida?

Adicionar mais processadores?

Focaremos no tempo de resposta por agora…

Page 22: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Exercício

As seguintes mudanças para um sistemacomputacional aumenta vazão, diminui tempo de resposta, ou ambos?

1. Substituir o processador em um computador com umaversão mais rápida?

2. Adicionar processadores adicionais a um sistema queusa várias processadores para tarefas separadas – porexemplo, procurando na World Wide Web

Page 23: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Exercício

As seguintes mudanças para um sistemacomputacional aumenta vazão, diminui tempo de resposta, ou ambos?

1. Substituir o processador em um computador com umaversão mais rápida?

Diminuir tempo de resposta quase sempre melhora vazão. Neste

caso, ambos tempo de resposta e vazão são melhorados

2. Adicionar processadores a um sistema que usa váriosprocessadores para tarefas separadas – por exemplo, procurando na World Wide Web

3. nenhuma tarefa é executada mais rápida, assim somente vazão é aumentada. Se a demanda por processamento for alta, o sistemapode forçar enfileiramento dos processos. Neste caso, ambos sãomelhorados

Page 24: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Desempenho Relativo

Define Desempenho = 1/Tempo de execução

“X é n vezes mais rápido do que Y”

n XY

YX

execucao de Tempoexecucao de Tempo

DesempenhoDesempenho

Exemplo: tempo necessário para executar um programa

10s em A, 15s em B

Tempo de execuçãoB / Tempo de ExecuçãoA

= 15s / 10s = 1.5

Assim A é 1.5 vezes mais rápido do que B

Page 25: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Exercício

O desempenho do computador C é quatro vezes mais rápido do que o desempenho do computador B, o qual executa uma dada aplicação em 28 segundos. Quanto tempo o computador C levará para executar aquela aplicação?

O computador C executará em:Tempo de Execução B / Tempo de Execução do C = n Tempo de Execução do C = 28/4=7s

Page 26: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Medindo Tempo de Execução

Tempo decorrido Tempo de resposta total, incluindo todos os aspectos

Processamento, E/S, sobrecarga do SO, tempo ocioso

Determina desempenho do sistema

Tempo de CPU Tempo gasta no processamento de uma determinada

tarefa

Disconta tempo de E/S, outras tarefas compartilhadas

Compreende o tempo de CPU do usuário e o tempo de CPU do sistema

Diferentes programas são afetados diferentemente pela CPU e desempenho do sistema

Page 27: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Relógio da CPU

Operação de hardware digital é governado por um relógio de taxa constante

relógio (ciclos)

computação e transf. de dados

atualiza estado

Período de relógio

Período do relógio: duração de um ciclo de clock

e.g., 0.25ns = 250ps = 250×10–12s

Frquência do relógio (taxa): ciclos por segundo

e.g., 4.0GHz = 4000MHz = 4.0×109Hz

Page 28: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Tempo de CPU

Desempenho melhorado por

Redução do número de ciclos de relógio

Aumento da taxa de relógio

Engenheiros eletrônicos devem sempre balancear taxa de relógio contra contagem de ciclo

Relógio de Taxa

Relógio de Ciclos

Ciclo de TempoRelógio de CiclosCPU de Tempo

Page 29: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Exemplo de Tempo da CPU

Computador A: relógio 2GHz, tempo de CPU 10s

Projetando computador B Objetivo: tempo de CPU de 6s

Pode ter relógio mais rápido, mas causa 1.2×ciclos de relógio de A

Quão rápido deve ser o relógio do computador B?

4GHz6s

1024

6s

10201.2Relógio de Taxa

10202GHz10s

Relógio de TaxaCPU de TempoRelógio de Ciclos

6s

Relógio de Ciclos1.2

CPU de Tempo

Relógio de CiclosRelógio de Taxa

99

B

9

AAA

A

B

BB

Page 30: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Contagem de Instrução e CPI

Contagem de instrução para um programa

Determinado pelo programa, ISA e compilador

Ciclos médios por instrução

Determinado pelo hardware da CPU

Se diferentes instruções têm diferentes CPI (clock cycles per instruction)

CPI médio afetado pela mistura de instruções

Relógio de Taxa

CPIInstrução Cont.

Ciclo de TempoCPIInstrução Cont.CPU de T.

Instrução por CiclosInstrução Cont.Relógio de Ciclos

Page 31: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Exemplo de CPI

Computador A: T. ciclo = 250ps, CPI = 2.0

Computador B: T. ciclo = 500ps, CPI = 1.2

Mesmo ISA

Qual é mais rápido, e por quanto?

1.2500psI

600psI

ACPU de Tempo

BCPU de Tempo

600psI500ps1.2I

BCiclo de Tempo

BCPIInst. de Contagem

BCPU de Tempo

500psI250ps2.0I

ACiclo de Tempo

ACPIInst. de Contagem

ACPU de Tempo

A é mais rápido

por esta quant.

Page 32: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

CPI em Mais Detalhes

Se diferentes classes de instrução levam diferentes números de ciclos

n

1iii )Instrução Cont.(CPIRelógio de Ciclos

Média ponderada do CPI

n

1i

ii

Instrução Cont.

Instrução Cont.CPI

Instrução Cont.

relógio de CiclosCPI

Frequência relativa

Page 33: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Exemplo de CPI (1)

Um projetista de compilador está decidindo entre dois segmentos de código para um computador

CPI para cada classe de instrução

Classe A B C

CPI para classe 1 2 3

Instruction count

Classe A B C

IC na sequência 1 2 1 2

IC na sequência 2 4 1 1

O projetista está considerando duas sequênciasde código que requerem as seguintes ICs

Page 34: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Exemplo de CPI (2)

Sequências de códigos alternativos compilados usando instruções em classes A, B e C

Classe A B C

CPI para classe 1 2 3

IC na sequência 1 2 1 2

IC na sequência 2 4 1 1

Sequência 1: IC = 5

Ciclos de Relógio= 2×1 + 1×2 + 2×3= 10

Avg. CPI = 10/5 = 2.0

Sequência 2: IC = 6

Ciclos de Relógio= 4×1 + 1×2 + 1×3= 9

Avg. CPI = 9/6 = 1.5

Instruction count

Seq. 2 é mais rápido (mesmo tendo uma instrução a mais)

Page 35: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Resumo de Desempenho

Desempenho depende

Algoritmo: afeta IC, possivelmente CPI

Linguagem de programação: afeta IC, CPI

Compilador: afeta IC, CPI

ISA: afeta IC, CPI, Tc

The BIG Picture

Relógio de Ciclo

Segundos

Instrução

Relógio de Ciclos

Programa

InstruçõesCPU de Tempo

Page 36: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Exercício (1)

Uma dada aplicação escrita em Java executa em 15 segundos em um processador desktop. Um novo compilador Java solicita somente 0.6 instruções referente ao antigo compilador, porém aumenta o CPI por 1.1. Quão rápido nós podemos esperar que a aplicação execute usando este novo compilador?

Ciclo T.A

CPII

Ciclo T.A

1.1CPI0.6I

ATempo

BTempo

Ciclo T.A

1.1CPIInst. de m0.6ContageB

Tempo

Ciclo T.A

CPIInst. de ContagemA

Tempo

Page 37: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Exercício (2)

segundos

segundos

9.9B

Tempo

150.66B

Tempo

0.661.10.6

ATempo

BTempo

Page 38: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Tendências de Potência

Em tecnologia CMOS (complementary metal oxide semiconductor)

FrequencyVoltageload CapacitivePower 2

×1000×30 5V → 1V

Em 20 anos, tensão reduziu de 5V para 1V

Cada nova geração, reduziu cerca de 15%

Page 39: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Redução da Potência

Suponha que uma nova CPU tem

85% da carga capacitiva da CPU antiga

15% de redução da tensão e 15% da frequência

0.520.85FVC

0.85F0.85)(V0.85C

P

P 4

old

2

oldold

old2

oldold

old

new

O limite da potência

Não podemos mais reduzir a tensão

Não podemos remover mais calor

Como podemos melhorar o desempenho?

Novo processador usa metade da potência do antigo processador

Page 40: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Desempenho uniprocessador

Restringido pela potência, paralelismo a nível de instrução e latência de memória

Page 41: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Multiprocessadores

Microprocessadores de vários núcleos

Mais do que um processador por chip

Requer programação paralela explicitamente

Compare com paralelismo a nível de instrução

Hardware executa múltiplias instruções ao mesmo tempo

Escondido do programador

Difícil de fazer

Programação para desempenho

Balanceamento de carga

Otimizando comunicação e sincronização

Page 42: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

SPEC CPU Benchmark

Programas usados para medir desempenho Supostamente típico da carga de trabalho real

Standard Performance Evaluation Corp (SPEC) Desenvolve benchmarks para CPU, I/O, Web, …

SPEC CPU2006 Tempo decorrido para executar uma seleção de

programas Desprezível E/S, foco no desempenho da CPU

Normaliza em relação a máquina de referência: divide o T. execução da referência pelo medido (SPECratio)

Resume como média geométrica das taxas de desempenho

n

n

1iiexecução de tempo do Taxa

Page 43: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

CINT2006 for Opteron X4 2356

Name Description IC×109 CPI Tc (ns) Exec time Ref time SPECratio

perl Interpreted string processing 2,118 0.75 0.40 637 9,777 15.3

bzip2 Block-sorting compression 2,389 0.85 0.40 817 9,650 11.8

gcc GNU C Compiler 1,050 1.72 0.47 24 8,050 11.1

mcf Combinatorial optimization 336 10.00 0.40 1,345 9,120 6.8

go Go game (AI) 1,658 1.09 0.40 721 10,490 14.6

hmmer Search gene sequence 2,783 0.80 0.40 890 9,330 10.5

sjeng Chess game (AI) 2,176 0.96 0.48 37 12,100 14.5

libquantum Quantum computer simulation 1,623 1.61 0.40 1,047 20,720 19.8

h264avc Video compression 3,102 0.80 0.40 993 22,130 22.3

omnetpp Discrete event simulation 587 2.94 0.40 690 6,250 9.1

astar Games/path finding 1,082 1.79 0.40 773 7,020 9.1

xalancbmk XML parsing 1,058 2.70 0.40 1,143 6,900 6.0

Geometric mean 11.7

Altas taxas de falta de cache: indica que o dado solicitado não está disponível na memória física

Page 44: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

SPEC Power Benchmark

Consumo de potência do servidor em diferentes níveis de carga de trabalho

Desempenho: ssj_ops/sec

Potência: Watts (Joules/sec)

10

0ii

10

0ii powerssj_ops Wattper ssj_ops Overall

Considera a carga alvo de 0% à 100%

Page 45: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

SPECpower_ssj2008 para X4

Carga alvo % Desempenho (ssj_ops/sec) Potência Média (Watts)

100% 231,867 295

90% 211,282 286

80% 185,803 275

70% 163,427 265

60% 140,160 256

50% 118,324 246

40% 920,35 233

30% 70,500 222

20% 47,126 206

10% 23,066 180

0% 0 141

Montante global 1,283,590 2,605

∑ssj_ops/ ∑power 493

2.3 GHz AMD Opteron X4 com 16GB RAM e 500GB de disco

Page 46: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Armadilha: Lei de Amdahl

Melhorando o aspecto de um computador e esperando uma melhoria proporcional no desempenho global

2080

20

Timproved

n

n80100

80 Não pode ser feito!

afetado nãoafetado

melhorado Tmelhoria de fator

TT

Ex.: multiplicação leva 80s de um total de 100s

Quanto de melhoria no desempenho da multiplicação para conseguir 5× no global?

Corolário: torma o caso comum rápido

5x mais rápido

Page 47: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Falácia: Baixa Potência em Ocioso

Olhar de volta para o benchmark de potência X4

Em 100% de carga: 295W

Em 50% de carga: 246W (83%)

Em 10% de carga: 180W (61%)

Centro de dados do Google

Principalmente opera em 10% – 50% de carga

Em 100% de carga menos do que 1% do tempo

Considerar projeto de processadores para considerar a potência proporcional a carga

Page 48: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Armadilha: MIPS Como uma Métrica de Desempenho

MIPS: Millions of Instructions Per Second

Computadores mais rápidos têm maior taxa de MIPS

Não leva em consideração Diferença nos ISAs entre computadores

Diferenças em complexidades entre instruções

66

6

10CPI

Relógio de Taxa

10Relógio de Taxa

CPIInstrução de Contagem

Instrução de Contagem

10Execução de Tempo

Instrução de ContagemMIPS

CPI varia entre programas em uma dada CPU

Page 49: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Exercício

Considere as seguintes medidas de desempenho para um programa

a) Qual computador tem a maior taxa de MIPS?

b) Qual computador é mais rápido?

Medida Computador A Computador B

Contagem de instrução

10 bilhões 8 bilhões

Taxa de relógio 4 GHz 4 GHz

CPI 1.0 1.1

Page 50: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Solução

a) Qual computador tem a maior taxa de MIPS?

a) Qual computador é mais rápido?

3

6

9

6B

BB

3

6

9

6A

AA

10636.3101.1

104

10 CPI

Relógio de TaxaMIPS

104101

104

10 CPI

Relógio de TaxaMIPS

s

s

2104

1.1108

Relógio de Taxa

CPIInstrução de ContagemCPU Tempo

5.2104

0.11010

Relógio de Taxa

CPIInstrução de ContagemCPU Tempo

9

9

B

BBB

9

9

A

AAA

Page 51: Capítulo 1 - UFAM - Universidade Federal do Amazonashome.ufam.edu.br/lucascordeiro/asd/slides/1_abstracoes_computador... · Projeto genoma humano sequenciar um a um os genes que

Observações finais

Custo/desempenho está melhorando

Devido ao desenvolvimento da tecnologia subjacente

Camadas hierárquicas de abstração

Em hardware e software

Arquitetura do conjunto de instruções

A interface hardware/software

Tempo de execução: a melhor medida de desempenho

Potência é um fator limitante

Usar paralelismo para melhorar desempenho