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