Você está na página 1de 23

Performance Objetivo: como... Medir, relatar e sumarizar. Fazer escolhas inteligentes. Ter um bom julgamento em avaliaes de marketing.

ing. Entender relao entre performance e arquitetura. Medidas de performance: difcil. Impossvel de julgar pela anlise do conjunto de intrues. Diferente mtodos: diferente resultados. importante entender os critrios, para poder fazer escolhas inteligentes. Comparao entre mquinas: importante para: Compradores. Projetistas. Importncia para projetistas:

Saber se uma mquina mais rpida que a outra. Saber porque isto acontece (hardware, set de instrues, etc.). Fatores que influenciam performance: Quo bem o programa usa as instrues de mquina. Quo bem o hardware implementa as instrues. Quo bem os sistemas de I/O funcionam. Definindo performance Analogia com avies: qual avio tem a melhor performance?
Avio Capacid. Alcance Veloc. (mph) 610 610 1350 544 Fluxo de passag. pas.mpg 228.750 286.700 178.200 79.424

Boeing 777 Boeing 747 BAC/Sub Concorde Douglas DC-8-50

375 470 132 164

4630 4150 4000 8720

Critrios: velocidade, capacidade, etc.

Velocidade: Concorde o melhor. Capacidade: Boeing 777 o melhor. Alcance: o DC-8-50 o melhor. Exemplo de complicao: velocidade Um critrio: velocidade de fluxo de passageiros. At 132 passageiros, o Concorde o melhor, pois leva 132 passageiros a 1350 mph: 132 x 1350 = 132 x 1350 pass x mph = 178.200. Boeing 747 teria 132 passageiros a 610 mpa = 132 x 610 = 80.520. Entretanto, para 470 passageiros, o Boeing seria melhor: 470 x 610 = 286.700. Para um nmero alto de passageiros, o Boeing 747 tem a maior velocidade de fluxo de pessoas. Computadores: diferentes formas de se definir performance. Dois computadores rodando um progrma: qual deles roda o programa

mais rpido tempo de resposta (latncia). Dois computadores rodando vrios programas ao mesmo tempo: Fluxo (Throughput) Qual dos dois termina mais trabalhos em um dia? Neste captulo tempo de resposta. Performance: sempre usa um programa de teste. Quanto menor o tempo de resposta para determinado programa, melhor a performance. Definio: performance e tempo de execuo de uma mquina x, rodando determinado programa:
Performance x = 1 Tempo de Execuo x

Exemplo: um programa leva 20 ms em uma mquina x, e 20 ms em uma mquina y: Performancex=1/10m=100 Performancey=1/20m=50 Parmetro muito usado para comparao em 2 mquinas. Notar: se

Performance x > Performance y


1 1 = Tempo de Execuox Tempo de Execuo y

Tempo de Execuo Y > Tempo de Execuo Y


Comparao entre mquinas: Se x n vezes mais rpido que y:
Performance X =n Performance Y Performance X Tempo de Execuo Y = =n Performance Y Tempo de Execuo X

Exemplo: Mquina A roda um programa em 10 s. Mquina A roda um programa em 15 s. Questo: Quo A mais rpida que B. Resposta:
Performance X Tempo de Execuo Y 15 = = n = = 1,5 Performance Y Tempo de Execuo X 10

A 1,5 vezes mais rpido que B. B 1,5 vezes mais lento que B. Nomenclatura: Comparao: mais rpido que. Variao: Melhorar performance. Melhorar tempo de execuo. Ao invs de: Diminuir tempo de execuo. Aumentar performance.

2.2 Medida de Performance Principal medida: tempo. O computador que leva menos tempo o melhor. Medido em segundos por programa. Mas isto pode ter vrios sentidos. O mais comum: Tempo de reltio, tempo de resposta ou tempo decorrido. o tempo total, incluindo: acesso a disco, I/O, etc. Em computadores compartilhados: vrios programas Otimizao de fluxo total, e no de tempo decorrido. Uma opo tempo de CPU o tempo que a CPU trabalha em nosso programa. No inclui tempo de espera por I/O. Tempo de CPU Dividido em: Tempo de CPU para o usurio Tempo gasto no programa.

Tempo de CPU do sistema operacional Tempo gasto pelo Sist. Op. em apoio ao programa. Difcil de separar estes tempos. Nomenclatura: Performance de sistema: tempo decorrido. Performance de CPU: tempo de usurio da CPU. Neste captulo: performance da CPU. Clock (relgio): Usados em quase todos os computadores. Ciclos de clock, tics, perodos, etc. F=500MHz, T=2 ns. 2.3 Discusso das medidas
Tempo de CPU = no. de ciclos de clock durao do ciclo de clock

Ou

no. de ciclos de clock Tempo de CPU = freqncia de clock

Para melhorar: Reduzir perodo do clock. Reduzir nmero mdio de ciclos por instruo. Ser visto que muitas vezes... Reduo do perodo de clock aumento no no mdio de ciclos. Soluo de compromisso. Exemplo: Num programa de referncia: Mquina A: - 10 segundos - clock de 400 MHz. Quer-se projetar uma mquina B: Mquina B: - 6 segundos. Sabe-se que: possvel aumentar bastante o clock. Este aumento far que a mdia de ciclos por instruo de 1,2.

Qual ser o novo clock necessrio. SOLUO: usar a equao


Tempo de CPU = no. de ciclos de clock freqncia de clock

dica: resolver com ateno todos os exemplos (prova). OUTRA EQUAO DE MEDIDA Programa vrias instrues. Cada instruo n o de ciclos. CPI mdia de ciclos por instrtuo. Equao alternativa:
No de ciclos de clock da CPU = Instrues por programa CPI

EXEMPLO: 2 Mquinas... Mesmo conjunto de instrues. Mquina A: - clock: 1 ns. - CPI: 2.0 Mquina B: - clock: 1,2 ns. - CPI: 1,2.

Qual a mais rpida p/ este programa? Quo mais rpida? RESPOSTA: - Determinar tempo de execuo. - Usar equao da performance. OUTRA FORMULAO DE EQUAO DE PERMANCE:
no. de ciclos de clock = Tempo de CPU = freqncia de clock no. de ciclos de clock CPI = freqncia de clock

Vantagens: Explicita trs fatores chave. Permite o estudo do que afeta a performance. Como determinar estes 3 fatores: Clock: manual do fabricante.

CPI e no. de ciclos: em um determinado programa, usar... Simuladores. Contadores de hardware para contar: - instrues. - ciclos de clock. Dividir ciclos de clock/instruc. Para um mesmo conjunto de instrues, a CPI depende de: Implementao de hardware. Compilador. Tipos de instrues usadas. EQUAO ALTERNATIVA:
no. de ciclos = CPI i C i
i =1 n

onde: CPIi=CPI para instrues de cada classe. Ci=nmero de instrues de cada classe.

Exemplo: comparar 2 implementaes de uma instrues por um compilador. Um compilador implementa um trecho com trs tipos de instrues: Classe da Instruo A B C CPI 1 2 3

Foram realizadas duas implementaes: Seqncia 1 2 Nmero de instrues A B C 2 1 2 4 1 1

Qual a melhor seqnicia: Resposta: Em nmero de instrues: Seq1: 5 instrues, Seq2: 6 instrues.

Em nmero de ciclos: CPU1=2x1+1x2+2x3=10 ciclos. CPU2==4x1+1x2+1x3=9 ciclos. seqncia 2 mais rpida. 2.4 Escolha de programas para avaliar perfomance. Performance de vrios computadores: Comparao de cada um com um computador de referncia. Problema: Perform. depende do programa. Qual o melhor programa? Conjunto de programas tpicos que o usurio tem contato: Engenheiros. Programadores. Pblico em geral. Pode depender do usurio.

Programas de avaliao: benchmarks Melhor tipos de programas: aplicaes reais. Problemas: Algumas arquiteturas podem tentar melhorar desempenho nas benchmarks, sem melhorar o desempenho em geral. Benchmarks que passam muito tempo em um fragmento de cdigo so mais vulnerveis. Exemplo: SPEC suite, 1989: Matrix300. Referncia: VAX-11/780. Matrix300 foi abandonado na verso 1992. Melhor: programas reais. Entretanto: s vezes se usa programas pequenos, especialmente em comeo

de desenvolvimento, quando ainda no existem muitos programas.

Para reportar: reproducibilidade. Incluir todos os detalhes (mquina, compilador, programas, S.O., etc.). Exemplo:

2.5 COMPARANDO E SUMARIZANDO PERFORMANCE Definir um grupo de benchmarks. Decidir: tempo ou fluxo. Melhor: uma avaliao para cada. Mas: pessoas muitas vezes preferem uma mdia. Exemplo:

Uma forma: Comparao individual: Programa 1: B 10 vezes mais rpido que A. Programa 2: A 10 vezes mais rpido que B. Outra forma: Total:

Performance B Tempo A 1001 = = = 9,1 Performance A Tempo B 110


Outra forma: Mdia aritmtica do tempo de execuo:

1 n AM = Tempo1 n i =1

Outra opo: Mdia ponderada. 2.6 As Benchmarks SPEC95 aplicada a processadores recentes Conjunto de benchmarks mais popular: SPEC suite of benchmarks. SPEC: System Performance Evaluation Cooperative. Criadores: grupo de companhias. ltima verso: SPEC95. Mtodo: Comparao: SPARCstation 10/40. Divide tempo da SPARCstation pela performance do computador. 8 progamas inteiros, 10 de ponto flutuante. Desempenho de cada um reportado. Mdia usada: geomtrica. Grupo de programas:

Exemplo: Pentium e Pentium Pro:

Para mesma freqncia: SPECint95: Pentium Pro: 1.4 a 1.5 vezes mais rpido, para um mesmo clock. SPECfp95 Pentium Pro: 1.7 a 1.8 vezes mais rpido.

150 200: Maior ganho no Pentium Pro. 2.7 FALCIAS E PERIGOS PERIGO: Esperar que a melhoria de um aspecto de uma mquina aumente o desempenho da mquina de forma proporcional ao tamanho da melhoria. FALCIA: Mtricas independentes de hardware prediz performance. PERIGO: Usar MIPS como medida de performance.

Contagem de Instrues MIPS = Tempo de Execuo 106

Você também pode gostar