avaliação de desempenho - puc-rionoemi/pcp-10/aula7-desempenho.pdfhist oricas x sint eticas n vel...

24
Avalia¸c˜ ao de Desempenho September 28, 2010 Avalia¸c˜ ao de Desempenho

Upload: others

Post on 31-Dec-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Avaliacao de Desempenho

September 28, 2010

Avaliacao de Desempenho

Page 2: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

O que e desempenho?

em primeiro lugar, uma otima traducao para performance...:-)

tempo de execucao (o centro das atencoes!)

outras: projeto, ciclo de vida, manutencao, ...

mesmo outras medidas de execucao podem ser importantes:

utilizacao de memoriathroughputuso da rede

Avaliacao de Desempenho

Page 3: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Como estudar desempenho?

lei de Amdahl

se programa tem fracao 1/s inerentemente sequencial, a maioraceleracao que conseguiremos e de srelevante quando se paraleliza programas ja existentes

extrapolacao a partir de observacoes

“implementamos o algoritmo na maquina X e obtivemos umaaceleracao de 10.8 em 10 processadores”

Avaliacao de Desempenho

Page 4: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Como estudar desempenho? (cont)

analise assintotica

analise mostra que o tempo sera O(n log n)

mas o que esta acontecendo nos casos que realmente nosinteressam?

Avaliacao de Desempenho

Page 5: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Como estudar desempenho? (cont)

modelos de desempenho

experimentos

simulacao

Avaliacao de Desempenho

Page 6: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Modelos de desempenho

objetivo: explicar dados observados e prever comportamentoem circunstancias futuras

necessidade de abstrair detalhes menos importantes

previsao do tempo de execucao:

T = f (N,P,U, ...)

N: tamanho do problemaP: numero de processadoresU: numero de tarefas... outras caracterısticas

Avaliacao de Desempenho

Page 7: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Definicoes

tempo de execucao: tempo decorrido do momento em que oprimeiro processador comeca a executar uma tarefa daaplicacao ate o momento em que o ultimo processador parade executa.

podemos olhar o tempo em cada processador:

T = T jcomp + T j

comm + T jidle

ou o tempo total:

T = (Tcomp + Tcomm + Tidle)/P

Avaliacao de Desempenho

Page 8: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Reduzindo complexidade

desenvolver uma expressao matematica para descrever T euma tarefa complexa...

maquina ideal

sem preocupacao com topologia da rede, hierarquia dememoria, etc

analise em escala

tentativa de identificar fatores insignificantes

analise empırica

calibragem de modelo com experimentos

Avaliacao de Desempenho

Page 9: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Tempo de computacao

especificacoes: flops (numero de operacoes de ponto flutuantepor segundo)[wikipedia] As of 2010, the fastest PC processors six-core has a

theoretical peak performance of 107.55 GFLOPS (Intel Core i7 980

XE) in double precision calculations. GPUs are considerably more

powerful, for example, Nvidia Tesla C1060 GPU computing card

performs around 933 GFLOPS in single precision calculations while

AMD’s HemlockXT 5970 reaches 4.64 TFLOPS. ...

possibilidade de medir partes em programa sequencial

implementacao de kernels para medidas

cuidados com alteracoes devidas a memoria, etc

Avaliacao de Desempenho

Page 10: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Tempo de comunicacao

diferenca intra e inter-processador

tempo idealizado:

Tmsg = tstartup + ttwordL

experimentos especıficos podem determinar esses tempos

Avaliacao de Desempenho

Page 11: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

eficiencia e aceleracao

aceleracao (speedup) – ganho com P processadores

Arelativa = T1TP

eficiencia (efficiency) – utilizacao de cada processador

Erelativa = T1PTP

aceleracao e eficiencia absolutas

tempo do melhor algoritmos sequencial

Avaliacao de Desempenho

Page 12: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Anomalias em aceleracao

aceleracao anomala ou super linear

motivos:

cache, memoria virtualirregularidade das estruturas do problema

Avaliacao de Desempenho

Page 13: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Escalabilidade

algoritmo pode ser adaptado?

como reage a crescimento de N?

como reage a crescimento de P?

como reage a alteracoes em tstartup e ttword?

Avaliacao de Desempenho

Page 14: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Escalabilidade com N fixo

qual o maior numero de processadores que podem ser usadosprodutivamente?

Avaliacao de Desempenho

Page 15: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Escalabilidade com N crescendo

qual o maior numero de processadores que podem ser usadosprodutivamente?

conceito de isoeficiencia:

como a quantidade de computacao tem que crescer, quando Pcresce, para manter a eficiencia constante?

Erelativa = T1

PTP= T1

Tcomp+Tcomm+Tidle

⇒ T1 = E (Tcomp + Tcomm + Tidle)

Avaliacao de Desempenho

Page 16: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Estudo experimental

abordagem iterativa1 experimentos para encontrar parametros (tstartup, etc)2 analise teorica3 implementacao4 experimentos para confimar previsoes de analise

Avaliacao de Desempenho

Page 17: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Projeto de experimentos

area com suas proprias questoes e literatura

twelve ways to fool the masses when giving performanceresults on parallel computers (David Bailey)

levantamento do que queremos obter...

reproducao de experimentos ja realizados por outros grupos

Avaliacao de Desempenho

Page 18: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Projeto sistematico de experimentos

definicao precisa de objetivos (fronteiras)

selecao de metricas

enumeracao de parametros que afetam o desempenho

todos os parametros que podem afetar o desempenho

selecao de fatores para estudo

selecao de carga de trabalho

selecao de metricas

projetos dos experimentos

analise e interpretacao de resultados

Avaliacao de Desempenho

Page 19: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Metricas

velocidade

tempo de respostathroughputrecursos consumidos

confiabilidade

tempo entre falhas

disponibilidade

fracao do tempo em que sistema esta disponıvel

outros que nao sabemos como medir...

usabilidadeflexibilidade...

Avaliacao de Desempenho

Page 20: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Cargas de Trabalho

historicas X sinteticas

nıvel (aplicacao, sistema operacional, CPU)

representatividade (relacao da carga sintetica com a cargareal...)

taxa de chegada de pedidosdemanda de recursosperfil de utilizacao

Avaliacao de Desempenho

Page 21: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Erros comuns em analise de desempenho

objetivos preconceituosos

abordagem nao sistematica

nıvel de detalhe inadequado

parametros importantes ignorados

cargas nao representativas

...

Avaliacao de Desempenho

Page 22: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

experimentos – dificuldades

algoritmos nao determinısticos

precisao do timer

loops de repeticao e medias

custos de inicializacao e terminacao

interferencia de outros programas

interferencia entre experimentos

executar em diferentes ordens pode explicitar interferencia

alocacao de recursos aleatoria

Avaliacao de Desempenho

Page 23: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Avaliacao – motivos para surpresas

desbalanceamentos de carga

computacao replicada

algoritmo e ferramenta que nao combinam

competicao por banda passante

Avaliacao de Desempenho

Page 24: Avaliação de Desempenho - PUC-Rionoemi/pcp-10/aula7-desempenho.pdfhist oricas X sint eticas n vel (aplica˘c~ao, sistema operacional, CPU) representatividade (rela˘c~ao da carga

Referencias

Foster (DBPP): capıtulo 3 (ler)

David Bailey. Twelve ways to fool the masses when givingperformance results on parallel computers. SupercomputingReview, Aug. 1991, pg. 54–55.

R. Jain. The Art of Computer Systems Performance Analysis.Wiley, 1991.

Avaliacao de Desempenho