Arquitectura de Computadores II 2004/2005 2. Aspectos sobre Desempenho Paulo Marques Departamento de Eng. Informática Universidade de Coimbra [email protected] Qual dos seguintes aviões é o mais rápido? Avião Autonomia Velocidade Lotação (Passageiros) (Km/h) (Km) Throughput (Passageiros x Km/h) Boeing 777 375 7,408 976 366,000 Boeing 747 470 6,640 976 458,720 Concorde 132 6,400 2,160 285,120 Douglas DC8 146 13,952 870 127,020 O conceito de “performance” depende directamente da métrica que estamos interessados em medir! 2 As Medidas Fundamentais Throughput: Número de trabalhos completados por unidade de tempo Tempo de Execução: Tempo que cada trabalho demora a executar ...Tempo de Resposta/Latência 3 Produtividade vs. Tempo de Resposta 4 Performance A máquina X é n vezes mais rápida do que a máquina Y Tem poY n Tem poX A máquina X é p% mais rápida do que a máquina Y Tem poY (1 100 ) Tem poX p O throughtput da máquina X é k vezes superior ao da máquina Y No mesmo intervalo de tempo, X executa k vezes mais tarefas mais do que Y Tarefas X k Tempo X Tarefas Y Tempo Y 5 Avaliação de Performance A única forma fidedigna de avaliar a performance de um sistema é medindo o tempo que o sistema demora a executar aplicações reais 6 Benchmarks Aplicações Reais Aplicações Reais modificadas (scripted) Kernels Toy Benchmarks Benchmark sintéticos Os resultados têm de ser reproduzíveis! 7 Desktop PC Benchmarks Business Winstone CC Winstone Multimedia Content Creation Photoshop, Premiere, Navigator, Audio-Editing Workload Winbench Home/Business User Netscape, Office, Corel, Wordperfect Kernel-based CPU Performance + Video Performance + Disk Performance SPEC (SPEC92, SPEC95, SPEC2000) CPU-oriented Integer (CINT2000) / Floating Point (CFP2000) 8 Server Benchmarks SPECRate SPECWeb / SPECNFS TPC-C TPC-H ... 9 Top processors on SPEC2000 (July/04) CPU INTEGER PERFORMANCE 1800 1600 1400 CPUINT2000 1200 1000 800 600 400 200 0 Intel Pentium4 HT 3.4GHz ExtremeEdition (Mar/04) AMD Opteron150 2.4GHz (May/04) Intel Xeon 3.2GHz Fujitsu SPARC64V (Feb/04) 1.9GHz (Jun/04) Itanium2 1.5GHz (Dec/03) IBM POWER4+ 1.9GHz (May/04) Alpha 21264C 1.2GHz (Nov/02) PowerMac G5 2.0GHz (Dec/03)*** 10 Top processors on SPEC2000 (July/04) CPU FLOATING POINT PERFORMANCE 2500 CFP2000 2000 1500 1000 500 0 HP / Itanium2 1.5GHz (Feb/04) Fujitsu SPARC64V 1.9GHz (Jun/04) IBM POWER4+ AMD Opteron248 1.7GHz (May/04) 2.2GHz (May/04) Pentium4 HT 3.4GHz ExtremeEdition (Mar/04) Alpha21364 AMD AthlonFX-51 1.2GHz (May/03) 2.2GHz (Sep/03) Xeon 3.2GHz (Apr/04) 11 Deve-se poder modificar o código dos benchmarks? No source code modifications Source code modifications are allowed but almost impossible to do... Source code modifications are allowed Deve Reflectir a Prática Corrente do Ambiente Alvo 12 E tendo a workload correcta? Máquina A Máquina B Programa P1 (segundos) 1 10 Programa P2 (segundos) 1000 100 Tempo Total (segundos) 1001 110 Problema de quantificar a utilização de P1 e P2 Problema da normalização relativamente a uma máquina 13 O caso do MIPS MIPS = Millions of Instructions Per Second Dependente da arquitectura da máquina Dependente do próprio programa que é utilizado Que tipo de instruções? Podem ocorrer “inversões de performance” 14 Lei de Amdahl Um computador passa 3/4 do tempo a fazer cálculos e 1/4 do tempo a ler e a escrever do disco. Qual o upgrade a fazer? Um CPU 2x mais rápido Um disco 1000x mais rápido E se for um CPU 1000x mais rápido? 15 Speedup & Lei Amdahl TOLD Speedup TNEW TOLD Speedup TNÃO _ OPT TOPT Caso óptimo: 0 SpeedupMáximo TOLD TNÃO _ OPT Gravíssimo 16 Problema com a Lei de Amdahl Temos uma tarefa que demora T segundos a executar. A fim de melhorar o sistema, N processadores são colocados a executar a tarefa em paralelo. 17 Problema com a Lei de Amdahl (2) O speedup depende intrinsecamente da parte que não pode ser optimizada!!! T 1 speedup(n, p) T (1 p ) (1 p ) T p n p n n: número de processadores p: percentagem que não pode ser optimizada (paralelizada) T: tempo que demora correr o código num processador 18 Bad News!!! Speedup vs. Percentage of Non-Parallel Code 30 0% 25 Linear Speedup Speedup 20 15 5% 10 10% 20% 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Number of Processors 19 Speedup Máximo SpeedupMáximo TOLD TNÃO _ OPT TOLD 1 0 TOLD p p p: percentagem do sistema que não é optimizável Fracção Não Optimizável Speedup Máximo 0% 5% 20 10% 10 20% 5 25% 4 20 Lei de Gustafson-Barsis Por vezes, podemos não conseguir executar uma tarefa em particular mais rapidamente, mas podemos conseguir executar muitas delas ao mesmo tempo... “9 women cannot have a baby in 1 month, but they can have 9 babies in 9 months” e.g. “Problemas Grande Desafios”, “web serving”, etc. 21 Material para ler Computer Architecture: A Quantitative Approach Secções 1.5 e 1.6, Excepto: Normalized Execution Time/Geometric Means CPU Performance Equation (já data anteriormente) Recomendado: 1.9 (Fallacies and Pitfalls) Ver a discussão sobre MIPS 22