CAPA | Benchmarks
Proibições, falhas e trapaças em benchmarks
CAPA
O que dizem os números
A melhor referência para uma decisão de compra são testes e benchmarks
de fontes confiáveis. Quem não acredita em propagandas, mas prefere
testar por si próprio e publicar os resultados, acaba caindo em um campo
minado de licenças, proibições de teste e trapaças dos fabricantes.
por Mirko Dölle
Jean Scheijen - www.sxc.hu
A
indústria investe muito em propaganda para convencer os consumidores dos benefícios de seus produtos, não se envergonhando de algumas
meias-verdades e exageros. No campo da
Informática, não basta folhear o prospecto e os dados técnicos de um fabricante
para tomar a melhor decisão de compra.
Outras fontes também costumam ser úteis,
como artigos ou os próprios benchmarks
– nos quais os testes requerem uma boa
preparação para mais tarde adquirirem
significado e confiabilidade.
Sem exageros, podemos falar que
existe uma relação de amor e ódio dos
fabricantes de software e hardware com
os bechmarks. Em relação a produtos
muito parecidos, como por exemplo
impressoras jato de tinta, os fabricantes
não conseguem ultrapassar as características de seus concorrentes. Caso exista
algum teste comumente conhecido, o
fabricante poderá anunciar sua vitória
ou boa colocação nos resultados através
de um logotipo, e com isso o produto
alcança grande reconhecimento com a
publicação do teste.
O benchmark padrão da Linux Magazine para o teste de placas de vídeo de
34
workstations é o SPEC Viewperf Suite [1].
Seu ponto forte é utilizar dados reais de
usuários para o teste dos populares programas de CAD e renderização: o fabricante SPEC captura os dados gráficos de
programas como Catia, Pro/ENGINEER
(figura 1) e Maya (figura 2) diretamente
dos drivers da placa de vídeo, e salva seus
resultados como testes.
A Viewperf Suite transfere apenas esses dados, com velocidade máxima, para
a placa de vídeo – portanto, a CPU do
computador não precisa se ocupar com
os complexos cálculos 3D dos programas
de CAD. Com a Viewperf Suite também
pode ser testado e comparado o desempenho de vídeo em diferentes sistemas
operacionais, independentemente de a
aplicação base ter sido portada para o
respectivo sistema.
Placas diferentes
As taxas de atualização em jogos foram
testadas pela Linux Magazine International, no passado, com os Demo-Levels
de Quake 3 Arena e Parsec. Dois valores
fornecidos com diferentes programas
de teste ajudam a conduzir qualquer
manipulação em drivers. Assim, no ano
de 2001, a ATI “otimizou” o driver para
o processador Radeon 8500: conhecendo a seqüência de demonstração do
Quake, o driver diminui a qualidade de
imagem, produzindo assim melhores
resultados [2].
A Nvidia também não é, de forma alguma, inocente: em 2003 a Futuremark
denunciou a fraude ao fabricante de placa
de vídeo: o driver descobria seqüências
especiais do 3D Mark-Bench e substituia
algumas seqüências de comandos, de
modo que no fim foi obtida apenas uma
parte da imagem com profundidade de
cor reduzida, o que aumenta drasticamente a resolução.
Para o teste dos demais componentes
e serviços de um sistema, são necessários
outros bechmarks especializados. A Standard Performance Evaluation Corporation
(SPEC [1]) possui uma série de suítes de
benchmark prontas; no entanto, algumas
rodam apenas no Windows®. Uma das
excessões, junto com a Viewperf Suite,
é a CPU Suite, claramente melhor indicada para avaliação da capacidade do
computador do que o método preferido
atualmente, o tempo de compilação do
http://www.linuxmagazine.com.br
Benchmarks | CAPA
Figura 1: A SPEC Viewperf Suite utiliza dados de teste bem próximos da realidade. O fabricante
retira comandos gráficos de programas conhecidos como, por exemplo, o programa
de construção Pro/ENGINEER...
kernel como medida da velocidade do
computador.
O tempo que um determinado computador necessita para traduzir o kernel,
no entanto, é estável, e quase não sofre
influência de circunstâncias como a
taxa de transferência de dados do disco
rígido ou a fragmentação do sistema de
arquivos. Nem mesmo para comparações
com testes anteriores ou com diferentes
arquiteturas de processadores a compilação do kernel é útil; as diferenças entre o
kernel atual e a versão de um ano atrás,
por exemplo, são muito grandes. Além
disso, o próprio compilador também sofre
constante aperfeiçoamento.
Por último, a configuração padrão
do kernel está em constante mudança,
e sempre são adicionados novos módulos. Por isso, os tempos de compilação
do kernel só podem ser comparados
quando dois computadores compilam
o mesmo kernel com as mesmas opções
de configuração, o mesmo compilador e
a mesma plataforma.
Precisão enganosa
O volume de dados do disco rígido local
é informado pelo FS-Bench [3], que se
baseia nos valores medidos por ambos os
benchmarks de disco rígido Bonnie++ [4]
e Iozone [5]. Como muitos outros programas de benchmark, esses dois informam
valores de medição com várias posições
depois da vírgula. Entretanto, essa suposta
precisão é enganosa: serviços que rodam
Linux Magazine #27 | Fevereiro de 2007
marks livres, mas até o momento surgiram ao todo apenas quatro benchmarks
de banco de dados [7], que cobrem cenários de aplicação variados, desde livrarias on-line a sistemas de mercadorias de
um grande atacadista. As especificações
dos benchmarks da OSDL se orientam
pelos renomados testes comerciais TPCW, TPC-C, TPC-H e TPC-App do Transaction Processing Performance Council
(TPC) [8].
Com o benchmark do MySQL, temos um segundo teste independente à
disposição. É importante ressaltar, no
entanto, que ele tira pouco proveito de
sistemas multiprocessados; portanto, é
indicado somente para o teste com computadores monoprocessados. Quem fizer
testes com o benchmark do MySQL em
sistemas multiprocessados estará sujeito
a fortes objeções por parte do fabricante
do processador e dos outros componentes do sistema.
Testes proibidos
paralelamente em segundo plano sempre
causam erros de medição que podem ser Implicações jurídicas ameaçam aqueles
detectados através da repetição dos testes. que não observam as condições de licença
Na prática, a diferença entre as taxas de para benchmarks e aplicações. Por exemtransferência são de apenas poucos KB plo, a VMware, fabricante do programa
por segundo. Isso também deve ser re- de virtualização de mesmo nome, proíbe
fletido em uma tabela e um gráfico, nos a publicação de resultados de testes de
quais arredondamos os valores relevantes praticamente todos os seus produtos, que
para MB inteiros por segundo ou para não tenham sido previamente conduzi1% do valor.
dos e liberados pelo fabricante.
Por um lado, isso equivale a uma
Para testes com servidores de arquivo,
o Dbench e o Tbench, da suíte de testes censura de imprensa, constituindo um
do Samba, já estão estabelecidos. Ambos potencial para inúmeras controvérsias,
são escaláveis para sistemas multiproces- pois até mesmo a declaração de que
sados, e por isso foram
utilizados pela Linux
Magazine International [6] para a comparação do primeiro servidor Dual-Opteron com
um Dual-Xeon (figura 3).
Assim como em outros
benchmarks de rede, na
suíte de testes do Samba
é obrigatório que o cliente e o servidor trabalhem
em uma rede de testes
própria, para eliminar as
interferências e a perda
de largura de banda devido ao tráfego de rede
de outros computadores
na mesma rede.
O Open Source Development Lab (OSDL) Figura 2: ...ou o programa de renderização Maya, diretamente do driver de placa
de vídeo. O computador de teste deve transmitir os comandos gráficos ao
trabalha há alguns anos
driver com máxima velocidade.
em uma série de bench-
35
CAPA | Benchmarks
Medidas perfeitas
Dbench
1400
Taxa de Transferência [MB/s]
1300
1200
1100
1000
900
800
700
Dual-Opteron 1,3 GHz (32 Bit)
600
Dual-Opteron 1,3 GHz (64 Bit)
Quad-Opteron 1,8 GHz (32 Bit)
500
400
Quad-Opteron 1,8 GHz (64 Bit)
300
Dual-Xeon 2,8 GHz
200
Quad-Xeon 2,8 GHz
Pentium4 3.0 GHz
100
Athlon XP 3000+
0
0
16
32
48
64
80
Número de clientes
96
112
128
Figura 3: O conjunto de programas de testes do Samba possui o Dbench e o Tbench, dois benchmarks de rede
que escalonam bem em sistemas multiprocessados.
um deteminado programa roda mais
rápido ou mais lentamente em uma
nova versão pode ser o resultado de um
benchmark.
A SPEC também formulou nas
licenças de uso de seus benchmarks
gratuitos algumas exigências mínimas
que devem ser respeitadas pelos realizadores de testes, em relação à publicação dos resultados. Elas dizem respeito,
em sua maioria, à documentação das
condições de teste, bem como à obrigatoriedade de disponibilização de alguns arquivos de teste e configuração
quando solicitado, para que a SPEC
ou uma empresa sem fins lucrativos
possa verificar as medições. Para que
essa avaliação possa acontecer de maneira independente, a SPEC requer até
mesmo que o hardware testado esteja
disponível em local público, e no caso
de protótipos, deve ser fornecida ao
menos a disponibilidade prevista.
Na interpretação dos resultados, independentemente de qual benchmark
tenha sido utilizado, em geral é necessário
prestar atenção; quem tiver, por exemplo,
atribuído a responsabilidade por um resultado a algum componente específico
da máquina deve se certificar da veracidade dessas informações. Por exemplo,
é fundamental garantir que a CPU não
esteja trabalhando no modo de economia de energia devido a configurações
incorretas do daemon de gerenciamento
de energia. O equipamento como um
todo também deve estar dimensionado
de forma correta: um computador que
não consiga disponibilizar nem 60 MB
de dados de teste por segundo, por exemplo, não é apropriado para informar a
taxa de transferência de dados máxima
de sistemas RAID. Esse tipo de engano
invalida totalmente qualquer medição
efetuada no equipamento.
36
Verificação
Alguns fabricantes relutam em aceitar resultados ruins, e contestam-nos.
Para testes na imprensa e em empresas, quando um importante contrato
está em jogo, é necessário que cada
fabricante verifique os critérios e procedimentos do teste. A Lexmark, por
exemplo, exige, em todas as avaliações de impressoras, os documentos
de teste utilizados e a configuração
do aparelho.
Nesses casos, aqueles que não estiverem aptos a fornecer a documentação
detalhada das condições de teste, dos
arquivos de configuração e dos dados
utilizados, acabam perdendo a possibilidade de confirmar suas suposições.
A obrigatoriedade da documentação
se aplica também a usuários particulares que publicarem em suas páginas
pessoais resultados de benchmarks
de seus computadores. Caso atestem
que, por exemplo, uma multifuncional tenha um scanner lento, devem
poder reproduzir esses resultados com
segurança. Do contrário, o fabricante poderia acusá-los de difamação ou
solicitar uma retratação.
Os limites de toner e tinta informados no teste prático diferem necessariamente em até 50 porcento
dos valores do fabricante, mesmo em
aparelhos para uso profissional. Em
testes realizados pela Linux Magazine alemã [9], duas impressoras laser
Lexmark e aparelhos multifuncionais
chegaram somente a cerca de 24.000
páginas, contra as 32.000 informadas,
com um toner cheio. Nas empresas,
entretanto, os custos de operação têm
importância decisiva, visto que a longo
prazo ele é mais alto que o preço de
aquisição dos equipamentos.
Mesmo tomando todos os cuidados necessários, nunca se deve esquecer, ao se
realizar um teste, de que os resultados
nem sempre contam toda a verdade. No
caso de computadores, existem tantas
variáveis em uma medição que é praticamente impossível calcular um erro
de medição de forma exata. Além disso,
é nos detalhes que mora o perigo: mal
se percebe, num teste de discos rígidos,
a execução de um updatedb por parte de
um cronjob. A taxa de transferência de
dados medida pelo Bonnie, nesse caso,
torna-se inaplicável, e a medição deve
ser repetida – o que o realizador do teste
deveria notar logo de início.
Considerando esse cuidado, a desativação de todos os serviços desnecessários e o monitoramento das tabelas de
processos durante o teste são requisitos
fundamentais para os testes amadores.
Portanto, apenas quem faz testes pode
chegar à melhor decisão de compra e não
ter aborrecimentos com o fabricante no
campo minado dos benchmarks. ■
Mais Informações
[1] Benchmarks SPEC:
http://www.spec.org
[2] Scott Wason, “How ATI’s Radeon 8500
drivers ‘optimize’ Quake III”:
http://techreport.com/
etc/2001q4/radeon-q3/
[3] Benchmark de sistemas de arquivos
em Linux:
http://fsbench.netnation.com
[4] Bonnie++, benchmark de disco rígido:
http://www.coker.com.au/bonnie++
[5] Iozone, benchmark de sistema de
arquivos:
http://www.iozone.org
[6] Mirko Dölle e Timmo Hönig, ”Linux
Sledgehammer” (Comparativo Dual
Opteron versus Dual Xeon, em inglês):
http://www.linux-magazine.
com/issue/39/AMD_Opteron.pdf
[7] Benchmarks de bancos de dados do
OSDL:
http://www.osdl.org/lab_
activities/kernel_testing/
osdl_database_test_suite/
[8] Benchmarks comerciais do TPC:
http://www.tpc.org
[9] Mirko Dölle, ”Bussiness Class”,
Linux Magazine Alemanha
10/2006, pg.86 (em alemão)
http://www.linuxmagazine.com.br
Download

O que dizem os números