Você está na página 1de 3

Benchmark de Sistemas de Alto Desempenho

Henrique Lucas Frana Cincia da Computao - 2/B, Universidade Cruzeiro do Sul 23 de agosto de 2012

Introduo
Em computao, benchmark o ato de executar um programa de computador, um conjunto de programas ou outras operaes, a m de avaliar a performance relativa de um objeto, normalmente executando uma srie de testes padres e ensaios nele.

Para se efetuar a comparao entre dois sistemas computacionais, utilizado o benchmark. Vejamos a denio encontrada na Wikipdia :

Portanto, para realizar os referidos testes, necessrio que se utilize um modelo ocial de comparao. Antes de vermos esses padres vejamos primeiro as unidades de medida empregadas.

2
2.1

Unidades de Medida
MIPS

Como unidade de medida temos, mais comumente, o


MIPS

eo

FLOPS

(acrnimo de Millions of Instructions Per Second, milhes de instrues por segundo, em ingls) uma unidade de desempenho que mede, como o nome indica, a quantidade de instrues que um processador realiza por segundo. MIPS dependente do conjunto de instrues da CPU, tornando difcil a comparao entre duas arquiteturas diferentes. Tomemos como exemplo:
MIPS

Dados dois processadores com conjuntos de instrues distintas, A e B ; sendo que A possui uma taxa de MIPS superior a B . No podemos dizer, necessariamente, que A realize uma determinada operao de forma mais rpida que B se, por exemplo, A utilizar mais instrues para realizar a mesma tarefa que B .
2.2 FLOPS

(acrnimo de Floating-point Operations Per Second, operaes de ponto utuante por segundo, em ingls) outra unidade de desempenho que indica a quantidade de operaes de ponto utuante realizadas por um processador. Trata-se de uma unidade de medida que mede apenas a velocidade do processador, no reetindo a desempenho do computador, visto que no contabiliza a performance de entrada/sada nem o desempenho da memria. No caso de testes que utilizem como unidade o FLOPS no so contabilizadas as instrues de ponto utuante e sim operaes, justamente para evitar-se comparaes injustas entre mquinas com instrues diversas. Por exemplo:
FLOPS

Operaes de soma; Operaes de subtrao; Operaes de multiplicao; Operaes de diviso; Operaes de preciso simples; Operaes de preciso dupla, etc.
2.2.1 Mltiplos
103 106 109 1012 1015 1018 1021 1024

FLOPS Denominao

kiloFLOPS

megaFLOPS

gigaFLOPS

teraFLOPS

petaFLOPS

exaFLOPS

zettaFLOPS

yottaFLOPS

3
3.1

Benchmarks
Computadores convencionais

Para avaliao de desempenho em computadores convencionais, h uma innidade de aplicativos que realizam esta tarefa, entre os quais podemos citar:
Cinebench; PassMark - CPU Mark; PCMark; SiSoftware Sandra; Whetstone; Dhrystone; Fhourstone; SPEC CPU 2006, entre outros.
3.2 Supercomputadores

Os supercomputadores diferem dos computadores pessoais de diversas formas. Eles normalmente possuem centenas, milhares ou at mesmo milhes de processadores e diferentes arquiteturas de memria. Sua construo tambm permite que todas as operaes sejam realizadas de forma paralela , fazendo assim com que vrios processadores trabalhem em cima de uma mesma tarefa. Uma aplicao tpica para supercomputadores envolve a multiplicao de longos vetores ou matrizes, sendo algo paralelizvel. Assim, no nenhuma surpresa que a maioria dos benchmarks aplicados a essa categoria de computadores executem este tipo de computao. Vejamos uma lista com os mais comuns e, em seguida, uma descrio do benchmark utilizado para determinar o ranking dos supercomputadores mais rpidos do mundo:
LINPACK;

LAPACK; Lawrence Livermore Loops; NAS Parallel Benchmarks; HPL.


3.2.1 TOP500 e o HPL

O Top500(http://top500.org) um projeto criado em Junho de 1993 que visa listar os 500 supercomputadores com maior desempenho do mundo. A lista com o ranking publicada duas vezes ao ano. Atualmente utilizado o benchmark LINPACK, mais especicamente o HPL (HighPerformance Linpack Benchmark for Distributed-Memory Computers ), para realizao de medidas. O HPL uma implementao portvel do benchmark Linpack amplamente utilizada para sistemas paralelos. O benchmark resolve um sistema linear aleatrio em preciso dupla (64 bits) em sistemas de memria distribuda. Inicialmente, o Linpack era um pacote de sub-rotinas com o objetivo de resolver sistemas de equaes algbricas lineares, encaixando-se na categoria de benchmark do tipo algoritmo. Ele contm dois conjuntos de rotinas:
Decomposio de matrizes; Resoluo do sistema de equaes lineares resultantes da decomposio.

De todas as sub-rotinas do pacote, a mais utilizada a saxpy, que consome a maior parte do tempo de execuo do programa. Ela contm somente 15 linhas de cdigo, de baixo nvel lidando com vetores unidimensionais. As rotinas de alto-nvel utilizam-na diversas vezes, sendo que estas lidam com vetores bidimensionais. Visto que as operaes mais utilizadas em supercomputadores so do tipo ponto-utuante, nada mais natural que o benchmark utilizar esse tipo de dado. Os resultados fornecidos pelo HPL usam como unidade-base o Gigaops .

Referncias
http://www.cse.wustl.edu/~jain/cse567-06/ftp/processor_workloads/index.html http://www.clubedohardware.com.br/ http://top500.org/ http://www.netlib.org/benchmark/hpl/ http://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_de_alto_desempenho http://es.wikipedia.org/wiki/Linpack http://pt.wikipedia.org/wiki/FLOPS