Resultados Benchmark » History » Version 20

« Previous - Version 20/25 (diff) - Next » - Current version
Thiago Paiva, 25 Apr 2013 10:05


Resultados Benchmark

Introdução

Com a aplicação da virtualização de hardware, mostrou-se necessário haver alguma forma de comparação entre o desempenho dessas máquinas com aquelas que não utilizam esse recurso. Isso é importante pois dessa forma pode-se mensurar qual é a sobrecarga que o sistema de virtualização provoca em condições correlatas e também para mensurar o desempenho de máquinas que só se tornaram possíveis com a virtualização.

Existem tipos diferentes de benchmark como o usado no TOP500 (top500.org) e no Graph500 (graph500.org). Cada um mensura características diferentes do computador.

Benchmark

Benchmark é a normalização de determinados procedimentos de forma a tornar possível a comparação entre eles.

são métodos de avaliação do desempenho de computadores, sejam eles máquinas reais ou virtuais, de forma que seja possível compará-los.

Para ta comparação de a padronização das operações executada bem determinadas de forma a se conseguir mensurar o desempenho delas e tornar possível compará-los.

LINPACK Benchmark

LINPACK Benchmark é um sistema de avaliação do poder computacional de computadores, utilizando ponto flutuante. Para isso, mede-se a velocidade de resolução de um sistema linear de equações n x n do tipo ''Ax = b''.

Será utilzado o HPLinpack que possibilita o teste da paralelização de computadores, em que o tamanho do problema pode ser definido de acordo com a disponibilidade de recursos de forma a fazer uso da plena capacidade das máquinas.

Os seguintes resultados são mostrados para cada teste:

'''R_max:''' a performance em Gflops/s para o maior problema executado
'''N_max:''' o tamanho do maior problema executado
'''N_{1/2}:''' o tamanho do problema para quando metade da '''R_max''' foi atingida.
'''R_peak:''' o pico teórico de performance.

Parâmetros utilizados

Os parâmetros utilizados foram obtidos a partir do software [hpl-calculator | http://hpl-calculator.sourceforge.net/] e seguem as seguintes especificações:
  • Número de nós equivale ao número de máquinas a serem utilizadas: 1 ou 4.
  • Número de cores é o número de núcleos de processamento em cada um dos nós: 8 (sem hyper-thread) ou 16 (com hyper-thread).
  • Velocidade por core: 2.67.
  • Quantidade de memória por nó: 6GB.
  • Operações por ciclo: 4.
Das indicações feitas pelo hpl-calculator, escolhemos:
  • P x Q aproximadamente iguais
  • NBs entre 96 e 256.
  • N entre 80 e 94%

Dos resultados:

Após realizar os testes com os valores escolhidos anteriormente, obtém-se:

  • valor ótimo de N e NB a partir do pico real de performance.
  • comparação direta entre os desempenhos das máquinas em condições correlacionadas:
    • influência do recurso de Hyper-Threading
    • influência da escolha da Matriz P x Q (quadrada e linear)
    • máquina virtual x máquina real

Nomenclatura

Cada teste é armazenado na máquina 00 em /opt/hpl/ utilizando um diretório cujo nome indica a qual teste pertence. Esse nome é composto por abreviações seguidas por valores:

  • hw: número de máquinas reais
  • vm: número de máquinas virtuais
  • ht: hyper-thread ativo ou não.

Exemplos

  • hw4ht0: teste com quatro máquinas reais sem hyper-threading
  • hw1ht1: teste com uma máquina real com hyper-threading
  • mv1ht0: teste com uma máquina virtual sem hyper-threading

Instruções para teste de "single"

  • criar diretório e acessá-lo para receber informações do teste. O nome do diretório deve obedecer a nomenclatura estabelecida.
    ~$ mkdir <nome>
    ~$ cd <nome>
    
  • copiar os arquivos necessários para o diretório recém criado
    ~$ cp -r /opt/hpl/* .
    
  • modificar o arquivo "HPL.template" nos quesitos P e Q
    ~$ vim hpl-files/HPL.template
    
  • editar o script "generateFile.pl" e alterar os parâmetros Ns e NBs
    ~$ vim hpl-files/generateFile.pl
    
  • executar script "generateFile.pl" para gerar arquivos de entrada
    $ perl hpl-files/genereteFile.pl
    
  • modificar "runme-single.sh" no quesito número de cores (NUMBER_CORES)
    ~$ vim hpl/runme-single.sh
    
  • executar runme-single.sh
    ~$ hpl/runme-single.sh
    

Testes:

Máquina Real com HT Vs Máquina Real sem HT

Matriz QxP quadrada vs Matriz QxP Linear

Busca pelo maior número de operações por segundo em uma unica máquina sem HT - Variação do uso de memória

Busca pelo maior número de operações por segundo em 4 máquinas sem HT - Variação do uso de memória

NBvsTimevsGflops.png (8.09 KB) Raphael Cóbe, 16 Apr 2013 12:05

NBvsTimevsGflops.png (7.1 KB) Raphael Cóbe, 16 Apr 2013 12:12

NBvsTimevsGflops-Comparison.png (7.43 KB) Raphael Cóbe, 16 Apr 2013 12:16

NBvsTimevsGflops-2x8.png (6.67 KB) Raphael Cóbe, 16 Apr 2013 12:36

NBvsTimevsGflops-Comparison1x16HTvs2x8HT.png (8.3 KB) Raphael Cóbe, 16 Apr 2013 12:36

Also available in: PDF HTML TXT