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.

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:

4 Máquinas Reais Vs 4 Máquinas Virtuais

1 Máquina Real Vs 1 Máquina Virtual

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 uma unica máquina virtual - 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

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

Testes Fase 2:

2 máquinas virtuais em uma máquina real - Variação do uso de memória
4 máquinas virtuais em uma máquina real - Variação do uso de memória
8 máquinas virtuais em uma máquina real - Variação do uso de memória

4 máquinas virtuais em duas máquinas reais - Variação do uso de memória

8 máquinas virtuais em duas máquinas reais - Variação do uso de memória

16 máquinas virtuais em duas máquinas reais - 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