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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Balanc¸o de desempenho 3 Comparativo de velocidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Soluc¸o˜es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Elementos a considerar no balanc¸o de desempenho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Aumento de desempenho 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Aumento de desempenho 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Avaliac¸a˜o de desempenho 9 Alguns fatores importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Velocidade de clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Me´tricas de desempenho 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Me´tricas de desempenho 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 CPI e tipos de instruc¸o˜es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 taxas MIPS e MFLOPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Benchmarks 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Benchmarks 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Benchmark 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Lei de Amdahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Lei de Amdahl generalizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1 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 3 / 19 Comparativo de velocidade EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 3 / 19 2 Soluc¸o˜es ■ 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 EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 4 / 19 Elementos a considerar no balanc¸o de desempenho ■ Processador ■ Memo´ria principal ■ Dispositivos de E/S ■ Estrutura de interconexa˜o EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 5 / 19 3 Aumento de desempenho 1 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. EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 6 / 19 Aumento de desempenho 2 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 EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 7 / 19 4 Problemas ■ 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) EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 8 / 19 Avaliac¸a˜o de desempenho 9 / 19 Alguns fatores importantes ■ 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 EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 9 / 19 5 Velocidade de clock ■ 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 EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 10 / 19 Me´tricas de desempenho 1 ■ 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. EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 11 / 19 6 Me´tricas de desempenho 2 ■ Tempo de execuc¸a˜o (T ): T = Ic × CPI × τ (2) onde τ = 1/f e´ 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; EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 12 / 19 CPI e tipos de instruc¸o˜es EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 13 / 19 7 taxas MIPS e MFLOPS ■ 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 EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 14 / 19 Benchmarks 1 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) EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 15 / 19 8 Benchmarks 2 ■ 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. EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 16 / 19 Benchmark 3 ■ 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: desempenhode servidores WWW ◆ SPECmail2001: desempenho de servidores de email EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 17 / 19 9 Lei de Amdahl ■ 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. EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 18 / 19 Lei de Amdahl generalizada ■ 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. EC01008 AOC Evoluc¸a˜o e desempenho do computador II – 19 / 19 10 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