Buscar

Desempenho e Barreira da Potência em Computadores

Prévia do material em texto

Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Organização de Computadores
Marcelo Lobosco
Universidade Federal de Juiz de Fora
Aula 04 - Abstrações e Tecnologias Computacionais
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Desempenho
A barreira da potência
Mudança de mares
Vida real
Falácias e Armadilhas
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Exercício
I Um projetista de compilador está tentando decidir entre duas
sequê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 sequência
de código possui 5 instruções: 2 de A, 1 de B e 2 de C. A
segunda sequência possui 6 instruções: 4 de A, 1 de B e 1 de
C.
I Que sequência executa mais instruções?
I Qual será mais rápida?
I Qual é o CPI para cada sequência?
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Exercício
I Que sequência executa mais instruções?
I Sequência 1: 2 + 1 + 2 = 5 instruções
I Sequência 2: 4 + 1 + 1 = 6 instruções
I Qual será mais rápida?
Ciclos de clock da CPU =
n∑
i=1
(CPIi × Ci) (1)
I Ciclos de Clock da CPU1 = (2 × 1) + (1 × 2) + (2 × 3) = 10
ciclos
I Ciclos de Clock da CPU2 = (4 × 1) + (1 × 2) + (1 × 3) = 9
ciclos
I Qual é o CPI para cada sequência?
I Ciclos de clock da CPU = Instruções para um programa × CPI
I CPI1 = 10/5 = 2
I CPI2 = 9/6 = 1, 5
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
A barreira da potência
I Durante décadas, frequência de clock e potência no
processador cresceram rapidamente
I Potência: energia por tempo
I Recentemente, mantêm-se estáveis, devido a limitações
práticas impostas pela potência
I Ambas estão correlacionadas
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
A barreira da potência
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
A barreira da potência
I Consumo primário de energia em um processador com
tecnologia CMOS decorre da comutação dos transistores
I Chamado de energia dinâmica
I Potência = Carga capacitativa × Voltagem2× Frequência de
comutação dos transistores
I Frequência de comutação dos transistores é uma função da
frequência de clock
I Carga capacitativa é uma função da tecnologia e número de
transistores conectados a uma saída (fanout)
I Voltagem sendo reduzida, em média, 15% entre gerações:
passou de 5V para 1V
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
A barreira da potência
I 40% do consumo decorrentes de perdas de energia
I Para tentar endereçar o problema da potência, projetistas
tentaram empregar grandes dissipadores e desligar partes não
usadas dos processadores
I Existem outras técnicas que poderiam ser empregadas, mas
são custosas para emprego em desktops.
I Saída para a barreira imposta pela potência: emprego de
múltiplos processadores
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
De Uniprocessadores para Multiprocessadores
I Ao invés de continuar a reduzir o tempo de resposta de um
único programa executando em um uniprocessador, fabricantes
optaram por aumentar o número de processadores por chip
I Abordagem beneficia mais vazão do que o tempo de resposta
I A não ser que programador escreva aplicações paralelas
I Termo core (ou núcleo) usado para se referir a cada
processador
I Logo máquina “quadcore” possui quatro processadores no chip
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
De Uniprocessadores para Multiprocessadores
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Fabricação do AMD Opteron X4
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Fabricação do AMD Opteron X4
I Fabricação começa com o silício, encontrado na areia
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Fabricação do AMD Opteron X4
I Silício não é um bom condutor de eletricidade (semicondutor)
I Processo químico permite que minúsculas áreas se
transformem em um entre três dispositivos:
I Excelentes condutores de eletricidade
I Usando fios microscópicos de cobre ou alumínio
I Excelentes isolantes de eletricidade
I Áreas que podem conduzir ou isolar sob condições especiais
I Transistor
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Fabricação do AMD Opteron X4
I Silício fundido com arsênio, bóro, fósforo e antimônio para
formar um lingote de cristal de silício
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Fabricação do AMD Opteron X4
I Lingote é uma barra de cristal de silício de 15 a 30 cm de
diâmetro e de 30 a 60 cm de comprimento
I Fatiados em wafers de 0,25cm de espessura
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Fabricação do AMD Opteron X4
I Wafers são polidos quimica e mecanicamente para produzir
uma superfície muito lisa, semelhante a um espelho
I Na sequência, são aquecidos para ajudar a remover qualquer
defeito
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Fabricação do AMD Opteron X4
I Wafers são então inspecionados com lasers para encontrar
qualquer defeito na superfície
I Em seguida, passam por uma série de etapas de
processamento (20 a 40), durante o qual são depositados os
padrões de elementos químicos, criando transistores,
condutores ou isolantes
I Wafers passam por testadores em busca de imperfeições
microscópicas
I Defeitos tornam praticamente impossível fabricar um wafer
perfeito
I Para lidar com defeitos, muitos componentes independentes
são colocados no mesmo wafer
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Fabricação do AMD Opteron X4
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Fabricação do AMD Opteron X4
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Fabricação do AMD Opteron X4
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Fabricação do AMD Opteron X4
I Wafer é cortado em seções individuais desses componentes
I Dies ou chipsI Corte em seções permite descartar apenas dies com falhas
I Maior aproveitamento
I Custo do circuito integrado sobe conforme aumenta o
tamanho do die
I Aproveitamento mais baixo e menor número de dies que
cabem em um wafer
I Dies bons são soldados aos pinos de entrada e saída de um
encapsulamento
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Fabricação do AMD Opteron X4
I Peças testadas uma última vez, já que podem ocorrer erros no
encapsulamento
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Desempenho do AMD Opteron X4
I Usuário que sempre executa o mesmo conjunto de programas
seria um bom candidato para avaliar um novo computador
I Conjunto de programas executados formaria o workload
I Para avaliar dois sistemas computacionais, basta executar o
mesmo workload em ambos
I Nem todos os usuários podem avaliar sistemas computacionais
deste modo
I Confiam em resultados de benchmarks
I Conjunto de programas escolhidos para comparar o
desempenho de computadores
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Desempenho do AMD Opteron X4
I SPEC (System Performance Evaluation Cooperative)
I Empresas concordaram sobre um conjunto de programas e
entradas reais
I Valioso indicador do desempenho (e da tecnologia do
compilador)
I 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.
I Mais recente: SPEC CPU2006
I Formado por 12 aplicações que usam tipos de dados inteiros
(CINT2006) e 17 que usam tipos de dado ponto-flutuante
(CFP2006)
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Desempenho do AMD Opteron X4
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Falácias e Armadilhas
I Falácias: conceitos errôneos comuns
I Armadilhas: erros facilmente cometidos
I Geralmente generalizações de princípios verdadeiros em um
contexto restrito
I Armadilha 1: Esperar que a melhoria de um aspecto de um
computador leve à um aumento de desempenho em
quantidade proporcional ao tamanho desta melhoria
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Exemplo
I 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?
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Exemplo
I Lei de Amdahl
Tempo de execução após melhoria =
Tempo de execução afetado pela melhoria
Quantidade de melhoria +
Tempo de execução não afetado (2)
I No caso do exemplo, temos:
Tempo de execução após melhoria = 80n + (100 − 80)
I Como queremos que o tempo melhore 5 vezes, o novo tempo
de execução deve ser de 20s
I Conclusão: A melhoria de desempenho possível é limitada
pela quantidade em que o recurso aprimorado é usado
I Torne o caso comum rápido
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Falácias e Armadilhas
I Armadilha 2: Usar um subconjunto da equação de
desempenho como uma métrica de desempenho
I MIPS (Milhões de instruções por segundo)
MIPS = Contador de InstruçõesTempo de Execução × 106 (3)
I Problemas com MIPS:
I Não leva em conta o tipo das instruções
I Computadores com diferentes conjuntos de instruções terão
contagens de instruções diferentes
I MIPS pode variar inversamente com o desempenho
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Exemplo
I 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 sequência de código será executada mais
rápido de acordo com o MIPS? E de acordo com o tempo de
execução?
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Exemplo
I Primeiro encontramos o tempo de execução para cada
compilador usando:
Tempo de Execução = Ciclos de clock da CPUVelocidade de clock
Ciclos de clock da CPU =
n∑
i=1
(CPIi × Ci)
Ciclos de clock da CPU1 = (5×1+1×2+1×3)×109 = 10×109
Ciclos de clock da CPU2 = (10×1+1×2+1×3)×109 = 15×109
Tempo de Execução1 =
10 × 109
4 × 109 = 2, 5s
Tempo de Execução2 =
15 × 109
4 × 109 = 3, 75s
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Exemplo
I Pelo tempo de computação, compilador 1 gera o código mais
rápido.
I Vamos agora ver o que o MIPS nos diz:
MIPS = Contador de InstruçõesTempo de Execução × 106
MIPS1 =
(5 + 1 + 1) × 109
2, 5 × 106 = 2800
MIPS2 =
(10 + 1 + 1) × 109
3, 75 × 106 = 3200
I Compilador 2 possui MIPS mais alto, porém código do
compilador 1 é executado mais rápido
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho A barreira da potência Mudança de mares Vida real Falácias e Armadilhas
Próxima aula...
I Instruções: a Linguagem de Máquina
I Introdução
I Operações/Operandos do Hardware do Computador
I Representando Instruções no Computador
I Operações Lógicas
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
	Desempenho
	A barreira da potência
	Mudança de mares
	Vida real
	Falácias e Armadilhas

Continue navegando