Resultados Benchmark » History » Version 22

Version 21 (Thiago Paiva, 25 Apr 2013 10:06) → Version 22/25 (Raphael Cóbe, 29 Apr 2013 11:08)

h1. Resultados Benchmark

h2. 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.

h3. Benchmark

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

h3. 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.

h3. 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%

h3. 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

h2. 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.

h3. 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

h2. 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.
<pre>
~$ mkdir <nome>
~$ cd <nome>
</pre>

* copiar os arquivos necessários para o diretório recém criado
<pre>
~$ cp -r /opt/hpl/* .
</pre>

* modificar o arquivo "HPL.template" nos quesitos P e Q
<pre>
~$ vim hpl-files/HPL.template
</pre>

* editar o script "generateFile.pl" e alterar os parâmetros Ns e NBs
<pre>
~$ vim hpl-files/generateFile.pl
</pre>

* executar script "generateFile.pl" para gerar arquivos de entrada
<pre>
$ perl hpl-files/genereteFile.pl
</pre>

* modificar "runme-single.sh" no quesito número de cores (NUMBER_CORES)
<pre>
~$ vim hpl/runme-single.sh
</pre>

* executar runme-single.sh
<pre>
~$ hpl/runme-single.sh
</pre>

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 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]]