Baixe o app para aproveitar ainda mais
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
Compartilhar