Resultados Benchmark » History » Version 24
Version 23 (Raphael Cóbe, 29 Apr 2013 11:52) → Version 24/25 (Raphael Cóbe, 03 May 2013 11:38)
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:
[[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]]
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:
[[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]]