Baixe o app para aproveitar ainda mais
Prévia do material em texto
EC01008 – Arquitetura e Organizac¸a˜o de Computadores Evoluc¸a˜o e desempenho do computador II Ronaldo de Freitas Zampolo FCT-ITEC-UFPA Agenda Agenda Balanc¸o de desempenho Avaliac¸a˜o de desempenho EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 2 / 19 Balanc¸o de desempenho Avaliac¸a˜o de desempenho Comparativo de velocidade Agenda Balanc¸o de desempenho Comparativo de velocidade Soluc¸o˜es Elementos a considerar no balanc¸o de desempenho Aumento de desempenho 1 Aumento de desempenho 2 Problemas Avaliac¸a˜o de desempenho EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 3 / 19 Soluc¸o˜es Agenda Balanc¸o de desempenho Comparativo de velocidade Soluc¸o˜es Elementos a considerar no balanc¸o de desempenho Aumento de desempenho 1 Aumento de desempenho 2 Problemas Avaliac¸a˜o de desempenho EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 4 / 19 ■ Aumentar nu´mero de bits recuperados de uma so´ vez: ◆ Tornar DRAM “mais larga” ao inve´s de “mais profunda” Soluc¸o˜es Agenda Balanc¸o de desempenho Comparativo de velocidade Soluc¸o˜es Elementos a considerar no balanc¸o de desempenho Aumento de desempenho 1 Aumento de desempenho 2 Problemas Avaliac¸a˜o de desempenho EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 4 / 19 ■ Aumentar nu´mero de bits recuperados de uma so´ vez: ◆ Tornar DRAM “mais larga” ao inve´s de “mais profunda” ■ Mudar interface da DRAM: ◆ Cache Soluc¸o˜es Agenda Balanc¸o de desempenho Comparativo de velocidade Soluc¸o˜es Elementos a considerar no balanc¸o de desempenho Aumento de desempenho 1 Aumento de desempenho 2 Problemas Avaliac¸a˜o de desempenho EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 4 / 19 ■ Aumentar nu´mero de bits recuperados de uma so´ vez: ◆ Tornar DRAM “mais larga” ao inve´s de “mais profunda” ■ Mudar interface da DRAM: ◆ Cache ■ Reduzir frequeˆncia de acesso a` memo´ria: ◆ Cache mais complexa e cache no chip Soluc¸o˜es Agenda Balanc¸o de desempenho Comparativo de velocidade Soluc¸o˜es Elementos a considerar no balanc¸o de desempenho Aumento de desempenho 1 Aumento de desempenho 2 Problemas Avaliac¸a˜o de desempenho EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 4 / 19 ■ Aumentar nu´mero de bits recuperados de uma so´ vez: ◆ Tornar DRAM “mais larga” ao inve´s de “mais profunda” ■ Mudar interface da DRAM: ◆ Cache ■ Reduzir frequeˆncia de acesso a` memo´ria: ◆ Cache mais complexa e cache no chip ■ Aumentar largura de banda de interconexa˜o: ◆ Barramentos de alta velocidade ◆ Hierarquia de barramentos Elementos a considerar no balanc¸o de desempenho Agenda Balanc¸o de desempenho Comparativo de velocidade Soluc¸o˜es Elementos a considerar no balanc¸o de desempenho Aumento de desempenho 1 Aumento de desempenho 2 Problemas Avaliac¸a˜o de desempenho EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 5 / 19 ■ Processador ■ Memo´ria principal ■ Dispositivos de E/S ■ Estrutura de interconexa˜o Aumento de desempenho 1 Agenda Balanc¸o de desempenho Comparativo de velocidade Soluc¸o˜es Elementos a considerar no balanc¸o de desempenho Aumento de desempenho 1 Aumento de desempenho 2 Problemas Avaliac¸a˜o de desempenho EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 6 / 19 Processadores ■ Aumentar velocidade de hardware do processador ◆ Encolhimento do tamanho das portas lo´gicas ■ Mais portas, mais pro´ximas, aumentando a taxa de clock ■ Reduc¸a˜o no tempo de propagac¸a˜o dos sinais ■ Aumentar tamanho e velocidade das caches ◆ Cache integrada no processador: tempos de acesso menores ■ Mudar organizac¸a˜o e arquitetura do processador ◆ Paralelismo. Aumento de desempenho 2 Agenda Balanc¸o de desempenho Comparativo de velocidade Soluc¸o˜es Elementos a considerar no balanc¸o de desempenho Aumento de desempenho 1 Aumento de desempenho 2 Problemas Avaliac¸a˜o de desempenho EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 7 / 19 Processadores ■ Lo´gica de execuc¸a˜o mais complexa: ◆ Permite execuc¸a˜o de instruc¸o˜es em paralelo ◆ Pipeline funciona como linha de montagem ■ Diferentes esta´gios de execuc¸a˜o de diferentes instruc¸o˜es ao mesmo tempo ao longo do pipeline ■ Superescalar permite mu´ltiplos pipelines dentro de um u´nico processador: ◆ Instruc¸o˜es que na˜o dependem uma da outra podem ser executadas em paralelo Problemas Agenda Balanc¸o de desempenho Comparativo de velocidade Soluc¸o˜es Elementos a considerar no balanc¸o de desempenho Aumento de desempenho 1 Aumento de desempenho 2 Problemas Avaliac¸a˜o de desempenho EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 8 / 19 ■ Aumento de densidade de integrac¸a˜o e frequeˆncia do clock ◆ Aumento de poteˆncia dissipada (aumento de custo, e aquecimento) ■ Estreitamento das trilhas condutoras: ◆ Aumento do atraso a` medida que o produto RC aumenta ◆ Trilhas mais estreitas, aumentam a resisteˆncia (R) ◆ Trilhas mais pro´ximas aumentam o efeito de acoplamento capacitivo (C) Alguns fatores importantes Agenda Balanc¸o de desempenho Avaliac¸a˜o de desempenho Alguns fatores importantes Velocidade de clock Me´tricas de desempenho 1 Me´tricas de desempenho 2 CPI e tipos de instruc¸o˜es taxas MIPS e MFLOPS Benchmarks 1 Benchmarks 2 Benchmark 3 Lei de Amdahl Lei de Amdahl generalizada EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 9 / 19 ■ Velocidade do processador ■ Conjunto de instruc¸o˜es da ma´quina ■ Escolha da linguagem de implementac¸a˜o ■ Eficieˆncia do compilador ■ Habilidade do programador Velocidade de clock Agenda Balanc¸o de desempenho Avaliac¸a˜o de desempenho Alguns fatores importantes Velocidade de clock Me´tricas de desempenho 1 Me´tricas de desempenho 2 CPI e tipos de instruc¸o˜es taxas MIPS e MFLOPS Benchmarks 1 Benchmarks 2 Benchmark 3 Lei de Amdahl Lei de Amdahl generalizada EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 10 / 19 ■ Por que o clock na˜o e´ tudo em termos de desempenho? ◆ Diferentes instruc¸o˜es exigem um nu´mero diferente de ciclos para serem executadas ◆ Ma´quinas com pipeline: va´rias instruc¸o˜es em execuc¸a˜o simultaneamente Me´tricas de desempenho 1 Agenda Balanc¸o de desempenho Avaliac¸a˜o de desempenho Alguns fatores importantes Velocidade de clock Me´tricas de desempenho 1 Me´tricas de desempenho 2 CPI e tipos de instruc¸o˜es taxas MIPS e MFLOPS Benchmarks 1 Benchmarks 2 Benchmark 3 Lei de Amdahl Lei de Amdahl generalizada EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 11 / 19 ■ Me´dia de ciclos por instruc¸a˜o (CPI): CPI = ∑n i=1CPIi × Ii Ic (1) ◆ i representa o tipo de instruc¸a˜o; ◆ Ii denota o nu´mero de instruc¸o˜es do tipo i; ◆ CPIi corresponde ao nu´mero de ciclos necessa´rios para executar uma instruc¸a˜o do tipo i; ◆ Ic e´ o nu´mero total de instruc¸o˜es de um determinado programa; ◆ n e´ o nu´mero total de tipos de instruc¸o˜es. Me´tricas de desempenho 2 Agenda Balanc¸o de desempenho Avaliac¸a˜o de desempenho Alguns fatores importantes Velocidade de clock Me´tricas de desempenho 1 Me´tricas de desempenho 2 CPI e tipos de instruc¸o˜es taxas MIPS e MFLOPS Benchmarks 1 Benchmarks 2 Benchmark 3 Lei de Amdahl Lei de Amdahl generalizada EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 12 / 19 ■ Tempo de execuc¸a˜o (T ): T = Ic × CPI × τ (2) onde τ = 1/fe´ o tempo de um per´ıodo do clock (f : frequeˆncia do clock). T = Ic × [p+ (m× k)]× τ (3) ◆ p nu´mero de ciclos para decodificar e executar um instruc¸a˜o me´dia; ◆ m nu´mero de refereˆncias a` memo´ria necessa´rio; ◆ k raza˜o entre o tempo de ciclo da memo´ria e o tempo de ciclo do processador; CPI e tipos de instruc¸o˜es Agenda Balanc¸o de desempenho Avaliac¸a˜o de desempenho Alguns fatores importantes Velocidade de clock Me´tricas de desempenho 1 Me´tricas de desempenho 2 CPI e tipos de instruc¸o˜es taxas MIPS e MFLOPS Benchmarks 1 Benchmarks 2 Benchmark 3 Lei de Amdahl Lei de Amdahl generalizada EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 13 / 19 taxas MIPS e MFLOPS Agenda Balanc¸o de desempenho Avaliac¸a˜o de desempenho Alguns fatores importantes Velocidade de clock Me´tricas de desempenho 1 Me´tricas de desempenho 2 CPI e tipos de instruc¸o˜es taxas MIPS e MFLOPS Benchmarks 1 Benchmarks 2 Benchmark 3 Lei de Amdahl Lei de Amdahl generalizada EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 14 / 19 ■ MIPS (milho˜es de instruc¸o˜es por segundo) MIPS = Ic T×106 = f CPI×106 ■ MFLOPS (milho˜es de operac¸o˜es de ponto flutuante por segundo) MFLOPS = nu´mero de operac¸o˜es de ponto flutuante T×106 Benchmarks 1 Agenda Balanc¸o de desempenho Avaliac¸a˜o de desempenho Alguns fatores importantes Velocidade de clock Me´tricas de desempenho 1 Me´tricas de desempenho 2 CPI e tipos de instruc¸o˜es taxas MIPS e MFLOPS Benchmarks 1 Benchmarks 2 Benchmark 3 Lei de Amdahl Lei de Amdahl generalizada EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 15 / 19 Mesmo as taxas MIPS e MFLOPS podem ser inadequadas: ■ Ex.: Executar A=B+C ◆ Ma´quina CISC (1 MIPS) add mem(B), mem(C), mem(A) ◆ Ma´quina RISC (4 MIPS) load mem(B), reg(1); load mem(C), reg(2); add reg(1), reg(2), reg(3); store reg(3), mem(A) Benchmarks 2 Agenda Balanc¸o de desempenho Avaliac¸a˜o de desempenho Alguns fatores importantes Velocidade de clock Me´tricas de desempenho 1 Me´tricas de desempenho 2 CPI e tipos de instruc¸o˜es taxas MIPS e MFLOPS Benchmarks 1 Benchmarks 2 Benchmark 3 Lei de Amdahl Lei de Amdahl generalizada EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 16 / 19 ■ Benchmark: ◆ programas elaborados para testar o desempenho. ◆ Escritos em linguagem de alto n´ıvel. ◆ Porta´veis. ■ Exemplo: System Performance Evaluation Corporation – SPEC CPU2006 ◆ Desempenho em aplicac¸o˜es que gastam a maior parte do tempo na realizac¸a˜o de ca´lculos ◆ 17 programas de ponto flutuante em C, C++, Fortran. ◆ 12 programas de inteiros em C, C++. ◆ 3 milho˜es de linhas de co´digo. Benchmark 3 Agenda Balanc¸o de desempenho Avaliac¸a˜o de desempenho Alguns fatores importantes Velocidade de clock Me´tricas de desempenho 1 Me´tricas de desempenho 2 CPI e tipos de instruc¸o˜es taxas MIPS e MFLOPS Benchmarks 1 Benchmarks 2 Benchmark 3 Lei de Amdahl Lei de Amdahl generalizada EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 17 / 19 ■ Outros pacotes: ◆ SPECjvm98: desempenho de hardware e software da plataforma cliente JVM ◆ SPECjbb2000: desempenho de aplicac¸o˜es de come´rcio eletroˆnico baseadas em Java (lado servidor) ◆ SPECweb99: desempenho de servidores WWW ◆ SPECmail2001: desempenho de servidores de email Lei de Amdahl Agenda Balanc¸o de desempenho Avaliac¸a˜o de desempenho Alguns fatores importantes Velocidade de clock Me´tricas de desempenho 1 Me´tricas de desempenho 2 CPI e tipos de instruc¸o˜es taxas MIPS e MFLOPS Benchmarks 1 Benchmarks 2 Benchmark 3 Lei de Amdahl Lei de Amdahl generalizada EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 18 / 19 ■ Caracteriza o speedup de um programa usando mu´ltiplos processadores em comparac¸a˜o com um u´nico processador: Speedup = tempo de execuc¸a˜o com um u´nico processador tempo de execuc¸a˜o com N processadores paralelos = T (1− f) + Tf T (1− f) + Tf N = 1 (1− f) + f N onde f corresponde a` frac¸a˜o paraleliza´vel. Lei de Amdahl generalizada Agenda Balanc¸o de desempenho Avaliac¸a˜o de desempenho Alguns fatores importantes Velocidade de clock Me´tricas de desempenho 1 Me´tricas de desempenho 2 CPI e tipos de instruc¸o˜es taxas MIPS e MFLOPS Benchmarks 1 Benchmarks 2 Benchmark 3 Lei de Amdahl Lei de Amdahl generalizada EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 19 / 19 ■ Caracteriza o speedup de um programa otimizado por qualquer processo: Speedup = tempo de execuc¸a˜o antes da melhoria tempo de execuc¸a˜o apo´s a melhoria = desempenho apo´s a melhoria desempenho antes da melhoria = 1 (1− f) + f SUf onde SUf corresponde ao speedup da frac¸a˜o otimizada. Agenda Balanço de desempenho Comparativo de velocidade Soluções Elementos a considerar no balanço de desempenho Aumento de desempenho 1 Aumento de desempenho 2 Problemas Avaliação de desempenho Alguns fatores importantes Velocidade de clock Métricas de desempenho 1 Métricas de desempenho 2 CPI e tipos de instruções taxas MIPS e MFLOPS Benchmarks 1 Benchmarks 2 Benchmark 3 Lei de Amdahl Lei de Amdahl generalizada
Compartilhar