Você está na página 1de 54



   
        

       

|  

| 

|      


  

Marcos José Santana


Regina Helena Carlucci Santana
 
1. Planejamento de Experimentos

2. Análise de Resultados

3. Técnicas para Avaliação de Desempenho


ƛ Visão Geral das Técnicas para Avaliação de
Desempenho
ƛ Técnicas de Aferição: Protótipos, Benchmarks
e Monitores
ƛ Técnicas de Modelagem: Solução Analítica e
por Simulação
Ñ   |  



| 

Aferição Modelagem

Protótipos Rede de Filas

Ô  Redes de Petri

Coleta de Dados Statecharts


   
 6 
       
    
    
 
        
 
 
   
 !         
     
        
     
   
   
!" 
! #  
   

!" 

| |   |
|
1,00m ± 1,50m Maré alta
1,60m - 1,70m Observação
1,80m Atenção
    Ñ = 36,5O


! # 
Ñ = 38O
Ô  m  

ÿ 
Ñ   | 
 Ô 

         


 $       
   
   % 
         
       
  
  
` ordagem muito utilizada para a avaliação de
desempenho por aferição
` onto de referência que serve para fazer medições
e comparações
` so:
‡ Comparar desempenho de máquinas diferentes
‡ Reprojetar hardware e software
‡ Decidir sore aquisição de sistemas
‡ judar na otimização de programas
‡ revisão de desempenho de aplicações em
computadores específicos
  
‡ ermitem avaliar o sistema como um todo,
incluindo aspectos relacionados com:
` rquitetura do sistema
` ficiência do compilador
` Sorecarga do sistema operacional
` Sorecarga de comunicação
` dentificam pontos fortes e fracos de um sistema
em particular ou de aplicações
  

    M 


` deal -> aplicação do usuário
` O ideal pode ser inviável quando os sistemas são de
propósito geral
` tilização de enchmarks
‡ representativos de alguma categoria
‡ rograma que possa ser avaliado facilmente
‡ rograma que possua larga distriuição
  
l      Ô 

l programa escrito em linguagem de alto nível;


l representativo de alguma categoria de programação;
l programa que possa ser avaliado facilmente;
l programa que possua larga distribuição.
  

‡ Divididos em:
` Ô  componente;
` Ô  sistema;
` Ô  aplicação ` utiliza programas
representativos
` Ô  sintético - imitam amientes de
execução de programas reais. Geram dados
estatísticos
  

‡ Classificação quanto a arquitetura:


` seqüenciais;
` paralelas;
‡ Comitê arkenck (arallel Kernels and
Benchmarks)
  

!  "  

` avaliar sistemas computacionais diferentes;


` avaliar o desempenho mínimo;
` tarefas genéricas ou específicas.
ß   |  !"#  
‡ Ñrês grandes áreas:
` projeto
‡ não aplicável
` avaliação
‡ aplicável, porém insuficiente
` seleção
‡ técnica ideal
   

$ %&   '
ö omum aos outros casos:
ƛ Tempo de resposta,
ƛ Utilização,
ƛ Throughput,
ƛ Tempo/Tamanho de filas.
ö reqüência de clock - MHZ
ƛ Pode ser UMA medida
ƛ Problemas ƛ É necessário considerar:
ö Arquitetura do processador
ö Velocidade e quantidade de memória
ö Disco
   

$ %&   '
MIPS MPS
Milhões de Instruções Milhões de Instruções de
por Segundo Ponto lutuante por Segundo

- abricantes apresentam números de pico de MIPS


e MPS superiores aos reais, valores obtidos em
situações ideais
- omparação entre máquinas com conjunto de
instruções diferentes ƛ IS X RIS
   

$ %&   '

ö MIPS e MPS são relevantes quando


aplicados em computadores de mesma
arquitetura para análise comparativa
ƛ Apresentam características similares de
hardware e software
ƛ Números de MIPS e MPS mais coerentes
|  (   
  
` uando os resultados dos Ô 
forem
interpretados, deve-se conhecer:
` arquitetura do processador;
` processadores;
` clock;
` arramento;
` memória e caches;
` disco rígido;
` sistema operacional;
` compilador
` etc.
|  (   
  

rolemas...

- Sistemas com configurações diferentes geram


medidas de desempenho diferentes
- Otimização do compilador: influencia
diretamente no desempenho medido
    %    
Sequencial x aralelo
‡ Sequencial
` todas as considerações acima
‡ aralelo
` todas as considerações acima
` poder de processamento não é o único fator
determinante da eficiência. Muito depende do quão
inato é o paralelismo da aplicação, e qual a magnitude
deste paralelismo pode ser explorado pela máquina
Ñ     
‡ Benchmarks mais comums
‡ Whetstone, Linpack, Dhrystone
‡ Outros programas de Ô 

‡ Stanford Small rograms Ô  Set


‡ DN Ô 

‡ Sieve of ratosthenes
‡ Livermore Fortran Kernels
‡ erfect Clu Ô 

‡ SC Ô 

‡ uroBen Ô 

Ñ     
‡ Whetstone
` rimeiro grande programa da literatura escrito
para Benchmarking
` laorado para análise de programação
numérica de ponto flutuante intensivo
` penas a versão ascal é oficialmente
controlada
` resultado: número de loops por segundo
Ñ     
‡ Características do Whetstone
` ossui alto percentual de dados e operações de
ponto flutuante
` lto percentual de tempo de execução é gasto
em funções matemáticas
` o invés de variáveis locais, Whetstone utiliza
muitos dados gloais
å  
 Ranking das melhores máquinas
 hetstone 97
 ltima atualização setembro 2006
 Mips, million whetstones instructions per
second
 http://www.cse.clrc.ac.uk/disco/Benchmarks/whetstone.shtml

&   '(()

 http://homepage.virgin.net/roy.longbottom/whetstone%20results.htm
* %   '((+
x ,   ,    -./('0 ! 12 ,3!&

4' 45 46   

0 ntel oodcrest 3.0GHz 4MBL2 DC 0966 4588 2907 3.3 00560

2 ntel oodcrest 3.0GHz-533 4MBL2 DC 0966 4588 3069 3.3 00450

3 BM eServer p5 570/0.9 0966 0966 0625 6.2 6209

4 SunFire V20 2.2GHz (EKO) 0300 0298 0480 7.7 4496

5 BM eServer p5 575/0.5 0966 0529 0305 7.8 4874

6 AMD Opteron852/2600 (EKO 2.2) 0503 0547 0770 8.0 4488

7 HP DL380 Pentium4/3600 (EM64T) 0966 0720 607 8.4 4408

8 Dell PowerEdge 0850/3600 0MBL2 0966 0720 607 8.4 4350

9 Dell PowerEdge 0850/3600 2MBL2 0966 0720 607 8.5 4370

00 AMD Opteron875/2200 DC (EKO 2.0) 0300 0250 0497 8.6 4543

ÿL = Vector loops
MWS = million whetstones instructions per second
N2,N3 e N8 diferentes instruções de ponto flutuante no loop
Ñ     
‡ Linpack
` Ñrata-se de um M  de Kernel, desenvolvido a
partir do acote Linpack de Rotinas de Álgera Linear
em 1976
` Foi originalmente escrito e muito utilizado em Fortran,
porém possui versão em C
` Solução de uma matriz 100x100 utilizando
decomposição L/ pelo método de liminação de
Gauss (Linpack100)
` Resultado: MFLOS
Ñ     
‡ Características do Linpack
` or ser um enchmark numérico, possui alto
desempenho em operações de ponto flutuante.
` Resultado é mostrado em Mflops/s
` Ñrata-se de um programa pequeno, portanto
muito ágil para ser executado
` Maior capacidade com resolução de matrizes
300x300 e 1000x1000
Ñ     
‡ Dhrystone
` Ô  sintético pulicado por seu autor
Reinhold Weicker da Siemens Nixdorf em
1984
` Dhrystone é aplicável em sistemas não
numéricos com tipos de dados inteiros, como
sistemas operacionais, compiladores, editores
de texto, etc
` Resultado: número de loops por segundo
Ñ     
‡ Características do Dhrystone
` Não analisa operações de ponto flutuante
` rocessadores RSC possuem melhor
desempenho que processadores CSC
` Leva em consideração a localidade dos
operadores
` ara análise de processadores diferentes deve-
se utilizar compilações de mesma linguagem
para o Dhrystone
Ñ     
‡ Livermore Fortran Kernels
` ste M  foi criado em 1970 por F.H.
McMahon
` Consiste de 24 ³kernels³ ou loops de
processamento numérico
` nalisa desempenho de computadores e
compiladores em operações com ponto
flutuante
Ñ     
http://www.osc.edu/supercomputing/computing/metrics.shtml

!     

Livermore Fortran Kernels executado em diferentes


máquinas
Ñ     
‡ Sieve of ratosthenes
` m dos mais famosos para C¶s
` Ñamém conhecido como ³rimes´
` Baseado em cálculo de números primos
`  historicamente importante pela frase:
‡ ³ performance de Sieve of ratosthenes de um compilador
em relação a outro, provavelmente vendeu mais compiladores
para algumas companhias que qualquer outro M  na
história´
Ñ     
‡ Ñhe erfect Ô 
` Destina-se a avaliação de desempenho em
supercomputadores
` Formado por 13 programas de várias áreas da
engenharia e científicas
` ossui mais de 60.000 linhas de código Fortran
Ñ     
‡ uroBen Ô 
‡ Criado pelo uroBen Group (estaelecido em 1990
por um grupo de pessoas que estava preocupada em
oter um perfil de performance em computadores
científicos de alta performance)
‡ déia principal: Caracterizações de performance com
medidas genéricas para computadores de alto
desempenho não podem ser feitas, especialmente
entre arquiteturas vetoriais e paralelas
Ñ     
‡ uroBen Ô 
` Medidas relevantes para avaliação de desempenho em:
(exemplos)
‡ Banco de Dados: Ñransações por segundo
‡ rogramas Científicos: número de operações por segundo
‡ Redes: Ñaxa de transferência
` ortanto, uroBen enfatiza a(s) característica(s)
principais de cada tipo de aplicação em sua análise de
desempenho

http://www.euroen.nl/reports.html
 Ô Ô  reports and Overview of
recent supercomputers
Ñ     
‡ SC Ô 

` SC (System erformance valuation


Cooperative ou Standard erformance valuation
Corporation) fundada em Outuro de 1988 por
pollo, Hewlett-ackard, MS e Sun
Microsystems.
` ossui como meta, realismo de medidas de
sistemas computacionais avançados para a
indústria e educação dos consumidores quanto aos
aspectos de desempenho.
Ñ     
‡ SC Ô 

`
` 


` plicações de lto Desempenho


‡ M e OpenM
` Cliente/Servidor Java
‡ rojetado para medir o desempenho de servidores rodando
aplicações Java
` Mail Servers
‡ Mede desempenho de servidores de e-mail
` Network File Systems
` We Servers
‡ Simula usuários enviando requisições
  
l Ô |    
&  *  $ 
l problemas com M PS e MFLOPs Å não basta somá-
los:
l comunicação;
l balanceamento;
l etc.

l cada tipo de arquitetura Å benchmark específico;

l Exemplos:
l P NG e P NG-PONG:
l utilizados na avaliação de comunicação;
l TTCP:
l avaliação de comunicação usando TCP ou UDP.
å "
‡ Desenvolvido pela Silicon Graphics
‡ Ojetivo: Medir desempenho de software e
hardware de servidores We
‡ ÿersão 2.0.1
‡ Ñesta o servidor We server, incluindo sistema
operacional, C e velocidade de acesso a rede.
‡ Não testa influência da velocidade de acesso ao
disco
‡ rincipais medidas
` Ñmáximo
` Ñempo médio de resposta
å "
‡ rquitetura
` rocessos 
 e
 
ó
computação
distriuída
‡  
ó geram
requisições ao
servidor
‡ 
 ó recolhe
dados e gera um
relatório final
å "
 Carga
Parâmetros de especificação
 Número de clientes ó O O † 0
 Tipo de página ó tamanho e freqüência de acesso
 Número de páginas
 Número de máquinas clientes
Métodos de acesso:
 HTML- retorna um arquivo para o cliente
 CG executa outro programa utilizando o
protocolo Common Gateway nterface
 AP passa a requisição para a Application
Programming nterface
å "
‡ Resultados
 
 
 

ü üü

 
 

ü üüü
ü üü
ü üüü
ü üü
ü üüü
ü üüü
ü üüüü

ü












 
 
‡ Ferramenta para medir o desempenho de servidores
We
‡ Gera várias cargas HÑÑ
‡ rquitetura
` Maior independência do SO
‡ Única thread
‡ Mecanismo próprio de Ñ 
` Ñrês módulos
‡ HÑÑ
` Gerenciamento de conexões
` Geração de requisições http
‡ Geração de carga
` Regras para a geração de requisições
‡ Coleta de estatísticas
 
‡ Carga
` Conexões persistentes e requisições em cascata
` Geradores de carga
‡ Geração de requisições
` Requisições a uma taxa fixa. adrão ó 1 req/con
` Sessões a uma taxa fixa. 1 sessão ó várias rajadas de
requisições. Ñ 8 0.
‡ Geração de RLs
` Seqüência de RLs que devem ser acessadas no servidor.
 
‡ Resultados
R  
R  

*
  

*

**

*

*

*
   
    
 
‡ Resultados
Ñ    


 




   


ü
üü üü üüü
Ñ

 
 
)
 Simula uma coleção de usuários acessando
um servidoreb

‡ rquitetura
` Conjunto de clientes conectados a um servidor We
` Cliente
‡ Conjunto de threads ó especificado pelo usuário
‡ requisições a documentos no servidor
‡ estados ON e OFF
` ON ó transferência de arquivos
` OFF ó tivo e nativo
****
Ôenchmarks podem ser utilizados
para verificar diversos tipos de
sistemas ...
±Servidores Web,
±Ôanco de dados,
±Processadores,
±Redes de comunicação
****
sendo utilizados com diferentes
objetivos...

‡ Codificação de vídeo e edição de


imagens,

‡ Jogos,

‡ Processamento intensivo,

‡ Processamento de textos, etc.


****
Vuerendo avaliar diferentes
características...

‡ Produtividade

‡ Desempenho

‡ Confiabilidade, etc.
!   ***
‡ Escolher o Ôenchmark
adequado,

‡ Aplicar o Ôenchmark de forma


adequada,

‡ Analisar os resultados obtidos


com critério.
Ñ   |